34
XMPP Marcelo Terres Comunicando-se através de um protocolo aberto

XMPP - Comunicando-se através de um protocolo aberto

  • Upload
    mhterres

  • View
    11.307

  • Download
    19

Embed Size (px)

Citation preview

Page 1: XMPP - Comunicando-se através de um protocolo aberto

XMPP

Marcelo Terres

Comunicando-se através de um protocolo aberto

Page 2: XMPP - Comunicando-se através de um protocolo aberto

• O que é XMPP ?• História• Protocolo• Extensões• Servidores• Clientes• Características que merecem destaque• Openfire• Ejabberd• Tigase e Prosody• Casos de sucesso • Usando XMPP além das mensagens instantâneas

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPComunicando-se através de um protocolo aberto

Page 3: XMPP - Comunicando-se através de um protocolo aberto

O XMPP - Extensible Messaging and Presence Protocol (Protocolo Extensível de Mensagens e Presença) é uma tecnologia aberta usada para comunicações em

tempo real, que provê uma ampla gama de aplicações que incluem mensagens instantâneas,

presença, chat multi usuário, ligações de voz e vídeo, colaboração, etc…

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPO que é XMPP ?

Page 4: XMPP - Comunicando-se através de um protocolo aberto

• 1998 - criação do protocolo jabber• 1999 - primeiro envio para IEFT• 2000 - lançado jabberd 1.0 e depois o jabberd1.2• 2001 - criada a JSF (Jabber Software Foundations)• 2002 - nova submissão ao IEFT. Criação de workgroup• 2004 - aprovação do core e criação das RFCs 3920, 3921,

3922 e 3923• 2006 - Primeiro XMPP summit e revisão das RFCs• 2007 - JFS se torna XSF (XMPP Standard Foundation)• 2008 - Jabber Inc é adquirida pela Cisco• 2009/2010 - Novas XEP e projetos envolvendo XMPP

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPHistória

Page 5: XMPP - Comunicando-se através de um protocolo aberto

• Aberto 

• Suporte a recursos básicos de redes IMo mensagemo transferência de arquivos (XEP-0096 e XEP-0234)o MUC - multi-user chat (XEP-0045)

• Suporte a extensões (XEPs)

• Componentes externos (XEP-0114)

• Padronizado pela XSF

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPProtocolo

Page 6: XMPP - Comunicando-se através de um protocolo aberto

• Permite a extensão do protocolo pela adição de novos recursos

• Podem ser submetidas a XSF para análise

• Após aprovadas passam a ser parte integrante do XMPP

• Novas extensões experimentais:o Microblogging over XMPP (XEP-0277) o Jingle Nodes (XEP-0278)o Message Carbons (XEP-0280)

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPExtensões

Page 7: XMPP - Comunicando-se através de um protocolo aberto

• jabberd• jabberd2• Openfire (Jive Messenger /

Wildfire)• ejabberd• Prosody• Tigase• M-Link 

     http://xmpp.org/software/servers.shtml

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPServidores

Page 8: XMPP - Comunicando-se através de um protocolo aberto

• Linuxo Empathyo Kopete

• Windowso Exoduso Mirandao Pandion

• Maco Adium

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPClientes

Page 9: XMPP - Comunicando-se através de um protocolo aberto

• Linux/Windowso Pidgin (Gaim)o Sparko Psio OneTeam (suporte a Jingle Nodes)

• Webo SparkWebo Tigase Messenger

• Mobile     http://xmpp.org/software/clients.shtml

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPClientes

Page 10: XMPP - Comunicando-se através de um protocolo aberto

• Cliente multi protocolos para Mac

• Interface clean

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPClientes - Adium

Page 11: XMPP - Comunicando-se através de um protocolo aberto

• Interface clean

• Suporte a transportes diretamente no cliente

• Suporte exclusivo a XMPP

• Suporte a Jingle Nodes

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPClientes - OneTeam

Page 12: XMPP - Comunicando-se através de um protocolo aberto

• Suporte exclusivo a XMPP

• Interface padrão Windows que facilita a migração, adaptação e utilização por parte de usuários da rede MSN

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPClientes - Pandion

Page 13: XMPP - Comunicando-se através de um protocolo aberto

• Suporte a múltiplos protocolos de IM

• Intenso desenvolvimento

• Interface simples

• Múltiplos recursos

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPClientes - Pidgin

Page 14: XMPP - Comunicando-se através de um protocolo aberto

• Suporte a múltiplos protocolos de IM

• Suporte a SIP

• Ligações do áudio/vídeo

• Conferências de áudio

• Suporte a Jingle Nodes em desenvolvimento

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPClientes – Sip Communicator

Page 15: XMPP - Comunicando-se através de um protocolo aberto

• Federação (Server 2 Server)

• Integração com outros softwares e serviços

• Gateways para integração com outras redes de IM

• Jingle Nodes

• Versatilidade

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPCaracterísticas que merecem destaque

Page 16: XMPP - Comunicando-se através de um protocolo aberto

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.com

