SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream




        Jabber is more than Instant Messaging



                                              O'Reilly EuroOscon

                                                 20/09/2006
                                                    Florian Holzhauer

                                                  jid: fh@jabber.ccc.de
                                                 mail: fh-j@fholzhauer.de




EuroOsconk: Jabber – Florian Holzhauer - #1
?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream




                                                    Intro

             ●    Jabber / XMPP
                    ●   eXtensible Message and Presence Protocol
             ●    JEPs: Jabber Enhancement Proposal
                    ●   XEP?
             ●    Jabber is open
                    ●   New ideas, anyone?
                    ●   xmpp.org
                    ●   Jabber.org




EuroOsconk: Jabber – Florian Holzhauer - #2
?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream




                                              Infrastructure

             ●    Decentralized Dynamical Network
                    ●   „like Mail“
             ●    XMPP: RFC 3920-3924
             ●    Several jabberd-implementations
             ●    SRV records
             ●    Lots of clients
                    ●   Even for OS/2, Amiga, Symbian and Newton
                    ●   Google Talk
                    ●   Livejournal
                    ●   Mabber


EuroOsconk: Jabber – Florian Holzhauer - #3
?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream




                                        Server infrastructure
                                                    (jabberd14 as example..)


             ●    Jabberd routing

                                                        sessions                            some.jabberd.com
                                        dns
                                                                                            Port 5269

                                                                                            SRV _xmpp-server._tcp.some.jabberd.com
                                                                                s2s
      *@jabber.ccc.de

                                                                                                 Gateways
                                                                                                 AIM/ICQ/MSN/Yahoo
                                                    router
                                                                                                 SMS/eMail/IRC/RSS...

                                                                               transports
                                  c2s
                                  Ports 5222/5223
     fh@jabber.ccc.de
EuroOsconk: Jabber – Florian Holzhauer - #4
?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream




                                              Running a jabberd

             ●    http://www.jabber.org/software/servers.shtml
                    ●   Ejabberd - erlang
                    ●   Jabberd1.4 – C
                    ●   W ildfire – Java
                    ●   Several others - some weird, some cool.
             ●    Resource usage?
             ●    Start small, extend later
             ●    Few gateway users == no trouble
             ●    Backend storage
                    ●   *sql, ldap, files, berkeley db?



EuroOsconk: Jabber – Florian Holzhauer - #5
?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream




                                          Pubsub (JEP 0060)

             ●    Push mechanism for any content
                    ●   Media provider offers „node“
                    ●   You subscribe to the node
                    ●   When content changes all subscribers are notified
             ●    Various content possible
             ●    Several Standards
                    ●   Atom over Pubsub
                    ●   User Mood
                    ●   Avatar Picture
                    ●   User Tune („Now playing“)
                    ●   ...

EuroOsconk: Jabber – Florian Holzhauer - #6
?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream




                                              Atom over Pubsub

             ●    „RSS over XMPP“
             ●    No repeated polling
                    ●   Less traffic
             ●    Instant Notification
                    ●   Faster
             ●    Node „sharing“
                    ●   Several publishers
             ●    Subscription Management




EuroOsconk: Jabber – Florian Holzhauer - #7
?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream




                             Common Alterting Protocol

             ●    JEP 0127
             ●    „to collect and relay all types of hazard warnings
                  and reports“
             ●    Instant delivery
             ●    Used in the CapWin Project – Maryland, Virginia




EuroOsconk: Jabber – Florian Holzhauer - #8
?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream




                                                CapWin

             ●    Jabber/Web based system
             ●    „CapWIN is a partnership [..] to develop an
                  interoperable first responder data communication
                  and information sharing network“
             ●    47 agencies, 1754 users




EuroOsconk: Jabber – Florian Holzhauer - #9
?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream




                                     HTTP Auth via Jabber

             ●   „Single Sign on“
             ●   JEP 0070




EuroOsconk: Jabber – Florian Holzhauer - #10
?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream




                                               Virtual Presence

             ●   Each user has its avatar
                    ●   Customizable
                    ●   Animation
             ●   Shown in the browser
             ●   Chatting capabilities
             ●   JEP 0151




EuroOsconk: Jabber – Florian Holzhauer - #11
?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream




                                                   Lluna



             ●   Same Website = Same Interests
             ●   Chat with visitors of the same website
             ●   Privacy: <md5sum-of-website>@conference
             ●   Currently windows only
             ●   Open Source
             ●   Shopping Assistant on Website



EuroOsconk: Jabber – Florian Holzhauer - #12
?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream




                                               SIP/Simple/Jingle

             ●   SIP/Simple can be replaced using Jabber
             ●   Jabber is more extensible
             ●   One central server
                    ●   Logging is easy, and important for financial
                        companies due to regulations by the Securities
                        Exchange Commission
             ●   Big installation by Bell South
             ●   Jingle
                    ●   VoIP via Jabber
                    ●   Google Talk


EuroOsconk: Jabber – Florian Holzhauer - #13
?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream




                                               HTTP Binding

             ●   JEP 0124
                    ●   Jabber over HTTP
                    ●   Encapsulated in <body>
             ●   Javascript-based Jabber-Client
             ●   „Web 2.0“
                    ●   Mabber
                    ●   JWChat




EuroOsconk: Jabber – Florian Holzhauer - #14
?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream




                                               Server Monitoring

             ●   Nagios supports Jabber
             ●   Jabber ID = machine
             ●   Sputnik – Wlan Access Points
                    ●   Accounting
                    ●   Administration
                    ●   Monitoring




EuroOsconk: Jabber – Florian Holzhauer - #15
?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream




                   Support/Knowledge Management

             ●   Find an „expert“ via Jabber
             ●   Implemented by Qunu
             ●   Jabber conferences




EuroOsconk: Jabber – Florian Holzhauer - #16
?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream




                                               Other ideas

             ●   Multiuser games
             ●   Blogging
                    ●   Livejournal has „Jabber support“
             ●   Integration into „Web 2.0“ communities
             ●   ...




EuroOsconk: Jabber – Florian Holzhauer - #17
?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream




                 Jabber and the „officials“: US army

             ●   „U.S. Army Future Combat System“
             ●   Developed by Boeing
             ●   „connect people and sensors in real time“
             ●   Chat services provided by jabber




EuroOsconk: Jabber – Florian Holzhauer - #18
?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream




                                         Coding with jabber?

             ●   Well documented
             ●   Libraries for most common languages
                    ●   Perl
                    ●   Python
                    ●   C++
                    ●   Ruby
                    ●   Java
                    ●   Dylan
                    ●   ...
             ●   A lot of sample code online, some nice books
             ●   Please: Not yet another new desktop client.

EuroOsconk: Jabber – Florian Holzhauer - #19
?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream




                                   Hey, wake up! It's over.

       ●    Slides + Urls:
            http://fholzhauer.de/docs/euos2006/
       ●    Any questions?
       ●    Feel free to contact me via jabber:
             ● fh@jabber.ccc.de




EuroOsconk: Jabber – Florian Holzhauer - #20

Contenu connexe

Tendances

Introduction to WebSockets
Introduction to WebSocketsIntroduction to WebSockets
Introduction to WebSocketsGunnar Hillert
 
Real-Time with Flowdock
Real-Time with FlowdockReal-Time with Flowdock
Real-Time with FlowdockFlowdock
 
Apache httpd-2.4 : Watch out cloud!
Apache httpd-2.4 : Watch out cloud!Apache httpd-2.4 : Watch out cloud!
Apache httpd-2.4 : Watch out cloud!Jim Jagielski
 
Plone Deployment (PloneConf Edition)
Plone Deployment (PloneConf Edition)Plone Deployment (PloneConf Edition)
Plone Deployment (PloneConf Edition)Steve McMahon
 
Converting Your DEV Environment to a Docker Stack
Converting Your DEV Environment to a Docker StackConverting Your DEV Environment to a Docker Stack
Converting Your DEV Environment to a Docker StackDana Luther
 
Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014Arun Gupta
 
Converting your DEV Environment to a Docker Stack - ZCOE18
Converting your DEV Environment to a Docker Stack - ZCOE18Converting your DEV Environment to a Docker Stack - ZCOE18
Converting your DEV Environment to a Docker Stack - ZCOE18Dana Luther
 
An Introduction to Apache ServiceMix 4 - FUSE ESB
An Introduction to Apache ServiceMix 4 - FUSE ESBAn Introduction to Apache ServiceMix 4 - FUSE ESB
An Introduction to Apache ServiceMix 4 - FUSE ESBAdrian Trenaman
 
Fighting XMPP abuse and spam with ejabberd - ejabberd Workshop #1
Fighting XMPP abuse and spam with ejabberd - ejabberd Workshop #1Fighting XMPP abuse and spam with ejabberd - ejabberd Workshop #1
Fighting XMPP abuse and spam with ejabberd - ejabberd Workshop #1Mickaël Rémond
 
Plone Deployment Secrets & Tricks
Plone Deployment Secrets & TricksPlone Deployment Secrets & Tricks
Plone Deployment Secrets & TricksSteve McMahon
 
Full-Stack Plone Deployment with Ansible
Full-Stack Plone Deployment with AnsibleFull-Stack Plone Deployment with Ansible
Full-Stack Plone Deployment with AnsibleSteve McMahon
 
MNPHP Scalable Architecture 101 - Feb 3 2011
MNPHP Scalable Architecture 101 - Feb 3 2011MNPHP Scalable Architecture 101 - Feb 3 2011
MNPHP Scalable Architecture 101 - Feb 3 2011Mike Willbanks
 
HTML5 WebSocket Introduction
HTML5 WebSocket IntroductionHTML5 WebSocket Introduction
HTML5 WebSocket IntroductionMarcelo Jabali
 
Bandwidth limiting howto
Bandwidth limiting howtoBandwidth limiting howto
Bandwidth limiting howtoDien Hien Tran
 

Tendances (20)

Introduction to WebSockets
Introduction to WebSocketsIntroduction to WebSockets
Introduction to WebSockets
 
Real-Time with Flowdock
Real-Time with FlowdockReal-Time with Flowdock
Real-Time with Flowdock
 
Apache httpd-2.4 : Watch out cloud!
Apache httpd-2.4 : Watch out cloud!Apache httpd-2.4 : Watch out cloud!
Apache httpd-2.4 : Watch out cloud!
 
Web sockets in Java
Web sockets in JavaWeb sockets in Java
Web sockets in Java
 
Plone Deployment (PloneConf Edition)
Plone Deployment (PloneConf Edition)Plone Deployment (PloneConf Edition)
Plone Deployment (PloneConf Edition)
 
Converting Your DEV Environment to a Docker Stack
Converting Your DEV Environment to a Docker StackConverting Your DEV Environment to a Docker Stack
Converting Your DEV Environment to a Docker Stack
 
Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014
 
Converting your DEV Environment to a Docker Stack - ZCOE18
Converting your DEV Environment to a Docker Stack - ZCOE18Converting your DEV Environment to a Docker Stack - ZCOE18
Converting your DEV Environment to a Docker Stack - ZCOE18
 
WebSockets in JEE 7
WebSockets in JEE 7WebSockets in JEE 7
WebSockets in JEE 7
 
An Introduction to Apache ServiceMix 4 - FUSE ESB
An Introduction to Apache ServiceMix 4 - FUSE ESBAn Introduction to Apache ServiceMix 4 - FUSE ESB
An Introduction to Apache ServiceMix 4 - FUSE ESB
 
