Erro de script: Nenhum módulo desse tipo "sidebar".
Extensible Messaging and Presence Protocol (XMPP) (conhecido anteriormente como Jabber[1]) é um protocolo aberto, extensível, baseado em XML, para sistemas de mensagens instantâneas, desenvolvido originalmente para mensagens instantâneas e informação de presença formalizado pelo IETF. Softwares com base XMPP são distribuídos em milhares de servidores através da internet, e usados por cerca de dez milhões de pessoas em todo mundo, de acordo com a XMPP Standards Foundation.[2]
Introdução
Jeremie Miller iniciou o projecto Jabber em 1998; a principal versão pública ocorreu em Maio de 2000. O produto principal do projecto é o jabberd, um servidor em que os clientes XMPP se ligam para comunicar. Este servidor pode criar uma rede privada XMPP (por detrás de um firewall, por exemplo) ou pode se juntar à rede XMPP global e pública. o XMPP surgiu como alternativa aos protocolos fechados de comunicação predominantemente utilizados em aplicações com ICQ, MSN Messenger, etc. Por ser um protocolo aberto, o desenvolvimento de aplicações que fazem uso do mesmo pode ser feito sem a necessidade de permissões especiais ou pagamento de royalties.
Um conceito chave do sistema XMPP são os transportes, também conhecido como gateways, que permite aos utilizadores acederem a redes usando outros protocolos - tais como o AIM, o ICQ (usando o OSCAR), MSN Messenger e Windows Messenger (usando o .NET Messenger Service), SMS ou E-mail. Ao contrário dos clientes de multiprotocolo, como o Trillian ou Pidgin, XMPP fornece este acesso no nível de servidor comunicando via serviços especiais de gateway em um computador remoto. Qualquer utilizador XMPP pode se registrar com uma destas gateways fornecendo a informação necessária para aceder a essa rede, e pode então comunicar-se com os utilizadores dessa rede como se fossem utilizadores de XMPP. Isto significa que qualquer cliente que suportar inteiramente o protocolo XMPP pode ser usado para aceder a qualquer rede em que exista uma gateway, sem necessitar de código extra no cliente.
Por ser um padrão aberto, o XMPP favorece a interoperabilidade. Usuários podem escolher a aplicação que mais lhe convém desde que ela compreenda o protocolo. Existem diversas aplicações que usam XMPP como Pidgin, Miranda, Kopete, Adium, etc.
Jabber, agora administrado pela XMPP Standards Foundation (conhecido anteriormente como Jabber Software Foundation), foram aceitas pela IETF como padrão sob o nome XMPP, com RFC número 3920. É frequentemente considerado como estando na competição com o SIMPLE, baseado no protocolo do SIP, como protocolo padrão da notificação de presença e de instant messaging; no entanto, o design do XMPP tem por finalidade fornecer uma plataforma de interface mais geral entre aplicações.
Em agosto de 2005, a empresa Google lançou o Google Talk, baseado em XMPP, o que ajudou a popularizar o protocolo, em função da grande quantidade de usuários deste produto. Mais tarde o protocolo continuou sendo usado nos outros serviços de comunicação da empresa, mais precisamente, os serviços de comunicação instantânea embutidos no Gmail e Orkut.
Clientes XMPP
XMPP apenas
Nome | Plataforma | Licença |
---|---|---|
Akeni Jabber Client | Multi-plataforma | Proprietária, gratuito para uso não-comercial |
Coccinella | Multi-plataforma | GPL |
Exodus | Windows | GPL |
Gabber | Linux/Unix, Gnome | GPL |
Google Talk | Windows | Proprietária, gratuito |
Gossip | Linux/Unix, Gnome | GPL |
Jabbear Web and desktop Messenger | Windows, Web | Proprietária |
Jabber Instant Messenger | Windows | Proprietária |
JabberFox | Mac OS X | BSD |
Jabbin | Linux/Windows | GPL |
JAJC | Windows | Proprietária |
JBother | Java | GPL |
Jeti | Java | GPL |
Nitro | Mac OS X | GPL |
Pandion | Windows | GPL |
Psi | Multi-plataforma | GPL |
Tkabber | Multi-plataforma | GPL |
Gajim | Multi-plataforma | GPL |
Multi-protocolo, com suporte XMPP
Nome | Plataforma | Licença |
---|---|---|
Adium | Mac OS X | GPL |
Bitlbee via IRC | Multi-plataforma | Freeware |
Centericq | Multi-plataforma | GPL |
Empathy | Linux/Unix, Gnome | GPL |
Fire | Mac OS X | GPL |
Jitsi | Multi-plataforma Windows, Mac OSX, Linux e outros) | LGPL |
Pidgin | Multi-plataforma | GPL |
Gush | ? | Creative Commons |
Kopete | Linux/Unix | GPL |
Miranda IM | Windows | GPL |
Trillian | ? | Proprietária |
SIM | Multi-plataforma | GPL |
Spark | Multi-plataforma | GPL |
Servidor Multi-protocolo, com suporte XMPP
Nome | Plataforma | Licença |
---|---|---|
DJabberd | Multi-plataforma | GPL |
ejabberd | Multi-plataforma | GPL |
iChat Server | Mac OS X | GPL |
jabberd14 | Multi-plataforma | GPL |
jabberd2 | Multi-plataforma | GPL |
Openfire | Multi-plataforma | Apache License |
Prosody | Multi-plataforma | MIT |
psyced | Multi-plataforma | GPL |
Tigase | Multi-plataforma | GPL |
Exemplo de comunicação cliente-servidor usando o protocolo XMPP
Um cliente (kuusipuu) se liga a um servidor XMPP (amessage.de porta 5222/tcp), envia uma mensagem (Assunto: "teste 1449" e Corpo: "teste 1449") a um outro cliente (tero) e se desliga.
kuusipuu:
<?xml version="1.0"?> <stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" to="amessage.de">
amessage.de:
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' from='amessage.de' id='1461777714'>
kuusipuu:
<iq type="set" id="auth_2" to="amessage.de" > <query xmlns="jabber:iq:auth"> <username>kuusipuu</username> <password>mypassword</password> <resource>Work</resource> </query> </iq>
amessage.de:
<iq from="amessage.de" id='auth_2' type='result'/>
kuusipuu:
<message to="[email protected]" > <subject>teste 1449</subject> <body>teste 1449</body> </message> <presence type="unavailable" > <status>Logged out</status> </presence> </stream:stream>
amessage.de:
</stream:stream>
Referências
- ↑ «Jabber Inc. - About Us». Consultado em 14 de setembro de 2009. Arquivado do original em 3 de julho de 2007
- ↑ «Fast-Growing Open Network Overtakes IM Originator». Consultado em 11 de setembro de 2009. Arquivado do original em 3 de novembro de 2007
Ligações externas
- XMPP Standards Foundation (inglês)
- Lista de servidores XMPP públicos (inglês)