SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
XMPP - Mão na Coisa                                                                                          11/19/08 11:55 AM




 XMPP
 Mão na Coisa
 Pedro Melo
 simplicidade.org / evolui.com

 Código e apresentação disponível em http://github.com/melo/codebits/

 O Gustavo, o Delfim, e eu estamos pelo Codebits para dúvidas de XMPP. Procurem as T-Shirts com
 XMPP à frente.




 Resumo
         Conversa da treta
         Preliminares
         Mão na Coisa
         Coisa na Mão
         Coisa na Coisa


 Resumo (agora a sério)
         Breve explicação do ambiente
         Modelo de programação
         Blocos básicos
         Pequenos bots
         Real-time feeds
         Sincronização de processos


 Ambiente
         OpenFire no tabuleiro
         Perl: Net::XMPP2
         Python: Twisted + Wokkel (Hi Jack!)
         Ruby: EventMachine? Simple::Bot? xmpp4r?
         Java: Smack
         C, Loudmouth: Strophe
         PHP, Class::XMPP
         JavaScript: Strophe, JsJac


 Modelo de Programação
         Event-driven
         Nada é garantido, timeouts em todo o lado
         Closures (em linguagens que as tenham)

file:///Users/melo/Documents/Work/projects/codebits/2008/xmpp-hands-on/presentation/xmpp-mao_na_coisa.html          Page 1 of 4
XMPP - Mão na Coisa                                                                                          11/19/08 11:55 AM



         Event loop: se os tiverem, usem
         Enviar pedido, callback para quando a resposta chegar
         Hooks para responder a novos pedidos


 Blocos básicos
         Três blocos básicos
               message: fire and forget
               iq: pergunta/resposta
               presence: broadcast, gestão de buddies
         Cada um deles tem atributos comuns
               to
               from
               type
               id
         Mas o X em XMPP é de Extensible


 Blocos básicos: <mesage>
 Uma mensagem comum
   01.      <message to=quot;melopt@gmail.com/resquot; from=quot;melo@simplcidade.org/Tabuleiroquot; type=

   02.         <body>Recebes-te uma mensagem do Paulo! (link)</body>
   03.      </message>




 Blocos básicos: <mesage>
 Agora com uma extensão
   01.      <message to=quot;melopt@gmail.com/resquot; from=quot;melo@simplcidade.org/Tabuleiroquot; type=

   02.         <body>Recebes-te uma mensagem do Paulo! (link)</body>
   03.         <n xmlns=quot;org.simplicidade.proj1quot;>
   04.           <from>Paulo</from>
   05.           <link>link</link>
   06.           <reply>reply_link</reply>
   07.         </n>
   08.      </message>




 Blocos básicos: <mesage>
 E já agora para não ficar guardada offline
   01.      <message to=quot;melopt@gmail.com/resquot; from=quot;melo@simplcidade.org/Tabuleiroquot; type=

   02.           <body>Recebes-te uma mensagem do Paulo! (link)</body>
   03.           <n xmlns=quot;org.simplicidade.proj1quot;>
   04.             <from>Paulo</from>
   05.             <link>link</link>


