esquiso
Power Member
Ora bem, o que é este protocolo e como surgiu?
O XMPP é um protocolo de mensagens instantâneas e de informação de presença baseado em XML, completamente livre, tornando-o tão extensível que já existem quase 250 extensões oficias ao protocolo. Neste momento é um open standard, sendo possível a qualquer pessoa com uma ligação à Internet e um domínio criar um servidor próprio e comunicar com pessoas noutros servidores (à semelhança do e-mail, por exemplo).
A origem do XMPP remonta a 1998, altura em que Jeremie Miller começou a escrever as primeiras linhas do projecto. Entre 1999 e 2000, a comunidade Jabber trabalhou a fundo no projecto, sendo finalizado por um grupo da Internet Engineering Task Force (IETF, uma comunidade que desenvolve e incentiva standards para a Internet), culminando com a saída das RFC para o público em 2004.
Para que serve e que exemplos existem?
O objectivo principal do XMPP é ser um protocolo aberto de troca de mensagens via internet de forma instantânea, juntado-lhe a informação de presença. No entanto, a flexibilidade é um ponto forte do XMPP. É possível controlar uma rede, jogar, fazer chats para pessoas que não estão na nossa lista de contactos, e mais umas coisinhas.
Os exemplos mais famosos da implementação do XMPP são o Google Talk e o Gizmo Project. De facto, aquela caixinha que vemos por defeito no Gmail não é mais do que uma interface web para o XMPP. É também conhecido o apoio do Google ao XMPP, sendo eles os autores da libjingle, que permite VoIP no XMPP.
E como funciona?
Ora, o processo é bastante simples. Tem de haver obrigatoriamente dois utilizadores a trocar dados e um ou mais domínios com um servidor XMPP a correr. Ora, o utilizador X com a conta no dominio Z.pt vai conversar com o utilizador Y, que tem conta no domínio A.eu. Isto num esquema muito simples, vai-se passar assim:
O utilizador X vai enviar dados para o servidor presente em Z.pt, que os vai reenviar para o servidor A.eu, que os redirecciona para o utilizador Y. Tão simples quanto isto.
E quais as principais características do XMPP?
- Prioridades/Resources - a meu ver, este é o enorme ponto forte do XMPP. Ao contrario de outros protocolos, é possível uma mesma conta ligada em clientes diferentes. Para tal, basta atribuir-lhe um resource (exemplo: [email protected]/Home , [email protected]/Mobile , [email protected]/work , [email protected]/PDA , and so on). Paralelamente, vamos atribuir uma prioridade numérica a cada um dos resources (exemplo, 7 para o [email protected]/Home e 8 para o [email protected]/work). Quando o servidor no j.com receber uma mensagem destinada ao utilizador "e", irá encaminha-la para o resource que tiver maior prioridade (neste caso, o "work").
- Descentralização - Como foi dito acima, qualquer pessoa com um domínio e uma ligação à Internet pode ter um servidor. Isto leva a que, no caso de o servidor estar em baixo, apenas as pessoas ligadas a ele sejam afectadas, e não toda a gente a usar esse protocolo.
- Transports - ora, esta é uma feature bastante interessante no XMPP. Basicamente, permite que, através da ligação a um servidor próprio, que estará a correr uma extensão do XMPP, os contactos que estejam nos servidores de outros protocolos (MSN, ICQ, AIM, etc) sejam incorporados na nossa lista de contactos. Neste momento, ainda é uma tecnologia com alguns erros, mas num futuro, poderá evoluir. Cria também uma pequena lentidão, pois há mais um servidor no meio (o gateway).
Muito rapidamente é isto. Deixo-vos agora com uma série de links para quem quiser mais, para além dos que já deixei no texto:
- http://en.wikipedia.org/wiki/List_of_Jabber_client_software
- http://en.wikipedia.org/wiki/XMPP
- http://www.xmpp.org/
- http://www.jabber.org/
- RFC 3920
- RFC 3921
- RFC 3922
- RFC 3923
Eu sou um user do XMPP, e dos satisfeitos. Tentem, não morde ninguém
Última edição: