xmpp - comunicando-se através de um protocolo aberto
TRANSCRIPT
XMPP
Marcelo Terres
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
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 ?
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.com
Licença Creative Commons Atribuição 3.0 Brasil
XMPPFederation (server 2 server)
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
Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.com
Licença Creative Commons Atribuição 3.0 Brasil
XMPPGateways
Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.com
Licença Creative Commons Atribuição 3.0 Brasil
XMPPJingle Nodes
• 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
• 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
• 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
Autor: Marcelo H. Terres ([email protected]) - http://mundoopensource.blogspot.com
Licença Creative Commons Atribuição 3.0 Brasil
XMPPOpenfire – Console do administrador
• 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
• 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
• 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
• 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
• 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
• 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
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
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
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
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
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