SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
Jabber / XMPP




Proseminar Uni Ulm

  27. April 2005




                     <page="1" max="22"/>
Warum?

•   Grosse Messenger:
    •   AIM/ICQ (AOL)
    •   MSN (Microsoft)
    •   Yahoo
•   Windows (+Mac) Only, Werbung, Closed Source
•   Keine Protokoll-Infos, inoffizielle Clients
    funktionieren nur durch Protokoll-Reversing
•   Protokolländerungen = Warten..
•   Single Point of Failure
•   Privacy meist nur Simulation


                                      <page="2" max="22"/>
Jabber/XMPP - Geschichte

•   1998: Entwicklung durch Jeremie Miller
•   Jan 1999: Slashdot
•   März 2000: Jabber, Inc
•   Mai 2000: jabberd 1.0
•   August 2001: Gründung JSF
    •   Jabber Board (3 Personen) – Business Affairs
    •   Jabber Council (6 Personen) – Technical Affairs
    •   JSF (~60 Personen)
•   Oktober 2004: RFC 3920-3924



                                                  <page="3" max="22"/>
Neu an Jabber?

•   Abwärtskompatibel mit beliebigem Inhalt
    erweiterbar
•   Dezentral
•   Dokumentiert und Standardisiert
•   Privacy sehr wichtig
•   Clients für nahezu jede obskure Plattform
•   „eXtensible Messaging and Presence Protocol“
•   Dynamisches Netz – s2s wird nach Bedarf
    aufgebaut



                                         <page="4" max="22"/>
Probleme

•   Relativ jung
•   Techniker programmieren:
    •   Unverständlich, Featureoverkill, „staubig“
    •   Wozu Doku wenn es Source gibt?
    •   Unterschiedlichste Begriffe – Supportalptraum
•   Semiprofessionelle Server, keine QS
    •   DynIP-Server
    •   „jeder darf alles“ - Bug und Feature gleichzeitig
    •   Protokolle nicht immer verstanden
•   Kein Client kann „alles“
•   Multi-Protocol-Clients

                                                    <page="5" max="22"/>
Jabber ist schick, weil:

•   Authorisation muss sein
•   Contact List Serverseitig gespeichert
•   Filter auf Serverseite möglich
•   Einfach und schnell scriptbar
•   Mehrere Clients parallel online
•   Mailadresse = Jabber-Id
•   Sehr gut für Unternehmen/Gruppen
    •   shared/dynamic Roster Management
•   GPG, OTR und Co (End2End Verschlüsselung)
•   „Do it yourself“


                                            <page="6" max="22"/>
Technik: Jid

•   Jabber-ID (jid) „fh@jabber.ccc.de/somewhere“
    •   fh: Benutzer
    •   jabber.ccc.de: Server
    •   somewhere: Resource
    •   Benutzer und Resource sind nicht immer angegeben
•   Zusätzlich: Priority
    •   „Wichtigkeit des Clients“
    •   Meist dargestellt als fh@jabber.ccc.de/somewhere (5)




                                                  <page="7" max="22"/>
Jid Interpretation


 fh@zwoop.de/home (5)




                              to=“fh@zwoop.de/home“
                              to=“fh@zwoop.de“
                              to=“zwoop.de/echo“


fh@zwoop.de/laptop (9)




                                           <page="8" max="22"/>
Serverübergreifend
 bla@jabber.i-pobox.net


                             jabber.i-pobox.net



                                          zwoop.de
                                                     to=“bla@jabber.i-pobox.net“
                                                     to=“someuser@amessage.info“


                          amessage.info



someuser@amessage.info


                                                                 <page="9" max="22"/>
Server-Kommunikation

•   Verbindungsaufbau nicht statisch, sondern dynamisch
    und upon request (vgl. Email)
•   TLS-Support bei neuen Serverversionen
•   Load-Balancing einfach möglich
•   Drei-Wege Handshake




                                         <page="10" max="22"/>
Servertechnik



                                       sessions                some.jabberd.com
                    dns                                        Port 5269
                                                               _xmpp-server._tcp.some.jabberd.com


                                                    s2s
*@zwoop.de

                                                                 Andere Netze
                                                                 AIM/ICQ/MSN/Yahoo
                                                                 SMS/eMail/IRC/RSS...
                                    router

                                                  transports
              c2s
              Ports 5222 und 5223
fh@zwoop.de


                                                               <page="11" max="22"/>
Transports?

•   Umsetzung beliebiger Dienste nach Jabber
    •   ICQ-Uin wird zu 12345@icq.zwoop.de
    •   Transparent für Jabberclients
•   Oft auch Gateways oder „Dienst“ genannt
•   Gateways anderer Server nutzbar
    •   user@zwoop.de kann icq.amessage.de nutzen
•   Gateways zu ICQ/MSN/AIM/Y! gern überlastet




                                              <page="12" max="22"/>
Dienste

•   Registrierung und Bedienung über „Service
    Discovery“




                                         <page="13" max="22"/>
XMPP
                                                    |--------------------|
                                                    | <stream>           |
            •    eXtensible Messaging               |--------------------|
                 and Presence Protocol              | <presence>
                                                    |   <show/>
                                                                         |
                                                                         |
            •    Streaming XML                      | </presence>        |
                                                    |--------------------|
                   •    XML-Pakete                  | <message to='foo'> |
                        eingebettet in einem        |   <body/>          |
                                                    | </message>         |
                        <stream />                  |--------------------|
                                                    | <iq to='bar'>      |
                                                    |   <query/>         |
                                                    | </iq>              |
                                                    |--------------------|
                                                    | ...                |
                                                    |--------------------|
                                                    | </stream>          |
                                                    |--------------------|



Alle Protokollauszüge stammen aus den XMPP-RFCs                     <page="14" max="22"/>
Protokoll-Spezifikation

•   Basis: RFC 3920 – 3924
•   Erweitert durch JEPs, Jabber Enhancement
    Proposals
    •   Ca 150 Stück
    •   Struktur ähnlich RFCs (Draft, Deprecated, ..)
    •   Validierung durch JSF




                                                  <page="15" max="22"/>
Jabber vs. XMPP

•   XMPP ist der Teil von Jabber, der in den RFC-
    Dokumenten spezifiziert ist
•   Jabber lässt einiges zu, was nach XMPP nicht ok
    ist
•   „XMPP ist die kleinliche Variante von Jabber“




                                         <page="16" max="22"/>
Ausblick: Pubsub

•   Publish – Subscribe für nahezu Beliebigen
    Content
    •   User „subscribed“ eine Element
    •   Wenn sich das Element ändert, bekommt User eine
        Nachricht
•   Vergleich: RSS
    •   Bandbreitenfreundlicher
    •   Schneller
    •   Beliebiger Content




                                               <page="17" max="22"/>
Protokoll-Zukunft

•   Shared / Dynamic Roster
•   Remote Controlling Client (JEP146)
•   Whiteboard/ Audio/ Video Support
•   HTTP Binding (Jep 124)
•   Servergespeicherte History
•   Filter auf dem Server
•   Erweiterte Nachrichtenattribute (Jep 79)




                                           <page="18" max="22"/>
Lluna

•   Collaborative Browsing
    •   Kommunikation mit anderen Besuchern der gleichen
        Website über Avatare
    •   Idee: Beratung/Support „im Browser“




                                              <page="19" max="22"/>
Trakm8

•   Monitoring von Fahrzeugbewegungen über
    GSM/GPS
•   Flottenmanagement
•   Mietwagenüberwachung
•   Infrastruktur Jabber
•   Trackingsoftware, SMS-Alerts, ...




                                      <page="20" max="22"/>
Sip/Simple

•   Ziel: Sip durch Jabber ersetzen
•   Es existieren mehrere Gateways
•   „Wenn Client DND klingelt das Telefon nicht“
•   JEP 0111




                                        <page="21" max="22"/>
