Loading...
Flash Player 9 (or above) is needed to view slideshows. We have detected that you do not have it on your computer.To install it, go here
 
Post to Twitter Post to Twitter
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons
SlideShare is now available on LinkedIn. Add it to your LinkedIn profile.

Jabber, the Real-Time Internet, and You

From stpeter, 2 years ago Add as contact

An overview of how Jabber technologies are being used to build all sorts of real-time applications.

1780 views | 0 comments | 5 favorites | 171 downloads | 0 embeds (Stats)

Categories

Technology
Embed in your blog options close
Embed (wordpress.com) Exclude related slideshows Embed in your blog

More Info

This slideshow is Public
CC Attribution License
Total Views: 1780 on Slideshare: 1780 from embeds: 0
Flagged as inappropriate Flag as inappropriate

Flag as inappropriate

Select your reason for flagging this slideshow as inappropriate.

If needed, use the feedback form to let us know more details.

Slideshow Transcript

  1. Slide 1: Jabber, the Real-Time Internet, and You Peter Saint-Andre
  2. Slide 2: About Me • Executive Director, XMPP Standards Foundation <http://xmpp.org/> • Maintainer, Jabber community <http://www.jabber.org/> • Editor, XMPP RFCs • Author, ~50 XMPP extensions • Blogging at <https://stpeter.im/>
  3. Slide 3: Message + Reply, London to Calcutta • 1800: 2 years (sailing ship) • 1914: 1 month (steamship) • 1950: 1 week (air mail) • 1980: 2 days (overnight mail) • 1993: 10 minutes (commercial email) • 1999: 1 second (instant messaging)
  4. Slide 4: What it Means • The half-life of information is shrinking • We need to build a more real-time Internet • We need to deliver information just-in-time, when and where it is needed • We need to know when people, devices, and applications are online (“presence”)
  5. Slide 5: Why Presence? • A dial-tone for the real-time Internet • A catalyst for communication • Basic: network availability • Advanced: identity, activity, mood, location, capabilities, etc. • Not just people, also devices & applications
  6. Slide 6: What is Jabber? • A set of open XML technologies for... • Real-time messaging • Presence • Multimedia negotiation • Structured information exchange • And more...
  7. Slide 7: Jabber Technologies • Extensible: streaming XML over TCP • Open: not patent-encumbered, many open- source implementations • Standard: formalized via IETF as XMPP (Extensible Messaging & Presence Protocol) • Secure: TLS/SSL, SASL authentication, etc. • Decentralized: domain-based routing
  8. Slide 8: Jabber History • 1999: initial release by Jeremie Miller • 2000: core technology stable • 2001: Jabber Software Foundation • 2004: XMPP RFCs published • 2005: Google Talk service • 2006: XMPP on DoD standards registry
  9. Slide 9: Technology Ecosystem • Multiple server codebases • IM clients for every platform • Code libraries for every language • Open, standard protocols • No license restrictions (open source, commercial, freeware, shareware, etc.)
  10. Slide 10: Distributed Network • Client-server architecture • Inter-domain messaging (like email) • 50+ million end users • 100k+ deployed servers • All numbers are approximate -- how many email users/servers are there?
  11. Slide 11: Serious Deployment • Services: Google Talk, Live Journal, GMX, NTT, Portugal Telecom, BellSouth, etc. • Enterprises: HP, EDS, FedEx, Oracle, Sun, most Wall Street banks, etc. • Government: DISA approved, SIPRnet, etc. • Universities: MIT, Penn, Duke, Wisconsin, etc. • Web 2.0: Twitter, Jaiku, Joost, OLPC, etc.
  12. Slide 12: Developer Freedom • Run your own server • Write your own components • Integrate with existing systems • Mix and match open-source & commercial • Design your own extensions (it’s just XML) • Build your own real-time applications
  13. Slide 13: Interoperability? • Core protocols defined in RFCs: XML streaming, security, messaging, presence • XMPP extensions (XEP series) defined by XMPP Standards Foundation • Strong commitment to interoperability and common standards in developer community • No vendor lock-in!
  14. Slide 14: What You Get • Jabber server = XML router + presence engine • Application server for the real-time Internet • Much more than just IM • Extensibility via XML • [insert your XML format here]
  15. Slide 15: Basic Applications • IM and group chat • Just teen chat, right? Wrong! • Trading desks on Wall Street • Incident rooms among first responders • Chat rooms for military comms • Expert support (e.g., qunu.com)
  16. Slide 16: Consumer Applications • Shared browsing (e.g., me.dium) • Gaming (e.g., ChessPark) • Micro-blogging / RSS+Atom notifications (Twitter, Jaiku, etc.) • Whiteboarding (Inkscape, etc.) • IP TV (Joost)
  17. Slide 17: Enterprise Applications • Financial modeling (RSS to spreadsheet cells) • Geolocation (e.g., trakm8) • Workflow processing / supply chain management (e.g., Reynolds & Reynolds) • Energy trading (e.g., Netenergy) • Network management (e.g., Oracom) • Collaborative data objects
  18. Slide 18: Multimedia Applications • Negotiate session parameters via XMPP • Exchange media out of band • Google Talk / Jingle • Nokia 770/800, OLPC, FreeSwitch, etc. • Asterisk federation
  19. Slide 19: How It Works • Client opens XML stream to server via TCP on port 5222 • Client authenticates with server • Client sends unlimited number of XML “stanzas” • Server may open streams to other servers for dynamic inter-domain federation
  20. Slide 20: Smart Connections • HTTP “streaming” method similar to Comet model (no long-lived TCP connection) • Link-local messaging via zero-configuration networking (Apple Bonjour, OLPC) • Stream compression results in significant bandwidth savings (up to 90%)
  21. Slide 21: Security • Transport Layer Security (TLS) for channel encryption • Simple Authentication & Security Layer (SASL) for authentication (DIGEST-MD5, Kerberos, X.509 certificates, etc.) • Server dialback to discourage address spoofing, server certs for strong identity • S/MIME or PGP for end-to-end encryption
  22. Slide 22: Look Ma, No Spam • Domain spoofing is difficult • Pure XML not friendly to malware • XHTML subset (no scripts or images) • Preventive measures defined if spam appears • Exploring reputation system for servers
  23. Slide 23: Internationalization • Full Unicode addresses -- not limited to ASCII • All XML traffic is UTF-8 encoded • Multiple languages via xml:lang • Real-time translation protocol under development (US JFCOM)
  24. Slide 24: Group Chat • Chat rooms -- similar to IRC channels • Room acts as reflector for message and presence traffic • Defined in XEP-0045 • Very popular in financial and military deployments • Working on distributed rooms
  25. Slide 25: Service Discovery • Easy to locate services on the network (XEP-0030) • No “crawlers” or directory services yet, but needed • Dynamic capabilities discovery and notification via presence (XEP-0115)
  26. Slide 26: Personal Eventing • Ability to use IM account as locus for notifications • Any XML payload: activity, location, mood, tune, gaming, browsing, blogging, etc. • Generalized publish-subscribe services for people, devices, and applications (XEP-0060) • Real-time RSS and Atom feeds
  27. Slide 27: Jingle • Flexible framework for management of multimedia sessions (XEP-0166) • Signalling via XMPP, media out of band • Pluggable transports (ICE-UDP, ICE-TCP, direct UDP, etc.) • Pluggable media types (voice, video, file sharing, etc.)
  28. Slide 28: Current Focus • RFC revisions • Finalizing Jingle for VoIP • Wide deployment of personal eventing • Shared XML editing / whiteboarding • Further spam prevention techniques • Improved security (end-to-end encryption)
  29. Slide 29: Get Started • Download a client • Create a free account • Run your own server • Connect to the network (or not!) • Build real-time applications
  30. Slide 30: Why XMPP Matters • Freedom of conversation • Not proprietary technologies • Open IETF/XSF standards • Innovate at the edges • Build competitive advantage • Build the real-time Internet
  31. Slide 31: Join the Conversation • Active developer community <http://planet.jabber.org/> • Lots of open-source projects <http://www.jabber.org/> • Developer-friendly standards process <http://www.xmpp.org/> • Contact me directly <http://stpeter.im/>