DDS and XMPP

4,243 views

Published on

This presentation provides an overview of how DDS compares and contrast with respect to XMPP.

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,243
On SlideShare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
177
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

DDS and XMPP

  1. 1. DDS vs. XMPP Angelo Corsaro Gerardo Pardo-Castellote OMG DDS Co-Chair OMG DDS Co-Chair PrismTech RTI angelo.corsaro@prismtech.com gerardo@rti.com 1
  2. 2. Agenda - XMPP Intro - Some XMPP Extension - XMPP vs DDS - Concluding Remarks OMG DDS SIG
  3. 3. XMPP History XMPP = eXtensible Messaging and Presence Protocol - 1999: Jabber starts as an Open Source project - 2001: Jabber Software Foundation (JSF) is established - 2002: XMPP Working Group started at IETF - 2004: XMPP RFCs (3920-3923) - 2006: JSF becomes the XMPP Standards Foundation OMG DDS SIG
  4. 4. Core XMPP Features - XMPP started as a standard for messaging and presence. Today it is more than simply messaging and presence, providing:  Channel encryption and authentication  Presence and Contact Lists  One-to-one and Multi-Party Messaing  Alerts and Notifications (XMPP Pub/Sub extension)  Peer-to-Peer Media Sessions (Jingle)  Data Forms and Remote Command OMG DDS SIG
  5. 5. XMPP Architecture - Client/Server - Network of Decentralized Servers - (Authenticated) Long Lived Connection from Client to Servers Server Server jabber.org mac.com <message to=‘giorgia@jabber.org’> <body> Have you seen my new stratocaster? </body> </message> Carmen Giorgia carmen@jabber.org OMG DDS SIG giorgia@mac.com
  6. 6. Addressing - User are addressed by Jabber ID (JID)  es. carmen@jabber.com - Resource can be addressed via full JID  es. carme@jabber.com/concerts OMG DDS SIG
  7. 7. Communication Primitives - XMPP defines three different communication primitives--called stanzas - XMPP Stanzas are:  <message/>  <presence/>  <iq/> OMG DDS SIG
  8. 8. <message/> - A <message/> stanza contains:  From, To  Type  Subject + Body (Payload) <message from=‘carmen@jabber.com to=‘giorgia@jabber.org’> <subject>Got a new Strato!</subject> <body> Have you seen my new stratocaster? </body> </message> OMG DDS SIG
  9. 9. <presence/> - The <presence/> stanza is used to advertise presence and contains:  Status  Status Message <presence from=‘carmen@jabber.com> <show>xa</show> <status>C9sus</status> </presence> OMG DDS SIG
  10. 10. <iq/> - The <iq/> stanza is used to perform Request/ Response interactions (similar to HTTP GET, POST, PUT) <iq type=”get”> <query xmlns=”jabber:iq:roster”/> </iq> <iq type=”result”> <query xmlns=”jabber:iq:roster”> <item jid=”carmen@jabber.org”/> <item jid=”mario@jabber.org”/> <item jid=”franco@jabber.org/> </query> </iq> OMG DDS SIG
  11. 11. Agenda - XMPP Intro - Some XMPP Extension - XMPP vs DDS - Concluding Remarks OMG DDS SIG
  12. 12. Pub/Sub Extension - XMPP has been extended with basic Pub/Sub capabilities - <iq/> stanzas are used to manage subscriptions, as well as to do pub/sub OMG DDS SIG
  13. 13. Pub/Sub Extension - Subscription <iq from=”carmen@jabber.org” id=”cc7409” to=”notify.jabber.org” type=”set”> <pubsub xmlns=”http://jabber.org/protocol/pubsub”> <subscribe node=”musicisti-ct” jid=”carmen@jabber.org”/> </iq> OMG DDS SIG
  14. 14. Pub/Sub in XMPP musicisti-ct { carmen@jabber.org Mario giorgia@mac.com Server mario@xmpp.org mario@xmpp.org } xmpp.org Server Server jabber.org mac.com Carmen Giorgia carmen@jabber.org giorgia@mac.com OMG DDS SIG
  15. 15. Pub/Sub in XMPP musicisti-ct { carmen@jabber.org Mario giorgia@mac.com Server mario@xmpp.org mario@xmpp.org } xmpp.org Server Server jabber.org mac.com <iq from=”carme@jabber.org” to=notify.jabber.org”> ... </iq> Carmen Giorgia carmen@jabber.org giorgia@mac.com OMG DDS SIG
  16. 16. Pub/Sub in XMPP musicisti-ct { carmen@jabber.org Mario giorgia@mac.com <iq Server mario@xmpp.orgfrom=”carme@jabber.org” mario@xmpp.org to=notify.jabber.org”> xmpp.org } ... </iq> Server Server jabber.org mac.com <iq from=”carme@jabber.org” to=notify.jabber.org”> ... </iq> Carmen Giorgia carmen@jabber.org giorgia@mac.com OMG DDS SIG
  17. 17. Pub/Sub in XMPP <iq from=”carme@jabber.org” to=notify.jabber.org”> ... </iq> musicisti-ct { carmen@jabber.org Mario giorgia@mac.com Server mario@xmpp.org mario@xmpp.org } xmpp.org Server Server jabber.org mac.com <iq from=”carme@jabber.org” to=notify.jabber.org”> ... </iq> Carmen Giorgia carmen@jabber.org giorgia@mac.com OMG DDS SIG
  18. 18. Jingle Extension - XMPP is not designed for distributing data with real-time constraints - XMPP Jingle is used to set-up direct connections between points for streaming  Voice  Audio  Video  ... - After negotiating a connection via XMPP, communication goes through other protocols, e.g., RTP, etc. OMG DDS SIG
  19. 19. Agenda - XMPP Intro - Some XMPP Extension - XMPP vs DDS - Concluding Remarks OMG DDS SIG
  20. 20. What is Standardized? - DDS - XMPP  API Standard  Wire Protocol Standard  Wire Protocol Standard Application Application Object/Relational Mapping Data Local Reconstruction Layer (DLRL) DDS v1.2 Content Ownership Durability Subscription Minimum Profile API (?) Data Centric Publish/Subscribe (DCPS) DDSI v2.1 RFC-3920/9 eXtensible Messaging and Real-Time Publish/Subscribe Protocol Presence Protocol DDS Interoperability Wire Protocol Wire Protocol UDP/IP TCP OMG DDS SIG
  21. 21. Architecture - DDS - XMPP  Fully Distributed  Store and Forward  Topic-Based Pub/Sub  Client/Server  QoS Enabled  Pub/Sub as a protocol extension  Data Centric (keys, queries, etc.)  “Source Addressing”-based discovery  Dynamic Discovery DDS XMPP Subscriber Publisher Server Server B m jabber.org mac.com A F Subscriber Publisher J D C K E Publisher Client Client Subscriber OMG DDS SIG
  22. 22. Type/Message Encoding - DDS - XMPP  Efficient binary encoding  XML encoding for both data for both data-payload payload and protocol and protocol messages messages  Strongly Typed Topic  Just one message type, an Types XML message  Polymorphic Type  Type extensibility/  Type extensibility/evolvability evolvability supported by by leveraging XML upcoming xTopics RFP  Note: Multiple encoding supported via xTopics OMG DDS SIG
  23. 23. Performance - DDS - XMPP  Targeting high performance  Targeting interactive systems systems  Discovery traffic often shown  Very low latencies to introduce non-negligible  Very high throughputs load  Real-Time determinism OMG DDS SIG
  24. 24. Agenda - XMPP Intro - Some XMPP Extension - XMPP vs DDS - Concluding Remarks OMG DDS SIG
  25. 25. Concluding Remarks - DDS and XMPP target different application domains - DDS is able to address very sophisticated data distribution needs, where complex QoS need to be satisfied - XMPP is targeting interactive web applications - DDS provides complete transparency w.r.t changes in the infrastructure - Due to its “source-addressing”-based discovery XMPP might propagate back to the application changes into the infrastructure OMG DDS SIG

×