jabber is more than instant messaging
DESCRIPTION
TRANSCRIPT
EuroOsconk: Jabber – Florian Holzhauer - #1
<?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> <?xml version='1.0'?> <stream:stream
Jabber is more than Instant MessagingJabber is more than Instant Messaging
O'Reilly EuroOscon
20/09/2006
Florian Holzhauer
EuroOsconk: Jabber – Florian Holzhauer - #2
<?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> <?xml version='1.0'?> <stream:stream
IntroIntro
● 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 - #3
<?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> <?xml version='1.0'?> <stream:stream
InfrastructureInfrastructure
● 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 - #4
<?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> <?xml version='1.0'?> <stream:stream
Server infrastructureServer infrastructure
● Jabberd routing
router
c2sPorts 5222/5223
dns sessions
s2s
transports
sessions
GatewaysAIM/ICQ/MSN/Yahoo
SMS/eMail/IRC/RSS...
some.jabberd.comPort 5269
SRV _xmpp-server._tcp.some.jabberd.com
*@jabber.ccc.de
(jabberd14 as example..)(jabberd14 as example..)
EuroOsconk: Jabber – Florian Holzhauer - #5
<?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> <?xml version='1.0'?> <stream:stream
Running a jabberdRunning a jabberd
● http://www.jabber.org/software/servers.shtml ● Ejabberd - erlang● Jabberd1.4 – C● Wildfire – 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 - #6
<?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> <?xml version='1.0'?> <stream:stream
Pubsub (JEP 0060)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 - #7
<?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> <?xml version='1.0'?> <stream:stream
Atom over PubsubAtom over Pubsub
● „RSS over XMPP“● No repeated polling
● Less traffic● Instant Notification
● Faster● Node „sharing“
● Several publishers● Subscription Management
EuroOsconk: Jabber – Florian Holzhauer - #8
<?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> <?xml version='1.0'?> <stream:stream
Common Alterting ProtocolCommon 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 - #9
<?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> <?xml version='1.0'?> <stream:stream
CapWinCapWin
● 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 - #10
<?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> <?xml version='1.0'?> <stream:stream
HTTP Auth via JabberHTTP Auth via Jabber
● „Single Sign on“● JEP 0070
EuroOsconk: Jabber – Florian Holzhauer - #11
<?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> <?xml version='1.0'?> <stream:stream
Virtual PresenceVirtual Presence
● Each user has its avatar● Customizable● Animation
● Shown in the browser● Chatting capabilities● JEP 0151
EuroOsconk: Jabber – Florian Holzhauer - #12
<?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> <?xml version='1.0'?> <stream:stream
LlunaLluna
● 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 - #13
<?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> <?xml version='1.0'?> <stream:stream
SIP/Simple/JingleSIP/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 - #14
<?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> <?xml version='1.0'?> <stream:stream
HTTP BindingHTTP Binding
● JEP 0124● Jabber over HTTP● Encapsulated in <body>
● Javascript-based Jabber-Client● „Web 2.0“
● Mabber● JWChat
EuroOsconk: Jabber – Florian Holzhauer - #15
<?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> <?xml version='1.0'?> <stream:stream
Server MonitoringServer Monitoring
● Nagios supports Jabber● Jabber ID = machine● Sputnik – Wlan Access Points
● Accounting ● Administration● Monitoring
EuroOsconk: Jabber – Florian Holzhauer - #16
<?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> <?xml version='1.0'?> <stream:stream
Support/Knowledge ManagementSupport/Knowledge Management
● Find an „expert“ via Jabber● Implemented by Qunu● Jabber conferences
EuroOsconk: Jabber – Florian Holzhauer - #17
<?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> <?xml version='1.0'?> <stream:stream
Other ideasOther ideas
● Multiuser games● Blogging
● Livejournal has „Jabber support“● Integration into „Web 2.0“ communities● ...
EuroOsconk: Jabber – Florian Holzhauer - #18
<?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> <?xml version='1.0'?> <stream:stream
Jabber and the „officials“: US armyJabber 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 - #19
<?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> <?xml version='1.0'?> <stream:stream
Coding with jabber?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 - #20
<?xml version='1.0'?> <stream:stream to='jabber.ccc.de' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> <?xml version='1.0'?> <stream:stream
Hey, wake up! It's over.Hey, wake up! It's over.
● Slides + Urls: http://fholzhauer.de/docs/euos2006/
● Any questions?● Feel free to contact me via jabber: