Protocolo de Presença e de Mensagem Extensível,do inglêsExtensible Messaging and Presence Protocol (abreviadoXMPP, conhecido anteriormente comoJabber[1]), é um protocoloaberto e extensível criado em2000 por Jeremie Miller, baseado na linguagem de marcaçãoXML para mensageiros instantâneos (sistemas de comunicação emtempo real), desenvolvido originalmente paramensagens instantâneas e informação de presença, formalizado pelo grupo internacional "Força Tarefa de Engenharia de Internet" (IETF). Uma alternativa aos protocolos fechados de comunicação (como por exemplo noICQ).
Aplicações desoftware com XMPP são distribuídas por milhares de servidores através da Internet e utilizadas por milhões de pessoas em todo o mundo, de acordo com a XMPP Standards Foundation.[2]
Jeremie Miller iniciou o projecto Jabber em1998; a principal versão pública ocorreu em Maio de2000. O produto principal do projecto é ojabberd, um servidor em que os clientes XMPP se ligam para se comunicarem. Este servidor pode criar uma rede privada XMPP (por detrás de umfirewall, 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 comoICQ,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 deroyalties.
Um conceito chave do sistema XMPP são os chamados transportes, também conhecido comogateways, que permitem aos utilizadores acederem a redes usando outros protocolos tais comoAIM,ICQ (usandoOSCAR),MSN Messenger eWindows Messenger (com o.NET Messenger Service),SMS ouE-mail. Ao contrário dos clientes multiprotocolos, comoTrillian ouPidgin, XMPP fornece este acesso no nível de servidor, comunicando via serviços especiais degateway em umcomputador remoto. Qualquer utilizador XMPP pode se registrar em um destes 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 umgateway, sem necessitar de código extra no cliente.
Por ser umpadrão aberto, o XMPP favorece ainteroperabilidade. Usuários podem escolher a aplicação cliente que mais lhe convém, desde que ela compreenda o protocolo. Existem diversas aplicações que usam XMPP como Gajim, Conversations,Pidgin,Miranda, Kopete,Adium, etc.
O então denominado protocolo Jabber, administrado pelaXMPP Standards Foundation (conhecida anteriormente como Jabber Software Foundation), foi aceito pelaIETF como padrão sob o nome XMPP, comRFC número 3920. É frequentemente considerado em competição comSIMPLE, baseado no protocolo doSIP, como protocolo padrão da notificação de presença e de mensagens instantâneas; no entanto, o projeto do XMPP tem por finalidade fornecer uma plataforma de interface mais geral entre aplicações.
Em agosto de 2005, a empresaGoogle lançou oGoogle 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 emGmail eOrkut.
Alguns dos maiores provedores de mensagens usam, ou usaram, várias formas de protocolos baseados no XMPP no sistemas de back-end, como por exemplo oFacebook.[3]
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.