Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

XMPP et Interopérabilité

2,742 views

Published on

Published in: Technology
  • Be the first to comment

XMPP et Interopérabilité

  1. 1. XMPP et interopérabilité Solutions Linux 2009 FDL, CC by-sa 2009-03-31 Nicolas Vérité (Nÿco) mailto:nicolas.verite@capgemini.com mailto:nicolas.verite@gmail.com xmpp:nyco@jabber.fr
  2. 2. Plan <ul><li>Qu'est-ce que XMPP ? Jabber ? Jingle ? PubSub ? </li></ul><ul><li>Interopérabilité : définition </li></ul><ul><li>Logiciels libres </li></ul><ul><li>État des lieux </li></ul><ul><li>Perspectives </li></ul>
  3. 3. Qu'est-ce que XMPP ? Jabber ? Jingle ? PubSub ? (1/2) <ul><li>XMPP : </li></ul><ul><ul><li>eXtensible Messaging and Presence Protocol </li></ul></ul><ul><ul><li>Ensemble extensible de protocoles de routage générique et instantané de flux de données </li></ul></ul><ul><ul><li>XML et UTF-8 </li></ul></ul><ul><li>Jabber est à XMPP </li></ul><ul><ul><li>Ce que le web est à HTTP/HTML </li></ul></ul><ul><ul><li>Ce que le mail est à SMTP/POP/IMAP </li></ul></ul><ul><li>Organisations </li></ul><ul><ul><li>XSF : XMPP Standards Foundation </li></ul></ul><ul><ul><li>IETF : Internet Engineering Task Force </li></ul></ul><ul><li>Spécifications : </li></ul><ul><ul><li>RFC : Request For Comments </li></ul></ul><ul><ul><li>XEP : XMPP Extension Protocol </li></ul></ul><ul><li>Philosophie : </li></ul><ul><ul><li>Complexité sur le serveur </li></ul></ul><ul><li>Similitudes e-mail : </li></ul><ul><ul><li>client/serveur et serveur/serveur </li></ul></ul><ul><ul><li>Jabber ID : user@domain.com </li></ul></ul><ul><li>Différences avec l'e-mail : </li></ul><ul><ul><li>Identifié, authentifié </li></ul></ul><ul><ul><li>Un seul serveur envoi/réception </li></ul></ul><ul><ul><li>Instantané (« temps-réel ») </li></ul></ul><ul><ul><li>Push (pas de polling) </li></ul></ul>
  4. 4. Qu'est-ce que XMPP ? Jabber ? Jingle ? PubSub ? (2/2) <ul><li>Jingle </li></ul><ul><ul><li>Protocole d'initialisation de sessions multimédia </li></ul></ul><ul><li>Applications </li></ul><ul><ul><li>Voix </li></ul></ul><ul><ul><li>Vidéo </li></ul></ul><ul><ul><li>Fichiers </li></ul></ul><ul><ul><li>Applications multimédia </li></ul></ul><ul><li>PubSub </li></ul><ul><ul><li>Protocole de publication d'informations et de souscription aux flux d'informations </li></ul></ul><ul><ul><li>Instantané (« temps-réel ») </li></ul></ul><ul><ul><li>Push (pas de polling) </li></ul></ul><ul><li>Applications </li></ul><ul><ul><li>Présence étendue </li></ul></ul><ul><ul><ul><li>Géolocalisation </li></ul></ul></ul><ul><ul><ul><li>Activité </li></ul></ul></ul><ul><ul><li>Micro-blogging </li></ul></ul><ul><ul><li>Aggrégation </li></ul></ul><ul><ul><li>Notifications et alertes </li></ul></ul>
  5. 5. Interopérabilité : définition <ul><li>Inter-opérabilité </li></ul><ul><ul><li>Capacité de deux systèmes différents à fonctionner ensemble </li></ul></ul><ul><li>Standards ouverts </li></ul><ul><ul><li>Formats ou protocoles </li></ul></ul><ul><ul><li>Spécifications </li></ul></ul><ul><ul><li>Librement (re-)distribuables </li></ul></ul><ul><ul><li>Sans péages </li></ul></ul><ul><ul><li>Sans brevets </li></ul></ul><ul><ul><li>Sans restrictions </li></ul></ul><ul><li>Organisation indépendante, ouverte et consensuelle </li></ul><ul><li>Processus </li></ul><ul><li>Standard de fait </li></ul><ul><ul><li>Produit dominant </li></ul></ul><ul><li>Compatibilité </li></ul><ul><ul><li>Quand deux systèmes peuvent fonctionner ensemble </li></ul></ul><ul><li>Interopérabilité </li></ul><ul><ul><li>Quand on sait pourquoi et comment systèmes fonctionnent ensemble </li></ul></ul><ul><li>Domaine informatique </li></ul><ul><ul><li>Captivité client </li></ul></ul><ul><ul><li>« Embrace and extend » </li></ul></ul>
  6. 6. XMPP et interopérabilité (1/2) <ul><li>Spécifications </li></ul><ul><ul><li>Ouvertes </li></ul></ul><ul><ul><li>Libres </li></ul></ul><ul><ul><li>Consensus </li></ul></ul><ul><ul><li>Implémentations </li></ul></ul><ul><ul><li>IETF </li></ul></ul><ul><li>Tests d'interopérabilité </li></ul><ul><li>Transports, passerelles </li></ul><ul><ul><li>SMS </li></ul></ul><ul><ul><li>E-mail </li></ul></ul><ul><ul><li>RSS/Atom </li></ul></ul><ul><ul><li>IRC </li></ul></ul><ul><ul><li>IM propriétaires </li></ul></ul><ul><ul><li>Microbloggings propriétaires </li></ul></ul>
  7. 7. XMPP et interopérabilité (2/2) <ul><li>Jingle </li></ul><ul><ul><li>Pas de syndrome NIH </li></ul></ul><ul><ul><li>Recherche de l'interopérabilité </li></ul></ul><ul><ul><li>Ouvrir XMPP à la téléphonie et au multimédia </li></ul></ul><ul><ul><li>Passerelles et mappings SIP/SIMPLE </li></ul></ul><ul><ul><li>ICE, DTMF, ZRTP </li></ul></ul><ul><li>Chiffrement point à point </li></ul><ul><ul><li>OpenPGP </li></ul></ul><ul><ul><li>OTR </li></ul></ul><ul><ul><li>E2E </li></ul></ul><ul><ul><li>xTLS </li></ul></ul><ul><li>TCP, UDP </li></ul><ul><li>SASL, TLS (SSL), LZW </li></ul><ul><li>XHTML-IM </li></ul><ul><li>SOAP, XML-RPC </li></ul><ul><li>zeroconf </li></ul><ul><li>BOSH : Bidirectional-streams Over Synchronous HTTP </li></ul><ul><ul><li>Comet, AJAX </li></ul></ul><ul><li>CAP : Common Alerting Protocol </li></ul><ul><li>Oauth, OpenID, AMQP </li></ul>
  8. 8. Logiciels libres : clients et serveurs <ul><li>Purs : Spark, Psi, Gajim, Tkabber, Coccinella, SamePlace </li></ul><ul><li>Multi-protocoles : Pidgin, Adium, Kopete, Miranda </li></ul><ul><li>Web : JWChat, JabberWorld, Soashable, SparkWeb, Speeqe </li></ul><ul><li>Services : Meebo, Mabber; Mimir </li></ul><ul><li>Mobiles : Bombus, Mobber </li></ul><ul><li>Enfouis : sendxmpp, neutron </li></ul><ul><li>Applicatifs : Inkscape, Abiword, Volity, ChessPark </li></ul><ul><li>Ejabberd : erlang, scalabilité, ProcessOne </li></ul><ul><li>Openfire : Java, utilisabilité, Jive Software </li></ul><ul><li>Jabberd14 : C, le premier </li></ul><ul><li>Jabberd2 : fork jabberd </li></ul><ul><li>Djabberd : modules Perl, LiveJournal </li></ul><ul><li>Tigase : Java, embarquable </li></ul><ul><li>Prosody : Lua </li></ul>
  9. 9. Logiciels libres : bibliothèques et outils <ul><li>C : Loudmouth, Libstrophe </li></ul><ul><li>C++ : gloox, iris </li></ul><ul><li>Java : Smack </li></ul><ul><li>PHP : Class.Jabber.Php </li></ul><ul><li>Perl : Net::XMPP </li></ul><ul><li>Python : xmpppy, PyXMPP, Twisted Words, SleekXMPP </li></ul><ul><li>Javascript : JSJaC, xmpp4moz, xmpp4js </li></ul><ul><li>Ruby : xmpp4r, Jabber4R </li></ul><ul><li>erlang : jabberlang </li></ul><ul><li>C#/.Net/Mono : Jabber-net, agsXMPP </li></ul><ul><li>Tsung, idavoll, proxy65, mu-conference, Palaver, <Jdisk </li></ul>
  10. 10. État des lieux <ul><li>Adoption massive : </li></ul><ul><ul><li>100 millions d'utilisateurs </li></ul></ul><ul><ul><li>En forte croissance </li></ul></ul><ul><ul><li>Écosystème étroitement lié </li></ul></ul><ul><ul><li>Applications de plus en plus larges </li></ul></ul><ul><li>Géants de l'IT : </li></ul><ul><ul><li>Oracle, Google, Sun, Apple, Adobe, Red Hat/JBoss, IBM, HP, Nokia, Yahoo!, AOL, Cisco, tous sauf... Microsoft ! </li></ul></ul><ul><li>IM/VoIP incompatibles : </li></ul><ul><ul><li>Client, serveur, protocole : contrôle total </li></ul></ul><ul><ul><li>ICQ, AIM, QQ, Yahoo! Messenger (Yahoo! Pager), Windows Live Messenger(MSN Messenger), Skype, Gadu-gadu, C6, Nate On, MySpaceIM, Xfire, Baidu Hi, Mail.ru, Facebook, Reuters </li></ul></ul><ul><ul><li>Microsoft LCS, IBM Lotus SameTime </li></ul></ul><ul><li>Clients multiprotocoles </li></ul><ul><ul><li>Reverse engineering </li></ul></ul>
  11. 11. Perspectives <ul><li>Fonctionnalités </li></ul><ul><ul><li>Chat </li></ul></ul><ul><ul><li>Présence </li></ul></ul><ul><ul><li>Push </li></ul></ul><ul><ul><li>Temps-réel </li></ul></ul><ul><ul><li>Multimédia </li></ul></ul><ul><ul><li>Web </li></ul></ul><ul><ul><li>Mobilité </li></ul></ul><ul><li>Applications </li></ul><ul><ul><li>Groupware </li></ul></ul><ul><ul><li>Forges </li></ul></ul><ul><ul><li>ECM/CMS </li></ul></ul><ul><ul><li>Collaboratif temps-réel </li></ul></ul><ul><ul><li>Réseaux sociaux </li></ul></ul><ul><li>XMPP central et fédérateur </li></ul><ul><ul><li>Entreprises </li></ul></ul><ul><ul><li>FAI </li></ul></ul><ul><ul><li>Opérateurs telco </li></ul></ul>
  12. 12. Liens <ul><li>xmpp.org : XSF </li></ul><ul><ul><li>RFC : http://xmpp.org/rfcs/ </li></ul></ul><ul><ul><li>XEP : http://xmpp.org/extensions/ </li></ul></ul><ul><li>ietf.org : IETF </li></ul><ul><li>jabberfr.org : </li></ul><ul><ul><li>Communauté francophone </li></ul></ul><ul><ul><li>Forum, wiki, news, planet </li></ul></ul><ul><ul><li>MUC, random chat, présence sur le web </li></ul></ul>

×