Cometdの紹介
Cometdの紹介Cometdの紹介
Cometdの紹介
 
Fighting XMPP abuse and spam with ejabberd - ejabberd Workshop #1
Fighting XMPP abuse and spam with ejabberd - ejabberd Workshop #1Fighting XMPP abuse and spam with ejabberd - ejabberd Workshop #1
Fighting XMPP abuse and spam with ejabberd - ejabberd Workshop #1
 
Plone Deployment Secrets & Tricks
Plone Deployment Secrets & TricksPlone Deployment Secrets & Tricks
Plone Deployment Secrets & Tricks
 
Full-Stack Plone Deployment with Ansible
Full-Stack Plone Deployment with AnsibleFull-Stack Plone Deployment with Ansible
Full-Stack Plone Deployment with Ansible
 
Html5 security
Html5 securityHtml5 security
Html5 security
 
MNPHP Scalable Architecture 101 - Feb 3 2011
MNPHP Scalable Architecture 101 - Feb 3 2011MNPHP Scalable Architecture 101 - Feb 3 2011
MNPHP Scalable Architecture 101 - Feb 3 2011
 
Rest Vs Soap Yawn2289
Rest Vs Soap Yawn2289Rest Vs Soap Yawn2289
Rest Vs Soap Yawn2289
 
Php push notifications
Php push notificationsPhp push notifications
Php push notifications
 
HTML5 WebSocket Introduction
HTML5 WebSocket IntroductionHTML5 WebSocket Introduction
HTML5 WebSocket Introduction
 
Bandwidth limiting howto
Bandwidth limiting howtoBandwidth limiting howto
Bandwidth limiting howto
 

En vedette

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
 
Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Florian Holzhauer
 
Linkspam: Erkennung und Unterdrückung
Linkspam: Erkennung und UnterdrückungLinkspam: Erkennung und Unterdrückung
Linkspam: Erkennung und UnterdrückungFlorian 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
 

En vedette (8)

DTN Routing Verfahren
DTN Routing VerfahrenDTN Routing Verfahren
DTN Routing Verfahren
 
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
 
IP Geolocation
IP GeolocationIP Geolocation
IP Geolocation
 
Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012
 
Linkspam: Erkennung und Unterdrückung
Linkspam: Erkennung und UnterdrückungLinkspam: Erkennung und Unterdrückung
Linkspam: Erkennung und Unterdrückung
 
bephpug - varnish & co
bephpug - varnish & cobephpug - varnish & co
bephpug - varnish & co
 
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
 
Jabber/XMPP
Jabber/XMPPJabber/XMPP
Jabber/XMPP
 

Similaire à Jabber is more than instant messaging

Messaging With Erlang And Jabber
Messaging With  Erlang And  JabberMessaging With  Erlang And  Jabber
Messaging With Erlang And Jabberl xf
 
Rails hosting
Rails hostingRails hosting
Rails hostingwonko
 
Comet: Making The Web a 2-Way Medium
Comet: Making The Web a 2-Way MediumComet: Making The Web a 2-Way Medium
Comet: Making The Web a 2-Way MediumJoe Walker
 
Why we choose Symfony2
Why we choose Symfony2Why we choose Symfony2
Why we choose Symfony2Merixstudio
 
Microblogging via XMPP
Microblogging via XMPPMicroblogging via XMPP
Microblogging via XMPPStoyan Zhekov
 
Ejabberd installation configuration
Ejabberd installation configurationEjabberd installation configuration
Ejabberd installation configurationShaojie Yang
 
Developing realtime apps with Drupal and NodeJS
Developing realtime apps with Drupal and NodeJS Developing realtime apps with Drupal and NodeJS
Developing realtime apps with Drupal and NodeJS drupalcampest
 
Chat app case study - xmpp vs SIP
Chat app case study - xmpp vs SIPChat app case study - xmpp vs SIP
Chat app case study - xmpp vs SIPGenora Infotech
 
