Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Open Source XMPP for Cloud Services Matt Tucker, CTO Jive Software."— Presentation transcript:

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

2 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…

3

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

5 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

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

7 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

8 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

9 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

10 XMPP vs. SOAP XMPPSOAP Performance Security Ease Innovative Features Ubiquity

11 XMPP Cloud Architecture

12 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

13 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

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

15 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 }

16 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() { }

17 Example: Clearspace Doc Sharing

18 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)

19 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

20 Questions? Blog Entry Link Email/IM: matt@jivesoftware.commatt@jivesoftware.com www.igniterealtime.org


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

Similar presentations


Ads by Google