Licença Creative Commons Atribuição 3.0 Brasil

XMPPFederation (server 2 server)

Page 17: XMPP - Comunicando-se através de um protocolo aberto

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.com

Licença Creative Commons Atribuição 3.0 Brasil

XMPPIntegração com softwares e serviços

Page 18: XMPP - Comunicando-se através de um protocolo aberto

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.com

Licença Creative Commons Atribuição 3.0 Brasil

XMPPGateways

Page 19: XMPP - Comunicando-se através de um protocolo aberto

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.com

Licença Creative Commons Atribuição 3.0 Brasil

XMPPJingle Nodes

Page 20: XMPP - Comunicando-se através de um protocolo aberto

• Ejabberd 2.x possui suporte. Servidor Talk.im já implementado

• Cliente OneTalk em fase beta. Versão estável para iPhon.

• Suporte a Openfire em fase alpha

• Cliente Openfire em fase de desenvolvimento

• Implementação de suporte no Sip Communicator em andamento

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPJingle Nodes

Page 21: XMPP - Comunicando-se através de um protocolo aberto

• Pode ser utilizado com as principais linguagens de programação do mercado (várias bibliotecas disponíveis):

• Ruby• Python• Java• Perl• Etc..

• A criatividade do desenvolvedor é o limite:• Projetos de interação com outros softwares• Bots• Controle remoto de aplicações

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPVersatilidade

Page 22: XMPP - Comunicando-se através de um protocolo aberto

• Plugins (Auditoria, Gateways, Mensagens para grupos)

• Controle avançado de S2S (server 2 server)

• Instalação simples e rápida

• Console administrativo web simples e completo

• Desenvolvimento em Java 

• Nova versão (3.7.0) em estágio beta 

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPOpenfire - Prós

Page 23: XMPP - Comunicando-se através de um protocolo aberto

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.com

Licença Creative Commons Atribuição 3.0 Brasil

XMPPOpenfire – Console do administrador

Page 24: XMPP - Comunicando-se através de um protocolo aberto

• Desenvolvimento lento (última versão final de maio/2009)

• Dependência do Java

• Clustering depende de componente pago (Oracle Coherence)

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPOpenfire - Contras

Page 25: XMPP - Comunicando-se através de um protocolo aberto

• Lista Openfire-br : mais de 500 membros• Cliente Spark – recursos próprios específicos para

Openfire– Fastpath– Sip Phone– Asterisk IM– Controle de uso de clientes

• Spark – desenvolvimento estagnado• Compatível com Red5 (Servidor Flash Open Source)• Redfire = Openfire 3.7.0 + Red5

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPOpenfire

Page 26: XMPP - Comunicando-se através de um protocolo aberto

• Desenvolvimento acelerado com novos releases mensais

• Suporte a novas XEPs e desenvolvimento de novos produtos usando o servidor como base

• Versão 3.0 já em fase alpha 1

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPejabberd - Prós

Page 27: XMPP - Comunicando-se através de um protocolo aberto

• Desenvolvimento em Erlang

• Administração mais complexa e com menor flexibilidade

• Falta de uma estrutura padronizada de plugins (módulos)

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPejabberd - Contras

Page 28: XMPP - Comunicando-se através de um protocolo aberto

• Tigase– Desenvolvimento pleno– Suporte a Cluster– Desenvolvimento em Java– Várias XEPs implementadas e suporte a vários DBs– Monitoração por SNMP, HTTP e XMPP

• Prosody– Desenvovimento pleno– Desenvolvimento em Java– Simplicidade na implementação do servidor (segundo os

desenvolvedores)

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPTigase e Prosody

Page 29: XMPP - Comunicando-se através de um protocolo aberto

• Jabber.orgo mais de 300 mil contaso mais de 10 mil usuários

simultâneos  • Google Talk

      • Sua empresa

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPCasos de sucesso

Page 30: XMPP - Comunicando-se através de um protocolo aberto

Redes Sociais

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPUsando XMPP além do IM

Page 31: XMPP - Comunicando-se através de um protocolo aberto

Waves

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPUsando XMPP além do IM

Page 32: XMPP - Comunicando-se através de um protocolo aberto

Web feeds em realtime

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPUsando XMPP além do IM

Page 33: XMPP - Comunicando-se através de um protocolo aberto

PERGUNTAS

MAIS INFORMAÇÕES EM

 XMPP Standard Foundationhttp://xmpp.org/

Lista Openfire-BRhttp://listas.softwarelivre.org/cgi-bin/mailman/listinf/openfire-br Lista ejabberd-BR http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/ejabberd-br

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPComunicando-se através de um protocolo aberto

Page 34: XMPP - Comunicando-se através de um protocolo aberto

  Contato

 Marcelo Terres<[email protected]>

                Mundo Open Source                    http://mundoopensource.blogspot.com

Twitter/Identi.ca@mhterres

Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.comLicença Creative Commons Atribuição 3.0 Brasil

XMPPComunicando-se através de um protocolo aberto