file:///Users/melo/Documents/Work/projects/codebits/2008/xmpp-hands-on/presentation/xmpp-mao_na_coisa.html          Page 2 of 4
XMPP - Mão na Coisa                                                                                          11/19/08 11:55 AM


   06.           <reply>reply_link</reply>
   07.         </n>
   08.      </message>




 Blocos básicos: <iq> (get)
 Pergunta...
   01.      <iq to=quot;melopt@gmail.com/resquot; from=quot;melo@simplicidade.org/Tabuleiroquot; type=quot;getquot;

   02.        <query xmlns=quot;org.simplicidade.proj1.proto1quot; />
   03.      </iq>




 Blocos básicos: <iq>
 Resposta...
   01.      <iq to=quot;melopt@gmail.com/resquot; from=quot;melo@simplicidade.org/Tabuleiroquot; type=quot;resultquot;

   02.          <query xmlns=quot;org.simplicidade.proj1.proto1quot;>
   03.            <campo1>valor 1</campo1>
   04.            <campo2>valor 2</campo2>
   05.            <campo3>valor 3</campo3>
   06.            <campo4>valor 4</campo4>
   07.          </query>
   08.      </iq>




 Blocos básicos: <iq> (set)
 Alteração...
   01.      <iq to=quot;melopt@gmail.com/resquot; from=quot;melo@simplicidade.org/Tabuleiroquot; type=quot;setquot;

   02.          <query xmlns=quot;org.simplicidade.proj1.proto1quot;>
   03.            <campo1>valor 1</campo1>
   04.            <campo2>valor 2</campo2>
   05.            <campo3>valor 3</campo3>
   06.            <campo4>valor 4</campo4>
   07.          </query>
   08.      </iq>




 Blocos básicos: <iq>
 Resposta...
   01.      <iq to=quot;melopt@gmail.com/resquot; from=quot;melo@simplicidade.org/Tabuleiroquot; type=quot;resultquot;

   02.          <query xmlns=quot;org.simplicidade.proj1.proto1quot; />
   03.      </iq>



file:///Users/melo/Documents/Work/projects/codebits/2008/xmpp-hands-on/presentation/xmpp-mao_na_coisa.html          Page 3 of 4
XMPP - Mão na Coisa                                                                                          11/19/08 11:55 AM




 Tipos de ligação
         Cliente-Servidor: usadas por utilizadores
               Apenas um Jabber ID: local@domain/resource
               Limitado em termos de números de buddies
               Mas vários promenores são tratados por nós
         Component-Servidor: usadas por aplicações mais avançadas
               Represente um ou mais dominios (ex. teste.simplicidade.org)
               Ilimitado em termos de buddies ou de users @teste.simplicidade.org
               Responsabilidade de implementar o protocolo todo


 Pequenos bots
 http2xmpp.pl
         Subscrição automática
         Mensagem de boas vindas
         HTTP POST => XMPP message

 Arrancar o http2xmpp-N.pl e aceder ao interface web


 Real-time feeds e Sync de procs
 process_sync-N.pl
         Liga-se a um chat-room
         Comandos simples
         Comandos para fazer stream de dados
         Sincronizaçao de tarefas

 Arrancar o process_sync-N.pl e aceder à sala sync@conference.test.simplicidade.org




file:///Users/melo/Documents/Work/projects/codebits/2008/xmpp-hands-on/presentation/xmpp-mao_na_coisa.html          Page 4 of 4

Más contenido relacionado

Destacado

User Experience Flight Check
User Experience Flight CheckUser Experience Flight Check
User Experience Flight Check
jharr
 
Table calendar 2009 10-low res
Table calendar 2009 10-low resTable calendar 2009 10-low res
Table calendar 2009 10-low res
DIPECHO Nepal
 
Web”政策”イメージ画像2
Web”政策”イメージ画像2Web”政策”イメージ画像2
Web”政策”イメージ画像2
Masatoshi Kan
 
Máximos Goleadores de la historia
Máximos Goleadores de la historiaMáximos Goleadores de la historia
Máximos Goleadores de la historia
jaimejcidead
 
Mobile Collaborative Search Inviting Clients 07-19-13
Mobile Collaborative Search Inviting Clients 07-19-13Mobile Collaborative Search Inviting Clients 07-19-13
Mobile Collaborative Search Inviting Clients 07-19-13
ipreproperties
 

Destacado (15)

User Experience Flight Check
User Experience Flight CheckUser Experience Flight Check
User Experience Flight Check
 
The Human Brain
The Human BrainThe Human Brain
The Human Brain
 
Ganemos Granada: Borrador declaracion etica aprobado
Ganemos Granada:  Borrador declaracion etica aprobadoGanemos Granada:  Borrador declaracion etica aprobado
Ganemos Granada: Borrador declaracion etica aprobado
 
Table calendar 2009 10-low res
Table calendar 2009 10-low resTable calendar 2009 10-low res
Table calendar 2009 10-low res
 
Hunches, Instincts, and Trusting Your Gut (Warm Gun 2014)
Hunches, Instincts, and Trusting Your Gut (Warm Gun 2014)Hunches, Instincts, and Trusting Your Gut (Warm Gun 2014)
Hunches, Instincts, and Trusting Your Gut (Warm Gun 2014)
 
ALL ROUTES LEAD TO WASHINGTON
ALL ROUTES LEAD TO WASHINGTONALL ROUTES LEAD TO WASHINGTON
ALL ROUTES LEAD TO WASHINGTON
 
Web”政策”イメージ画像2
Web”政策”イメージ画像2Web”政策”イメージ画像2
Web”政策”イメージ画像2
 
99 Mes Gastronómico Valle Améscoa , Nacedero Río Urederra Comarca Urbasa e...
99  Mes Gastronómico  Valle Améscoa , Nacedero  Río Urederra Comarca Urbasa e...99  Mes Gastronómico  Valle Améscoa , Nacedero  Río Urederra Comarca Urbasa e...
99 Mes Gastronómico Valle Améscoa , Nacedero Río Urederra Comarca Urbasa e...
 
O conhecimento da tecnologia é um avanço para o futuro
O conhecimento da tecnologia é um avanço para o futuroO conhecimento da tecnologia é um avanço para o futuro
O conhecimento da tecnologia é um avanço para o futuro
 
Mba análisis del proceso de la gestion ambiental en colombia a partir del t...
Mba  análisis del proceso de la gestion ambiental en colombia a partir del t...Mba  análisis del proceso de la gestion ambiental en colombia a partir del t...
Mba análisis del proceso de la gestion ambiental en colombia a partir del t...
 
Máximos Goleadores de la historia
Máximos Goleadores de la historiaMáximos Goleadores de la historia
Máximos Goleadores de la historia
 
Wie Chefs ihren Pressesprechern das Leben schwer machen
Wie Chefs ihren Pressesprechern das Leben schwer machenWie Chefs ihren Pressesprechern das Leben schwer machen
Wie Chefs ihren Pressesprechern das Leben schwer machen
 
15 Tips Kemanusiaan - Kesesuaian Pakaian Di Lapangan
15 Tips Kemanusiaan - Kesesuaian Pakaian Di Lapangan15 Tips Kemanusiaan - Kesesuaian Pakaian Di Lapangan
15 Tips Kemanusiaan - Kesesuaian Pakaian Di Lapangan
 
Mobile Collaborative Search Inviting Clients 07-19-13
Mobile Collaborative Search Inviting Clients 07-19-13Mobile Collaborative Search Inviting Clients 07-19-13
Mobile Collaborative Search Inviting Clients 07-19-13
 
Mba estrategia clase3a
Mba estrategia clase3aMba estrategia clase3a
Mba estrategia clase3a
 

Similar a XMPP Hands-On

XMPP - Extensible messaging and presence protocol
XMPP - Extensible messaging and presence protocolXMPP - Extensible messaging and presence protocol
XMPP - Extensible messaging and presence protocol
ricardolbr
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalho
FelipeDi
 
Por que Python - Latinoware 2008
Por que Python - Latinoware 2008Por que Python - Latinoware 2008
Por que Python - Latinoware 2008
Marco Mendes
 

Similar a XMPP Hands-On (20)

JavaScript - Aula Introdutória
JavaScript - Aula IntrodutóriaJavaScript - Aula Introdutória
JavaScript - Aula Introdutória
 
XMPP - Extensible messaging and presence protocol
XMPP - Extensible messaging and presence protocolXMPP - Extensible messaging and presence protocol
XMPP - Extensible messaging and presence protocol
 
Os1
Os1Os1
Os1
 
Otimizando Portais Plone: Dicas de Desempenho
Otimizando Portais Plone: Dicas de DesempenhoOtimizando Portais Plone: Dicas de Desempenho
Otimizando Portais Plone: Dicas de Desempenho
 
Mini Curso Python
Mini Curso PythonMini Curso Python
Mini Curso Python
 
Apres. Marcos Souza2
Apres. Marcos Souza2Apres. Marcos Souza2
Apres. Marcos Souza2
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalho
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalho
 
Agile & Open Source - A Experiencia do Framework Demoiselle
Agile & Open Source - A Experiencia do Framework DemoiselleAgile & Open Source - A Experiencia do Framework Demoiselle
Agile & Open Source - A Experiencia do Framework Demoiselle
 
Html5 - O futuro da Web
Html5 - O futuro da WebHtml5 - O futuro da Web
Html5 - O futuro da Web
 
Introdução Wicket
Introdução WicketIntrodução Wicket
Introdução Wicket
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalho
 
Primeiros passos com Electron
Primeiros passos com ElectronPrimeiros passos com Electron
Primeiros passos com Electron
 
Por que Python - Latinoware 2008
Por que Python - Latinoware 2008Por que Python - Latinoware 2008
Por que Python - Latinoware 2008
 
Desenvolvimento de Aplicacoes de TV interactiva na plataforma MEO IPTV
Desenvolvimento de Aplicacoes de TV interactiva na plataforma MEO IPTVDesenvolvimento de Aplicacoes de TV interactiva na plataforma MEO IPTV
Desenvolvimento de Aplicacoes de TV interactiva na plataforma MEO IPTV
 
TDC2013: ExtJS 4: Dicas e Melhores Practicas
TDC2013: ExtJS 4: Dicas e Melhores PracticasTDC2013: ExtJS 4: Dicas e Melhores Practicas
TDC2013: ExtJS 4: Dicas e Melhores Practicas
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalho
 
Xml
XmlXml
Xml
 
Log4net
Log4netLog4net
Log4net
 
Java ee com apache tom ee e tomee+ tdc - 2014
Java ee com apache tom ee e tomee+   tdc - 2014Java ee com apache tom ee e tomee+   tdc - 2014
Java ee com apache tom ee e tomee+ tdc - 2014
 

Más de codebits

Gis SAPO Hands On
Gis SAPO Hands OnGis SAPO Hands On
Gis SAPO Hands On
codebits
 
Aplicações Web TV no Meo
Aplicações Web TV no MeoAplicações Web TV no Meo
Aplicações Web TV no Meo
codebits
 
Forms Usability 101
Forms Usability 101Forms Usability 101
Forms Usability 101
codebits
 
Speak up: como criar Speech-based apps
Speak up: como criar Speech-based appsSpeak up: como criar Speech-based apps
Speak up: como criar Speech-based apps
codebits
 
Mitos da Acessibilidade Web
Mitos da Acessibilidade WebMitos da Acessibilidade Web
Mitos da Acessibilidade Web
codebits
 
Getting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko FreerunnerGetting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko Freerunner
codebits
 
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
codebits
 
Getting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko FreerunnerGetting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko Freerunner
codebits
 
Exploring XMPP
Exploring XMPPExploring XMPP
Exploring XMPP
codebits
 
Sapo BUS Hands-On
Sapo BUS Hands-OnSapo BUS Hands-On
Sapo BUS Hands-On
codebits
 
Qtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencerQtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencer
codebits
 
Making the Chumby
Making the ChumbyMaking the Chumby
Making the Chumby
codebits
 
Globs - Gestão de Glossários
Globs - Gestão de GlossáriosGlobs - Gestão de Glossários
Globs - Gestão de Glossários
codebits
 
ATrad - Sistema de Garantia de Qualidade de Traduções
ATrad - Sistema de Garantia de Qualidade de TraduçõesATrad - Sistema de Garantia de Qualidade de Traduções
ATrad - Sistema de Garantia de Qualidade de Traduções
codebits
 
Alto Desempenho com Java
Alto Desempenho com JavaAlto Desempenho com Java
Alto Desempenho com Java
codebits
 
Sapo GIS Hands-On
Sapo GIS Hands-OnSapo GIS Hands-On
Sapo GIS Hands-On
codebits
 
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
codebits
 
Optimização de pesquisas Web utilizando Colónias de Formigas
Optimização de pesquisas Web utilizando Colónias de FormigasOptimização de pesquisas Web utilizando Colónias de Formigas
Optimização de pesquisas Web utilizando Colónias de Formigas
codebits
 

Más de codebits (20)

Gis SAPO Hands On
Gis SAPO Hands OnGis SAPO Hands On
Gis SAPO Hands On
 
Aplicações Web TV no Meo
Aplicações Web TV no MeoAplicações Web TV no Meo
Aplicações Web TV no Meo
 
Forms Usability 101
Forms Usability 101Forms Usability 101
Forms Usability 101
 
Speak up: como criar Speech-based apps
Speak up: como criar Speech-based appsSpeak up: como criar Speech-based apps
Speak up: como criar Speech-based apps
 
Mitos da Acessibilidade Web
Mitos da Acessibilidade WebMitos da Acessibilidade Web
Mitos da Acessibilidade Web
 
Getting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko FreerunnerGetting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko Freerunner
 
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
 
CouchDB
CouchDBCouchDB
CouchDB
 
Getting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko FreerunnerGetting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko Freerunner
 
Exploring XMPP
Exploring XMPPExploring XMPP
Exploring XMPP
 
Sapo BUS Hands-On
Sapo BUS Hands-OnSapo BUS Hands-On
Sapo BUS Hands-On
 
Qtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencerQtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencer
 
Making the Chumby
Making the ChumbyMaking the Chumby
Making the Chumby
 
Globs - Gestão de Glossários
Globs - Gestão de GlossáriosGlobs - Gestão de Glossários
Globs - Gestão de Glossários
 
ATrad - Sistema de Garantia de Qualidade de Traduções
ATrad - Sistema de Garantia de Qualidade de TraduçõesATrad - Sistema de Garantia de Qualidade de Traduções
ATrad - Sistema de Garantia de Qualidade de Traduções
 
Alto Desempenho com Java
Alto Desempenho com JavaAlto Desempenho com Java
Alto Desempenho com Java
 
Sapo GIS Hands-On
Sapo GIS Hands-OnSapo GIS Hands-On
Sapo GIS Hands-On
 
Gis@sapo
Gis@sapoGis@sapo
Gis@sapo
 
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
 
Optimização de pesquisas Web utilizando Colónias de Formigas
Optimização de pesquisas Web utilizando Colónias de FormigasOptimização de pesquisas Web utilizando Colónias de Formigas
Optimização de pesquisas Web utilizando Colónias de Formigas
 

XMPP Hands-On

  • 1. XMPP - Mão na Coisa 11/19/08 11:55 AM XMPP Mão na Coisa Pedro Melo simplicidade.org / evolui.com Código e apresentação disponível em http://github.com/melo/codebits/ O Gustavo, o Delfim, e eu estamos pelo Codebits para dúvidas de XMPP. Procurem as T-Shirts com XMPP à frente. Resumo Conversa da treta Preliminares Mão na Coisa Coisa na Mão Coisa na Coisa Resumo (agora a sério) Breve explicação do ambiente Modelo de programação Blocos básicos Pequenos bots Real-time feeds Sincronização de processos Ambiente OpenFire no tabuleiro Perl: Net::XMPP2 Python: Twisted + Wokkel (Hi Jack!) Ruby: EventMachine? Simple::Bot? xmpp4r? Java: Smack C, Loudmouth: Strophe PHP, Class::XMPP JavaScript: Strophe, JsJac Modelo de Programação Event-driven Nada é garantido, timeouts em todo o lado Closures (em linguagens que as tenham) file:///Users/melo/Documents/Work/projects/codebits/2008/xmpp-hands-on/presentation/xmpp-mao_na_coisa.html Page 1 of 4
  • 2. XMPP - Mão na Coisa 11/19/08 11:55 AM Event loop: se os tiverem, usem Enviar pedido, callback para quando a resposta chegar Hooks para responder a novos pedidos Blocos básicos Três blocos básicos message: fire and forget iq: pergunta/resposta presence: broadcast, gestão de buddies Cada um deles tem atributos comuns to from type id Mas o X em XMPP é de Extensible Blocos básicos: <mesage> Uma mensagem comum 01. <message to=quot;melopt@gmail.com/resquot; from=quot;melo@simplcidade.org/Tabuleiroquot; type= 02. <body>Recebes-te uma mensagem do Paulo! (link)</body> 03. </message> Blocos básicos: <mesage> Agora com uma extensão 01. <message to=quot;melopt@gmail.com/resquot; from=quot;melo@simplcidade.org/Tabuleiroquot; type= 02. <body>Recebes-te uma mensagem do Paulo! (link)</body> 03. <n xmlns=quot;org.simplicidade.proj1quot;> 04. <from>Paulo</from> 05. <link>link</link> 06. <reply>reply_link</reply> 07. </n> 08. </message> Blocos básicos: <mesage> E já agora para não ficar guardada offline 01. <message to=quot;melopt@gmail.com/resquot; from=quot;melo@simplcidade.org/Tabuleiroquot; type= 02. <body>Recebes-te uma mensagem do Paulo! (link)</body> 03. <n xmlns=quot;org.simplicidade.proj1quot;> 04. <from>Paulo</from> 05. <link>link</link> file:///Users/melo/Documents/Work/projects/codebits/2008/xmpp-hands-on/presentation/xmpp-mao_na_coisa.html Page 2 of 4
  • 3. XMPP - Mão na Coisa 11/19/08 11:55 AM 06. <reply>reply_link</reply> 07. </n> 08. </message> Blocos básicos: <iq> (get) Pergunta... 01. <iq to=quot;melopt@gmail.com/resquot; from=quot;melo@simplicidade.org/Tabuleiroquot; type=quot;getquot; 02. <query xmlns=quot;org.simplicidade.proj1.proto1quot; /> 03. </iq> Blocos básicos: <iq> Resposta... 01. <iq to=quot;melopt@gmail.com/resquot; from=quot;melo@simplicidade.org/Tabuleiroquot; type=quot;resultquot; 02. <query xmlns=quot;org.simplicidade.proj1.proto1quot;> 03. <campo1>valor 1</campo1> 04. <campo2>valor 2</campo2> 05. <campo3>valor 3</campo3> 06. <campo4>valor 4</campo4> 07. </query> 08. </iq> Blocos básicos: <iq> (set) Alteração... 01. <iq to=quot;melopt@gmail.com/resquot; from=quot;melo@simplicidade.org/Tabuleiroquot; type=quot;setquot; 02. <query xmlns=quot;org.simplicidade.proj1.proto1quot;> 03. <campo1>valor 1</campo1> 04. <campo2>valor 2</campo2> 05. <campo3>valor 3</campo3> 06. <campo4>valor 4</campo4> 07. </query> 08. </iq> Blocos básicos: <iq> Resposta... 01. <iq to=quot;melopt@gmail.com/resquot; from=quot;melo@simplicidade.org/Tabuleiroquot; type=quot;resultquot; 02. <query xmlns=quot;org.simplicidade.proj1.proto1quot; /> 03. </iq> file:///Users/melo/Documents/Work/projects/codebits/2008/xmpp-hands-on/presentation/xmpp-mao_na_coisa.html Page 3 of 4
  • 4. XMPP - Mão na Coisa 11/19/08 11:55 AM Tipos de ligação Cliente-Servidor: usadas por utilizadores Apenas um Jabber ID: local@domain/resource Limitado em termos de números de buddies Mas vários promenores são tratados por nós Component-Servidor: usadas por aplicações mais avançadas Represente um ou mais dominios (ex. teste.simplicidade.org) Ilimitado em termos de buddies ou de users @teste.simplicidade.org Responsabilidade de implementar o protocolo todo Pequenos bots http2xmpp.pl Subscrição automática Mensagem de boas vindas HTTP POST => XMPP message Arrancar o http2xmpp-N.pl e aceder ao interface web Real-time feeds e Sync de procs process_sync-N.pl Liga-se a um chat-room Comandos simples Comandos para fazer stream de dados Sincronizaçao de tarefas Arrancar o process_sync-N.pl e aceder à sala sync@conference.test.simplicidade.org file:///Users/melo/Documents/Work/projects/codebits/2008/xmpp-hands-on/presentation/xmpp-mao_na_coisa.html Page 4 of 4