•     </vortrag>


                                       Florian Holzhauer
                                    jid: fh@jabber.ccc.de
                                mail: fh-jabber@fholzhauer.de




Stand: 14.4.2005                                                <page="22" max="22"/>

Mais conteúdo relacionado

Semelhante a Jabber/XMPP

Citrix Day 2013: Citirx Networking
Citrix Day 2013: Citirx NetworkingCitrix Day 2013: Citirx Networking
Citrix Day 2013: Citirx NetworkingDigicomp Academy AG
 
Websockets: Leichtgewichtige Verbindungen für Web-Applikationen
Websockets: Leichtgewichtige Verbindungen für Web-ApplikationenWebsockets: Leichtgewichtige Verbindungen für Web-Applikationen
Websockets: Leichtgewichtige Verbindungen für Web-ApplikationenSpeedPartner GmbH
 
OSMC 2008 | Monitoring von Messaging Systemen mit Nagios by Markus Thiel
OSMC 2008 | Monitoring von Messaging Systemen mit Nagios by Markus ThielOSMC 2008 | Monitoring von Messaging Systemen mit Nagios by Markus Thiel
OSMC 2008 | Monitoring von Messaging Systemen mit Nagios by Markus ThielNETWAYS
 
Sametime & Websphere Best Practices (Admincamp 2013)
Sametime & Websphere Best Practices (Admincamp 2013)Sametime & Websphere Best Practices (Admincamp 2013)
Sametime & Websphere Best Practices (Admincamp 2013)Novakenstein
 
Tipps zur Performanceoptimierung für Liferay Portal
Tipps zur  Performanceoptimierung für Liferay PortalTipps zur  Performanceoptimierung für Liferay Portal
Tipps zur Performanceoptimierung für Liferay PortalStefan Hilpp
 
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...OPEN KNOWLEDGE GmbH
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...Peter Hecker
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDIadesso AG
 
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)André Krämer
 
OSMC 2012 | End2End-Monitoring von Webapplikationen mit SAHI by Simon Meggle
OSMC 2012 | End2End-Monitoring von Webapplikationen mit SAHI by Simon MeggleOSMC 2012 | End2End-Monitoring von Webapplikationen mit SAHI by Simon Meggle
OSMC 2012 | End2End-Monitoring von Webapplikationen mit SAHI by Simon MeggleNETWAYS
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusOPEN KNOWLEDGE GmbH
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...Peter Hecker
 
Monitoring von SAP mit check_sap_health
Monitoring von SAP mit check_sap_healthMonitoring von SAP mit check_sap_health
Monitoring von SAP mit check_sap_healthGerhard Lausser
 
IBM Chat/Sametime Migration (CCTY 2016 Munich)
IBM Chat/Sametime Migration (CCTY 2016 Munich)IBM Chat/Sametime Migration (CCTY 2016 Munich)
IBM Chat/Sametime Migration (CCTY 2016 Munich)Novakenstein
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro sessionVirttoo org
 
Ajax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittAjax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittdominion
 
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIsNever Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIsStefan Adolf
 
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenPimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenDavid Schneider
 
ShareConf 2014: 10 Gründe warum der SharePoint langsam ist
ShareConf 2014: 10 Gründe warum der SharePoint langsam istShareConf 2014: 10 Gründe warum der SharePoint langsam ist
ShareConf 2014: 10 Gründe warum der SharePoint langsam istDavid Schneider
 

Semelhante a Jabber/XMPP (20)

Citrix Day 2013: Citirx Networking
Citrix Day 2013: Citirx NetworkingCitrix Day 2013: Citirx Networking
Citrix Day 2013: Citirx Networking
 
Websockets: Leichtgewichtige Verbindungen für Web-Applikationen
Websockets: Leichtgewichtige Verbindungen für Web-ApplikationenWebsockets: Leichtgewichtige Verbindungen für Web-Applikationen
Websockets: Leichtgewichtige Verbindungen für Web-Applikationen
 
OSMC 2008 | Monitoring von Messaging Systemen mit Nagios by Markus Thiel
OSMC 2008 | Monitoring von Messaging Systemen mit Nagios by Markus ThielOSMC 2008 | Monitoring von Messaging Systemen mit Nagios by Markus Thiel
OSMC 2008 | Monitoring von Messaging Systemen mit Nagios by Markus Thiel
 
Sametime & Websphere Best Practices (Admincamp 2013)
Sametime & Websphere Best Practices (Admincamp 2013)Sametime & Websphere Best Practices (Admincamp 2013)
Sametime & Websphere Best Practices (Admincamp 2013)
 
Tipps zur Performanceoptimierung für Liferay Portal
Tipps zur  Performanceoptimierung für Liferay PortalTipps zur  Performanceoptimierung für Liferay Portal
Tipps zur Performanceoptimierung für Liferay Portal
 
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
 
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
 
OSMC 2012 | End2End-Monitoring von Webapplikationen mit SAHI by Simon Meggle
OSMC 2012 | End2End-Monitoring von Webapplikationen mit SAHI by Simon MeggleOSMC 2012 | End2End-Monitoring von Webapplikationen mit SAHI by Simon Meggle
OSMC 2012 | End2End-Monitoring von Webapplikationen mit SAHI by Simon Meggle
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: Quarkus
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
 
Monitoring von SAP mit check_sap_health
Monitoring von SAP mit check_sap_healthMonitoring von SAP mit check_sap_health
Monitoring von SAP mit check_sap_health
 
IBM Chat/Sametime Migration (CCTY 2016 Munich)
IBM Chat/Sametime Migration (CCTY 2016 Munich)IBM Chat/Sametime Migration (CCTY 2016 Munich)
IBM Chat/Sametime Migration (CCTY 2016 Munich)
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro session
 
Ajax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittAjax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schritt
 
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIsNever Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
 
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenPimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
 
Webinar Serial-over-IP
Webinar Serial-over-IPWebinar Serial-over-IP
Webinar Serial-over-IP
 
ShareConf 2014: 10 Gründe warum der SharePoint langsam ist
ShareConf 2014: 10 Gründe warum der SharePoint langsam istShareConf 2014: 10 Gründe warum der SharePoint langsam ist
ShareConf 2014: 10 Gründe warum der SharePoint langsam ist
 

Mais de Florian Holzhauer

Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Florian Holzhauer
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHFlorian Holzhauer
 
Text Link Spam-Erkennung und -Unterdrückung
Text Link Spam-Erkennung und -UnterdrückungText Link Spam-Erkennung und -Unterdrückung
Text Link Spam-Erkennung und -UnterdrückungFlorian Holzhauer
 
Slides Link Spam-Erkennung und -Unterdrückung
Slides Link Spam-Erkennung und -UnterdrückungSlides Link Spam-Erkennung und -Unterdrückung
Slides Link Spam-Erkennung und -UnterdrückungFlorian Holzhauer
 
Jabber is more than instant messaging
Jabber is more than instant messagingJabber is more than instant messaging
Jabber is more than instant messagingFlorian Holzhauer
 
Linkspam: Erkennung und Unterdrückung
Linkspam: Erkennung und UnterdrückungLinkspam: Erkennung und Unterdrückung
Linkspam: Erkennung und UnterdrückungFlorian Holzhauer
 

Mais de Florian Holzhauer (9)

Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HH
 
Text Link Spam-Erkennung und -Unterdrückung
Text Link Spam-Erkennung und -UnterdrückungText Link Spam-Erkennung und -Unterdrückung
Text Link Spam-Erkennung und -Unterdrückung
 
Slides Link Spam-Erkennung und -Unterdrückung
Slides Link Spam-Erkennung und -UnterdrückungSlides Link Spam-Erkennung und -Unterdrückung
Slides Link Spam-Erkennung und -Unterdrückung
 
IP Geolocation
IP GeolocationIP Geolocation
IP Geolocation
 
Jabber is more than instant messaging
Jabber is more than instant messagingJabber is more than instant messaging
Jabber is more than instant messaging
 
DTN Routing Verfahren
DTN Routing VerfahrenDTN Routing Verfahren
DTN Routing Verfahren
 
bephpug - varnish & co
bephpug - varnish & cobephpug - varnish & co
bephpug - varnish & co
 
Linkspam: Erkennung und Unterdrückung
Linkspam: Erkennung und UnterdrückungLinkspam: Erkennung und Unterdrückung
Linkspam: Erkennung und Unterdrückung
 

Jabber/XMPP

  • 1. Jabber / XMPP Proseminar Uni Ulm 27. April 2005 <page="1" max="22"/>
  • 2. Warum? • Grosse Messenger: • AIM/ICQ (AOL) • MSN (Microsoft) • Yahoo • Windows (+Mac) Only, Werbung, Closed Source • Keine Protokoll-Infos, inoffizielle Clients funktionieren nur durch Protokoll-Reversing • Protokolländerungen = Warten.. • Single Point of Failure • Privacy meist nur Simulation <page="2" max="22"/>
  • 3. Jabber/XMPP - Geschichte • 1998: Entwicklung durch Jeremie Miller • Jan 1999: Slashdot • März 2000: Jabber, Inc • Mai 2000: jabberd 1.0 • August 2001: Gründung JSF • Jabber Board (3 Personen) – Business Affairs • Jabber Council (6 Personen) – Technical Affairs • JSF (~60 Personen) • Oktober 2004: RFC 3920-3924 <page="3" max="22"/>
  • 4. Neu an Jabber? • Abwärtskompatibel mit beliebigem Inhalt erweiterbar • Dezentral • Dokumentiert und Standardisiert • Privacy sehr wichtig • Clients für nahezu jede obskure Plattform • „eXtensible Messaging and Presence Protocol“ • Dynamisches Netz – s2s wird nach Bedarf aufgebaut <page="4" max="22"/>
  • 5. Probleme • Relativ jung • Techniker programmieren: • Unverständlich, Featureoverkill, „staubig“ • Wozu Doku wenn es Source gibt? • Unterschiedlichste Begriffe – Supportalptraum • Semiprofessionelle Server, keine QS • DynIP-Server • „jeder darf alles“ - Bug und Feature gleichzeitig • Protokolle nicht immer verstanden • Kein Client kann „alles“ • Multi-Protocol-Clients <page="5" max="22"/>
  • 6. Jabber ist schick, weil: • Authorisation muss sein • Contact List Serverseitig gespeichert • Filter auf Serverseite möglich • Einfach und schnell scriptbar • Mehrere Clients parallel online • Mailadresse = Jabber-Id • Sehr gut für Unternehmen/Gruppen • shared/dynamic Roster Management • GPG, OTR und Co (End2End Verschlüsselung) • „Do it yourself“ <page="6" max="22"/>
  • 7. Technik: Jid • Jabber-ID (jid) „fh@jabber.ccc.de/somewhere“ • fh: Benutzer • jabber.ccc.de: Server • somewhere: Resource • Benutzer und Resource sind nicht immer angegeben • Zusätzlich: Priority • „Wichtigkeit des Clients“ • Meist dargestellt als fh@jabber.ccc.de/somewhere (5) <page="7" max="22"/>
  • 8. Jid Interpretation fh@zwoop.de/home (5) to=“fh@zwoop.de/home“ to=“fh@zwoop.de“ to=“zwoop.de/echo“ fh@zwoop.de/laptop (9) <page="8" max="22"/>
  • 9. Serverübergreifend bla@jabber.i-pobox.net jabber.i-pobox.net zwoop.de to=“bla@jabber.i-pobox.net“ to=“someuser@amessage.info“ amessage.info someuser@amessage.info <page="9" max="22"/>
  • 10. Server-Kommunikation • Verbindungsaufbau nicht statisch, sondern dynamisch und upon request (vgl. Email) • TLS-Support bei neuen Serverversionen • Load-Balancing einfach möglich • Drei-Wege Handshake <page="10" max="22"/>
  • 11. Servertechnik sessions some.jabberd.com dns Port 5269 _xmpp-server._tcp.some.jabberd.com s2s *@zwoop.de Andere Netze AIM/ICQ/MSN/Yahoo SMS/eMail/IRC/RSS... router transports c2s Ports 5222 und 5223 fh@zwoop.de <page="11" max="22"/>
  • 12. Transports? • Umsetzung beliebiger Dienste nach Jabber • ICQ-Uin wird zu 12345@icq.zwoop.de • Transparent für Jabberclients • Oft auch Gateways oder „Dienst“ genannt • Gateways anderer Server nutzbar • user@zwoop.de kann icq.amessage.de nutzen • Gateways zu ICQ/MSN/AIM/Y! gern überlastet <page="12" max="22"/>
  • 13. Dienste • Registrierung und Bedienung über „Service Discovery“ <page="13" max="22"/>
  • 14. XMPP |--------------------| | <stream> | • eXtensible Messaging |--------------------| and Presence Protocol | <presence> | <show/> | | • Streaming XML | </presence> | |--------------------| • XML-Pakete | <message to='foo'> | eingebettet in einem | <body/> | | </message> | <stream /> |--------------------| | <iq to='bar'> | | <query/> | | </iq> | |--------------------| | ... | |--------------------| | </stream> | |--------------------| Alle Protokollauszüge stammen aus den XMPP-RFCs <page="14" max="22"/>
  • 15. Protokoll-Spezifikation • Basis: RFC 3920 – 3924 • Erweitert durch JEPs, Jabber Enhancement Proposals • Ca 150 Stück • Struktur ähnlich RFCs (Draft, Deprecated, ..) • Validierung durch JSF <page="15" max="22"/>
  • 16. Jabber vs. XMPP • XMPP ist der Teil von Jabber, der in den RFC- Dokumenten spezifiziert ist • Jabber lässt einiges zu, was nach XMPP nicht ok ist • „XMPP ist die kleinliche Variante von Jabber“ <page="16" max="22"/>
  • 17. Ausblick: Pubsub • Publish – Subscribe für nahezu Beliebigen Content • User „subscribed“ eine Element • Wenn sich das Element ändert, bekommt User eine Nachricht • Vergleich: RSS • Bandbreitenfreundlicher • Schneller • Beliebiger Content <page="17" max="22"/>
  • 18. Protokoll-Zukunft • Shared / Dynamic Roster • Remote Controlling Client (JEP146) • Whiteboard/ Audio/ Video Support • HTTP Binding (Jep 124) • Servergespeicherte History • Filter auf dem Server • Erweiterte Nachrichtenattribute (Jep 79) <page="18" max="22"/>
  • 19. Lluna • Collaborative Browsing • Kommunikation mit anderen Besuchern der gleichen Website über Avatare • Idee: Beratung/Support „im Browser“ <page="19" max="22"/>
  • 20. Trakm8 • Monitoring von Fahrzeugbewegungen über GSM/GPS • Flottenmanagement • Mietwagenüberwachung • Infrastruktur Jabber • Trackingsoftware, SMS-Alerts, ... <page="20" max="22"/>
  • 21. Sip/Simple • Ziel: Sip durch Jabber ersetzen • Es existieren mehrere Gateways • „Wenn Client DND klingelt das Telefon nicht“ • JEP 0111 <page="21" max="22"/>
  • 22. </vortrag> Florian Holzhauer jid: fh@jabber.ccc.de mail: fh-jabber@fholzhauer.de Stand: 14.4.2005 <page="22" max="22"/>