Open Source XMPP for Cloud Services Matt Tucker, CTO Jive Software.

Slides:



Advertisements
Similar presentations
An Erlang Implementation of Restms. Why have messaging? Separates applications cheaply Feed information to the right applications cheaply Interpret feed.
Advertisements

…and a natural peer-to-peer platform!. Jabber as P2P Platform Agenda Why spend time in this session? What is Jabber? Who cares about Jabber? How does.
Gateway Agent Product & Architecture
Developers: Alexey Rastvortsev, Ilya Kolchinsky Supervisors: Roy Friedman, Alex Kogan.
Nada Abdulla Ahmed.  SmoothWall Express is an open source firewall distribution based on the GNU/Linux operating system. Designed for ease of use, SmoothWall.
Real-Time Authentication Using Digital Signature Schema Marissa Hollingsworth BOISECRYPT ‘09.
Technical Architectures
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
XMPP (eXtensible Messaging and Presence Protocol ) Reporter : Allen.
INTERNET DATABASE. Internet and E-commerce Internet – a worldwide collection of interconnected computer network Internet – a worldwide collection of interconnected.
Nikolay Tomitov Technical Trainer SoftAcad.bg.  What are Amazon Web services (AWS) ?  What’s cool when developing with AWS ?  Architecture of AWS 
Client-server interactions in Mobile Applications.
Barracuda Networks Confidential1 Barracuda Backup Service Integrated Local & Offsite Data Backup.
CEO, Tech IT Easy Lab of Pervasive VM Computing A Beginner’s Guide to XMPP.
Platform as a Service (PaaS)
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
Publishing and transporting Web Services over XMPP
Introducing XMPP For real-time communication. Agenda Protocol Market Implementation.
XMPP Extensible Messaging and Presence Protocol. Chat In the beginning there was instant messaging and chat. Lots of binary standards: Unix talk, IRC,
VoIP, Asterisk, and Java Michael P. Plezbert Agilis Systems, Inc St. Louis Java Users Group April 13, 2006.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
Version 4.0. Objectives Describe how networks impact our daily lives. Describe the role of data networking in the human network. Identify the key components.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
Overview of implementations openBGP (and openOSPF) –Active development Zebra –Commercialized Quagga –Active development XORP –Hot Gated –Dead/commercialized.
CSCI 6962: Server-side Design and Programming Web Services.
XMPP – Extensible Messaging and Presence Protocol Vidya Satyanarayanan.
Python and REST Kevin Hibma. What is REST? Why REST? REST stands for Representational State Transfer. (It is sometimes spelled "ReST".) It relies on a.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Backdrop Particle Paintings created by artist Tom Kemp September Grid Information and Monitoring System using XML-RPC and Instant.
XMPP Concrete Implementation Updates: 1. Why XMPP 2 »XMPP protocol provides capabilities that allows realization of the NHIN Direct. Simple – Built on.
Jabber Client Jeevan Varma Anga Distributed Systems(CSC8530) Villanova University.
LHCb week, 27 May 2004, CERN1 Using services in DIRAC A.Tsaregorodtsev, CPPM, Marseille 2 nd ARDA Workshop, June 2004, CERN.
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
4BP1 Electronic & Computer Engineering Paul Gildea th Year Interim Project Presentation.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Google Data Protocol Guy Mark Lifshitz. Motivation Google’s Mission: – Organize the world’s information – Make information universally accessible – Provide.
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Living in a Network Centric World Network Fundamentals – Chapter 1.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Living in a Network Centric World Network Fundamentals – Chapter 1.
CCNA4 v3 Module 6 v3 CCNA 4 Module 6 JEOPARDY K. Martin.
Presence Networking: XMPP and Jabber Joe Hildebrand Chief Architect Jabber, Inc. Networld+Interop 1 May 2003.
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
Worldwide Lexicon Brian McConnell May, WWL – Brian McConnell Worldwide Lexicon Intro Automatic discovery of dictionary, semantic net and translation.
Jabber Technical Overview Presenter: Ming-Wei Lin.
Web Services An Introduction Copyright © Curt Hill.
An Analysis of XMPP Security Team “Vision” Chris Nelson Ashwin Kulkarni Nitin Khatri Taulant Haka Yong Chen CMPE 209 Spring 2009.
Version 4.0 Living in a Network Centric World Network Fundamentals – Chapter 1.
1 Server Business Logic & OAuth Beta Overview October 4, 2010 Alan Hantke Product Development Server Business Logic Intuit Partner Platform Diane Weiss.
March 16, 2009 Jabber IM Client. March 16, 2009 What is Jabber? An open instant message protocol Defines client/server communication Uses XMPP –XML-Based.
Platform as a Service (PaaS)
Platform as a Service (PaaS)
Platform as a Service (PaaS)
Project 1 Simple Socket Client.
System Design of Internet-of-Things for Residential Smart Grid
Unit – 5 JAVA Web Services
Living in a Network Centric World
Living in a Network Centric World
Simple Socket Client Project 1.
Getting Started ARCS Lab..
Simple Socket Client Project 1.
Living in a Network Centric World
Living in a Network Centric World
Living in a Network Centric World
Living in a Network Centric World
Network Controllable MP3 Player
Living in a Network Centric World
Living in a Network Centric World
Living in a Network Centric World
Living in a Network Centric World
Presentation transcript:

Open Source XMPP for Cloud Services Matt Tucker, CTO Jive Software

Who am I? Member of the XMPP Standards Foundation and former chair of the board Behind Smack and Openfire at igniterealtime.org Keep giving talks about XMPP at OSCON…

In This Talk Brief XMPP and cloud computing overview Problems in cloud architectures; how XMPP can help Open Source tools Tips and tricks

XMPP (Jabber) Overview The open protocol for instant messaging (it’s fair to declare victory) IETF standard and a robust org developing the protocol: XMPP Standards Foundation Simple for developers and very deep Open Source toolset and heritage

XMPP Building Blocks DescriptionExample Presence Send presence data or manage presence subscriptions Giving a talk... Message Send data between users <message ’ > How's that presentation going? IQ Exchange information and perform queries using a request / response protocol. pdx type= ‘ result ’ id= ‘ 123 ’ > Not Raining!

What is Cloud Computing? Predominately based on web services (SOAP, REST, etc) Exploding in popularity – a critical trend of software architectures Started with simple services; now growing complex

Cloud Service Example: Salesforce.com Uses SOAP (not XML-RPC or REST) Huge percentage of traffic is polling for updates Introduced “Outbound Messaging” to cope with polling – but there are firewall issues

Cloud Architecture Problems Polling doesn’t scale and isn’t real-time Need two-way data exchange with easy firewall traversal Web services are feature poor (presence, binary data, etc) SOAP is what’s needed for complex services, but it’s overly complicated Thesis: web services are great for simple cloud services; XMPP is better for complex cloud services

XMPP vs. SOAP XMPPSOAP Performance Security Ease Innovative Features Ubiquity

XMPP Cloud Architecture

Open Source Tools: Server Openfire  Most popular XMPP server, with over 1 million downloads  In production with many cloud services  Massively scalable  Support for even strict firewall environments -- BOSH

Open Source Tools: Client APIs Dozens of libraries in every major programming language – start at jabber.org Java: Smack library from igniterealtime.org Flex: XIFF library from igniterealtime.org Javascript: JSJac, dojox.xmpp

Open Source Tools: Cloud Components Whack (Java) – simple and high level API Components use XEP-114 (easy)

ExternalWeatherComponent.java public class ExternalWeatherComponent { public static void main(String[] args) { ExternalComponentManager manager = new ExternalComponentManager("example.com", 5275); // Set the secret key for this component, for authentication manager.setSecretKey("weather", "test"); // Register this component to a subdomain of the server manager.addComponent("weather", new WeatherComponent()); //... Component will now start processing requests }

WeatherComponent.java public class WeatherComponent implements Component { public String getName() { return "US Weather"; } public void processPacket(Packet packet) { // Get the request packet here, parse it and return a reply } public void initialize(JID jid, ComponentManager componentManager) { } public void shutdown() { }

Example: Clearspace Doc Sharing

Example: Twitter Fire Hose Uses XMPP to provide access to all status updates, which would be impossible using web services polling Only provided to a small number of services (most recently Gnip)

Openfire Cloud Services: Tips and Tricks External components allow for hot-deploy of new or updated services Run on separate hardware for scalability Openfire allows components to connect multiple times for scalability and redundancy Epoll on Linux provides great performance Ad-hoc command available to listen for all traffic Use XMPP federation for federating cloud services

Questions? Blog Entry Link /IM: