Protocolo XMPP

De MediaWiki do Campus São José
Ir para: navegação, pesquisa

Definição

XMPP (RFC 3920) é o acrônimo para Extensible Messaging and Presence Protocol, era conhecido anteriormente por Jabber. Embora sua popularidade esteja maior nos dias atuais, Jeremie Miller iniciou o projeto em 1998, tendo sua principal versão lançada ao público em 2000.

O XMPP é um padrão aberto e é uma alternativa a protocolos proprietários de aplicações como o MSN Messenger.

O ponto chave do protocolo é o princípio de gateways, que possibilitam a comunicação de uma rede XMPP com outras redes que usam diferentes protocolos. Dessa forma, é possível que uma aplicação XMPP se comunique com contas de outros serviços, como MSN, ICQ, etc.

Servidores

Para uma lista completa de servidores XMPP acesse: http://xmpp.org/xmpp-software/clients/

Estudo de caso: Openfire

Como exemplo, segue a instalação do servidor Openfire, produzido pela Ignite Realtime

A instalação é extremamente simples, mas primeiro devemos instalar o Java JRE e JDK:

aptitude install -y default-jre openjdk-6-jdk

Também é necessário a instalação de um banco de dados, nesse caso, será usado o MySQL:

aptitude install -y mysql-server mysql-client

Agora instalamos o Openfire:

wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_3_7_0.tar.gz
mv downloadServlet\?filename\=openfire%2Fopenfire_3_7_0.tar.gz openfire.tar.gz
tar -zxvf openfire.tar.gz 
mv openfire /opt/

O próximo passo é configurar uma base no MySQL que será usada pelo Openfire:

  • Primeiro acessamos o console do banco
mysql -u root -p
  • O diretório do Openfire possui um script pronto que monta a base de dados, só é necessário informar isso para o MySQL
mysql> create database openfire;
mysql> use openfire;
mysql> grant all privileges on openfire.* to openfire@localhost identified by 'senha';
mysql> flush privileges;
mysql> source /opt/openfire/resources/database/openfire_mysql.sql;
mysql> quit;

Agora é só iniciar o servidor:

cd /opt/openfire/bin/
./openfire start

O resto da configuração é feita por uma interface Web, disponível em http://localhost:9090. Essa porta é a porta de gerenciamento do Openfire.

Clientes

Para uma lista completa de clientes XMPP acesse: http://xmpp.org/xmpp-software/servers/

Estudo de caso: Spark

O cliente Spark é o cliente usado com o Openfire e sua instalação é simples:

wget http://www.igniterealtime.org/downloadServlet?filename=spark/spark_2_6_2.tar.gz
tar -zxvf spark_2_6_2.tar.gz 
cd Spark/
./Spark