How to run a bank on Apache CloudStack
How to run a bank on Apache CloudStackHow to run a bank on Apache CloudStack
How to run a bank on Apache CloudStackgjdevos
 
XMPP-IoT Protocol designed mainly to send mesages
XMPP-IoT Protocol designed mainly to send mesagesXMPP-IoT Protocol designed mainly to send mesages
XMPP-IoT Protocol designed mainly to send mesagesssuserd1be3f1
 
Ejabberd with xmpp
Ejabberd with xmppEjabberd with xmpp
Ejabberd with xmppPrem Narain
 
AMF Flash and .NET
AMF Flash and .NETAMF Flash and .NET
AMF Flash and .NETYaniv Uriel
 
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhereEduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhereStarTech Conference
 
In Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
In Pursuit of the Holy Grail: Building Isomorphic JavaScript AppsIn Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
In Pursuit of the Holy Grail: Building Isomorphic JavaScript AppsSpike Brehm
 
Server-Side JavaScript Developement - Node.JS Quick Tour
Server-Side JavaScript Developement - Node.JS Quick TourServer-Side JavaScript Developement - Node.JS Quick Tour
Server-Side JavaScript Developement - Node.JS Quick Tourq3boy
 
Martin Zeiser, Universal Pwn n Play - pacsec -final
Martin Zeiser, Universal Pwn n Play - pacsec -finalMartin Zeiser, Universal Pwn n Play - pacsec -final
Martin Zeiser, Universal Pwn n Play - pacsec -finalPacSecJP
 
Alfresco Rumors: XMPP Enable Alfresco nodes (POC)
Alfresco Rumors: XMPP Enable Alfresco nodes (POC)Alfresco Rumors: XMPP Enable Alfresco nodes (POC)
Alfresco Rumors: XMPP Enable Alfresco nodes (POC)Jared Ottley
 
Nodejs a-practical-introduction-oredev
Nodejs a-practical-introduction-oredevNodejs a-practical-introduction-oredev
Nodejs a-practical-introduction-oredevFelix Geisendörfer
 
Challenges and experiences with IPTV from a network point of view
Challenges and experiences with IPTV from a network point of viewChallenges and experiences with IPTV from a network point of view
Challenges and experiences with IPTV from a network point of viewbrouer
 
Kann JavaScript elegant sein?
Kann JavaScript elegant sein?Kann JavaScript elegant sein?
Kann JavaScript elegant sein?jbandi
 

Similaire à Jabber is more than instant messaging (20)

Messaging With Erlang And Jabber
Messaging With  Erlang And  JabberMessaging With  Erlang And  Jabber
Messaging With Erlang And Jabber
 
Rails hosting
Rails hostingRails hosting
Rails hosting
 
Comet: Making The Web a 2-Way Medium
Comet: Making The Web a 2-Way MediumComet: Making The Web a 2-Way Medium
Comet: Making The Web a 2-Way Medium
 
Why we choose Symfony2
Why we choose Symfony2Why we choose Symfony2
Why we choose Symfony2
 
Microblogging via XMPP
Microblogging via XMPPMicroblogging via XMPP
Microblogging via XMPP
 
Ejabberd installation configuration
Ejabberd installation configurationEjabberd installation configuration
Ejabberd installation configuration
 
Developing realtime apps with Drupal and NodeJS
Developing realtime apps with Drupal and NodeJS Developing realtime apps with Drupal and NodeJS
Developing realtime apps with Drupal and NodeJS
 
Chat app case study - xmpp vs SIP
Chat app case study - xmpp vs SIPChat app case study - xmpp vs SIP
Chat app case study - xmpp vs SIP
 
How to run a bank on Apache CloudStack
How to run a bank on Apache CloudStackHow to run a bank on Apache CloudStack
How to run a bank on Apache CloudStack
 
XMPP-IoT Protocol designed mainly to send mesages
XMPP-IoT Protocol designed mainly to send mesagesXMPP-IoT Protocol designed mainly to send mesages
XMPP-IoT Protocol designed mainly to send mesages
 
Ejabberd with xmpp
Ejabberd with xmppEjabberd with xmpp
Ejabberd with xmpp
 
AMF Flash and .NET
AMF Flash and .NETAMF Flash and .NET
AMF Flash and .NET
 
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhereEduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
 
In Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
In Pursuit of the Holy Grail: Building Isomorphic JavaScript AppsIn Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
In Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
 
Server-Side JavaScript Developement - Node.JS Quick Tour
Server-Side JavaScript Developement - Node.JS Quick TourServer-Side JavaScript Developement - Node.JS Quick Tour
Server-Side JavaScript Developement - Node.JS Quick Tour
 
Martin Zeiser, Universal Pwn n Play - pacsec -final
Martin Zeiser, Universal Pwn n Play - pacsec -finalMartin Zeiser, Universal Pwn n Play - pacsec -final
Martin Zeiser, Universal Pwn n Play - pacsec -final
 
Alfresco Rumors: XMPP Enable Alfresco nodes (POC)
Alfresco Rumors: XMPP Enable Alfresco nodes (POC)Alfresco Rumors: XMPP Enable Alfresco nodes (POC)
Alfresco Rumors: XMPP Enable Alfresco nodes (POC)
 
Nodejs a-practical-introduction-oredev
Nodejs a-practical-introduction-oredevNodejs a-practical-introduction-oredev
Nodejs a-practical-introduction-oredev
 
Challenges and experiences with IPTV from a network point of view
Challenges and experiences with IPTV from a network point of viewChallenges and experiences with IPTV from a network point of view
Challenges and experiences with IPTV from a network point of view
 
Kann JavaScript elegant sein?
Kann JavaScript elegant sein?Kann JavaScript elegant sein?
Kann JavaScript elegant sein?
 

Dernier

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Dernier (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Jabber is more than instant messaging

  • 1. ?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream Jabber is more than Instant Messaging O'Reilly EuroOscon 20/09/2006 Florian Holzhauer jid: fh@jabber.ccc.de mail: fh-j@fholzhauer.de EuroOsconk: Jabber – Florian Holzhauer - #1
  • 2. ?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream Intro ● Jabber / XMPP ● eXtensible Message and Presence Protocol ● JEPs: Jabber Enhancement Proposal ● XEP? ● Jabber is open ● New ideas, anyone? ● xmpp.org ● Jabber.org EuroOsconk: Jabber – Florian Holzhauer - #2
  • 3. ?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream Infrastructure ● Decentralized Dynamical Network ● „like Mail“ ● XMPP: RFC 3920-3924 ● Several jabberd-implementations ● SRV records ● Lots of clients ● Even for OS/2, Amiga, Symbian and Newton ● Google Talk ● Livejournal ● Mabber EuroOsconk: Jabber – Florian Holzhauer - #3
  • 4. ?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream Server infrastructure (jabberd14 as example..) ● Jabberd routing sessions some.jabberd.com dns Port 5269 SRV _xmpp-server._tcp.some.jabberd.com s2s *@jabber.ccc.de Gateways AIM/ICQ/MSN/Yahoo router SMS/eMail/IRC/RSS... transports c2s Ports 5222/5223 fh@jabber.ccc.de EuroOsconk: Jabber – Florian Holzhauer - #4
  • 5. ?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream Running a jabberd ● http://www.jabber.org/software/servers.shtml ● Ejabberd - erlang ● Jabberd1.4 – C ● W ildfire – Java ● Several others - some weird, some cool. ● Resource usage? ● Start small, extend later ● Few gateway users == no trouble ● Backend storage ● *sql, ldap, files, berkeley db? EuroOsconk: Jabber – Florian Holzhauer - #5
  • 6. ?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream Pubsub (JEP 0060) ● Push mechanism for any content ● Media provider offers „node“ ● You subscribe to the node ● When content changes all subscribers are notified ● Various content possible ● Several Standards ● Atom over Pubsub ● User Mood ● Avatar Picture ● User Tune („Now playing“) ● ... EuroOsconk: Jabber – Florian Holzhauer - #6
  • 7. ?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream Atom over Pubsub ● „RSS over XMPP“ ● No repeated polling ● Less traffic ● Instant Notification ● Faster ● Node „sharing“ ● Several publishers ● Subscription Management EuroOsconk: Jabber – Florian Holzhauer - #7
  • 8. ?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream Common Alterting Protocol ● JEP 0127 ● „to collect and relay all types of hazard warnings and reports“ ● Instant delivery ● Used in the CapWin Project – Maryland, Virginia EuroOsconk: Jabber – Florian Holzhauer - #8
  • 9. ?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream CapWin ● Jabber/Web based system ● „CapWIN is a partnership [..] to develop an interoperable first responder data communication and information sharing network“ ● 47 agencies, 1754 users EuroOsconk: Jabber – Florian Holzhauer - #9
  • 10. ?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream HTTP Auth via Jabber ● „Single Sign on“ ● JEP 0070 EuroOsconk: Jabber – Florian Holzhauer - #10
  • 11. ?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream Virtual Presence ● Each user has its avatar ● Customizable ● Animation ● Shown in the browser ● Chatting capabilities ● JEP 0151 EuroOsconk: Jabber – Florian Holzhauer - #11
  • 12. ?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream Lluna ● Same Website = Same Interests ● Chat with visitors of the same website ● Privacy: <md5sum-of-website>@conference ● Currently windows only ● Open Source ● Shopping Assistant on Website EuroOsconk: Jabber – Florian Holzhauer - #12
  • 13. ?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream SIP/Simple/Jingle ● SIP/Simple can be replaced using Jabber ● Jabber is more extensible ● One central server ● Logging is easy, and important for financial companies due to regulations by the Securities Exchange Commission ● Big installation by Bell South ● Jingle ● VoIP via Jabber ● Google Talk EuroOsconk: Jabber – Florian Holzhauer - #13
  • 14. ?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream HTTP Binding ● JEP 0124 ● Jabber over HTTP ● Encapsulated in <body> ● Javascript-based Jabber-Client ● „Web 2.0“ ● Mabber ● JWChat EuroOsconk: Jabber – Florian Holzhauer - #14
  • 15. ?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream Server Monitoring ● Nagios supports Jabber ● Jabber ID = machine ● Sputnik – Wlan Access Points ● Accounting ● Administration ● Monitoring EuroOsconk: Jabber – Florian Holzhauer - #15
  • 16. ?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream Support/Knowledge Management ● Find an „expert“ via Jabber ● Implemented by Qunu ● Jabber conferences EuroOsconk: Jabber – Florian Holzhauer - #16
  • 17. ?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream Other ideas ● Multiuser games ● Blogging ● Livejournal has „Jabber support“ ● Integration into „Web 2.0“ communities ● ... EuroOsconk: Jabber – Florian Holzhauer - #17
  • 18. ?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream Jabber and the „officials“: US army ● „U.S. Army Future Combat System“ ● Developed by Boeing ● „connect people and sensors in real time“ ● Chat services provided by jabber EuroOsconk: Jabber – Florian Holzhauer - #18
  • 19. ?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream Coding with jabber? ● Well documented ● Libraries for most common languages ● Perl ● Python ● C++ ● Ruby ● Java ● Dylan ● ... ● A lot of sample code online, some nice books ● Please: Not yet another new desktop client. EuroOsconk: Jabber – Florian Holzhauer - #19
  • 20. ?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/stream Hey, wake up! It's over. ● Slides + Urls: http://fholzhauer.de/docs/euos2006/ ● Any questions? ● Feel free to contact me via jabber: ● fh@jabber.ccc.de EuroOsconk: Jabber – Florian Holzhauer - #20