dds and xmpp
Embed Size (px)
DESCRIPTION
This presentation provides an overview of how DDS compares and contrast with respect to XMPP.TRANSCRIPT

1
DDS vs. XMPP
Angelo CorsaroOMG DDS Co-Chair
Gerardo Pardo-CastelloteOMG DDS Co-Chair

OMG DDS SIG
Agenda
- XMPP Intro
- Some XMPP Extension
- XMPP vs DDS
- Concluding Remarks

OMG DDS SIG
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
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
XMPP Architecture- Client/Server
- Network of Decentralized Servers
- (Authenticated) Long Lived Connection from Client to Servers
jabber.orgServer
mac.comServer
<message to=‘[email protected]’> <body> Have you seen my new stratocaster? </body></message>

OMG DDS SIG
Addressing
- User are addressed by Jabber ID (JID) es. [email protected]
- Resource can be addressed via full JID es. [email protected]/concerts

OMG DDS SIG
Communication Primitives
- XMPP defines three different communication primitives--called stanzas
- XMPP Stanzas are: <message/> <presence/> <iq/>

OMG DDS SIG
<message/>
- A <message/> stanza contains: From, To Type Subject + Body (Payload)
<message from=‘[email protected] to=‘[email protected]’> <subject>Got a new Strato!</subject> <body> Have you seen my new stratocaster? </body></message>

OMG DDS SIG
<presence/>
- The <presence/> stanza is used to advertise presence and contains: Status Status Message
<presence from=‘[email protected]> <show>xa</show> <status>C9sus</status></presence>

OMG DDS SIG
<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=”[email protected]”/> <item jid=”[email protected]”/> <item jid=”[email protected]/> </query></iq>

OMG DDS SIG
Agenda
- XMPP Intro
- Some XMPP Extension
- XMPP vs DDS
- Concluding Remarks

OMG DDS SIG
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
Pub/Sub Extension - Subscription
<iq from=”carm[email protected]” id=”cc7409” to=”notify.jabber.org” type=”set”>
<pubsub xmlns=”http://jabber.org/protocol/pubsub”> <subscribe node=”musicisti-ct” jid=”[email protected]”/></iq>

OMG DDS SIG
Pub/Sub in XMPP
jabber.orgServer
mac.comServer
musicisti-ct { [email protected] [email protected] [email protected]}
Server
xmpp.org

OMG DDS SIG
Pub/Sub in XMPP
jabber.orgServer
mac.comServer
musicisti-ct { [email protected] [email protected] [email protected]}
Server
xmpp.org
<iq from=”[email protected]” to=notify.jabber.org”>...</iq>

OMG DDS SIG
Pub/Sub in XMPP
jabber.orgServer
mac.comServer
musicisti-ct { [email protected] [email protected] [email protected]}
Server
xmpp.org
<iq from=”[email protected]” to=notify.jabber.org”>...</iq>
<iq from=”[email protected]” to=notify.jabber.org”>...</iq>

OMG DDS SIG
Pub/Sub in XMPP
jabber.orgServer
mac.comServer
musicisti-ct { [email protected] [email protected] [email protected]}
Server
xmpp.org
<iq from=”[email protected]” to=notify.jabber.org”>...</iq>
<iq from=”[email protected]” to=notify.jabber.org”>...</iq>

OMG DDS SIG
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
Agenda
- XMPP Intro
- Some XMPP Extension
- XMPP vs DDS
- Concluding Remarks

OMG DDS SIG
What is Standardized?
Object/Relational Mapping
Ownership DurabilityContent
Subscription
Minimum Profile
Data Centric Publish/Subscribe (DCPS)
Data Local Reconstruction Layer (DLRL)
DDS Interoperability Wire Protocol
Application
UDP/IP
Real-Time Publish/Subscribe Protocol
DD
SI v
2.1
DD
S v
1.2
Wire Protocol
TCP
RF
C-3
92
0/9
API (?)
Application
eXtensible Messaging and Presence Protocol
- DDS API Standard Wire Protocol Standard
- XMPP
Wire Protocol Standard

OMG DDS SIG
Architecture
- DDS Fully Distributed Topic-Based Pub/Sub QoS Enabled Data Centric (keys, queries, etc.) Dynamic Discovery
- XMPP Store and Forward Client/Server Pub/Sub as a protocol extension “Source Addressing”-based
discovery
A
B
CD
E
F
m
J
K
Publisher
SubscriberPublisher
Publisher
Subscriber
Subscriber
Client
jabber.org
Server
mac.com
Server
Client
DDS XMPP

OMG DDS SIG
Type/Message Encoding
- DDS Efficient binary encoding
for both data-payload and protocol messages
Strongly Typed Topic Types
Polymorphic Type Type extensibility/
evolvability supported by upcoming xTopics RFP
Note: Multiple encoding supported via xTopics
- XMPP XML encoding for both data
payload and protocol messages
Just one message type, an XML message
Type extensibility/evolvability by leveraging XML

OMG DDS SIG
Performance
- DDS Targeting high performance
systems Very low latencies Very high throughputs Real-Time determinism
- XMPP Targeting interactive systems Discovery traffic often shown
to introduce non-negligible load

OMG DDS SIG
Agenda
- XMPP Intro
- Some XMPP Extension
- XMPP vs DDS
- Concluding Remarks

OMG DDS SIG
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