SlideShare a Scribd company logo
1 of 20
Download to read offline
?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

More Related Content

What's hot

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
 

What's hot (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
 

Viewers also liked

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
 

Viewers also liked (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
 

Similar to 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
 

Similar to 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?
 

Recently uploaded

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 

Recently uploaded (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 

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