Top Banner
1 DDS vs. XMPP Angelo Corsaro OMG DDS Co-Chair PrismTech [email protected] Gerardo Pardo-Castellote OMG DDS Co-Chair RTI [email protected]
25

DDS and XMPP

Jan 15, 2015

Download

Technology

Angelo Corsaro

This presentation provides an overview of how DDS compares and contrast with respect to XMPP.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DDS and XMPP

1

DDS vs. XMPP

Angelo CorsaroOMG DDS Co-Chair

[email protected]

Gerardo Pardo-CastelloteOMG DDS Co-Chair

[email protected]

Page 2: DDS and XMPP

OMG DDS SIG

Agenda

- XMPP Intro

- Some XMPP Extension

- XMPP vs DDS

- Concluding Remarks

Page 3: DDS and XMPP

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

Page 4: DDS and XMPP

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

Page 5: DDS and XMPP

OMG DDS SIG

XMPP Architecture- Client/Server

- Network of Decentralized Servers

- (Authenticated) Long Lived Connection from Client to Servers

[email protected]

[email protected]

jabber.orgServer

mac.comServer

<message to=‘[email protected]’> <body> Have you seen my new stratocaster? </body></message>

Page 6: DDS and XMPP

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

Page 7: DDS and XMPP

OMG DDS SIG

Communication Primitives

- XMPP defines three different communication primitives--called stanzas

- XMPP Stanzas are: <message/> <presence/> <iq/>

Page 8: DDS and XMPP

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>

Page 9: DDS and XMPP

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>

Page 10: DDS and XMPP

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>

Page 11: DDS and XMPP

OMG DDS SIG

Agenda

- XMPP Intro

- Some XMPP Extension

- XMPP vs DDS

- Concluding Remarks

Page 12: DDS and XMPP

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

Page 13: DDS and XMPP

OMG DDS SIG

Pub/Sub Extension - Subscription

<iq from=”[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>

Page 18: DDS and XMPP

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.

Page 19: DDS and XMPP

OMG DDS SIG

Agenda

- XMPP Intro

- Some XMPP Extension

- XMPP vs DDS

- Concluding Remarks

Page 20: DDS and XMPP

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

Page 21: DDS and XMPP

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

Page 22: DDS and 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

Page 23: DDS and XMPP

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

Page 24: DDS and XMPP

OMG DDS SIG

Agenda

- XMPP Intro

- Some XMPP Extension

- XMPP vs DDS

- Concluding Remarks

Page 25: DDS and XMPP

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