SlideShare a Scribd company logo
1 of 25
Download to read offline
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
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

             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
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
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=‘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
<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
<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
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=”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
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
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
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
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
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?
- 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
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
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
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
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

                         OMG DDS SIG

More Related Content

What's hot

QoS Policies in ROS 2 Dashing
QoS Policies in ROS 2 DashingQoS Policies in ROS 2 Dashing
QoS Policies in ROS 2 DashingM Mei
 
Cdn technology overview
Cdn technology overviewCdn technology overview
Cdn technology overviewYoohyun Kim
 
HTTP/2 Changes Everything
HTTP/2 Changes EverythingHTTP/2 Changes Everything
HTTP/2 Changes EverythingLori MacVittie
 
Kurumsal Ağlarda Saldırı Tespiti Amaçlı Honeypot Sistemlerin Efektif Kullanımı
Kurumsal Ağlarda Saldırı Tespiti Amaçlı Honeypot Sistemlerin Efektif KullanımıKurumsal Ağlarda Saldırı Tespiti Amaçlı Honeypot Sistemlerin Efektif Kullanımı
Kurumsal Ağlarda Saldırı Tespiti Amaçlı Honeypot Sistemlerin Efektif KullanımıBGA Cyber Security
 
The coherent optical edge
The coherent optical edgeThe coherent optical edge
The coherent optical edgeADVA
 
RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011Gerardo Pardo-Castellote
 
NFV for beginners
NFV for beginnersNFV for beginners
NFV for beginnersDave Neary
 
MIPI DevCon 2021: Enabling Long-Reach MIPI CSI-2 Connectivity in Automotive w...
MIPI DevCon 2021: Enabling Long-Reach MIPI CSI-2 Connectivity in Automotive w...MIPI DevCon 2021: Enabling Long-Reach MIPI CSI-2 Connectivity in Automotive w...
MIPI DevCon 2021: Enabling Long-Reach MIPI CSI-2 Connectivity in Automotive w...MIPI Alliance
 
The Digital Video Broadcast (DVB) Project
The Digital Video Broadcast (DVB) ProjectThe Digital Video Broadcast (DVB) Project
The Digital Video Broadcast (DVB) ProjectPartho Choudhury
 
WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by Mikael ...
WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by  Mikael ...WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by  Mikael ...
WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by Mikael ...AMD Developer Central
 
5G Network Managament for Inteligent Transport Systems
5G Network Managament for Inteligent Transport Systems5G Network Managament for Inteligent Transport Systems
5G Network Managament for Inteligent Transport Systemslebarka
 
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsComparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsReal-Time Innovations (RTI)
 
Presentation 2 rfid standards & protocols
Presentation 2 rfid standards & protocolsPresentation 2 rfid standards & protocols
Presentation 2 rfid standards & protocolsMouhanad Alkhaldi
 
Hping Kullanarak TCP/IP Paketleriyle Oynama
Hping Kullanarak TCP/IP Paketleriyle OynamaHping Kullanarak TCP/IP Paketleriyle Oynama
Hping Kullanarak TCP/IP Paketleriyle OynamaBGA Cyber Security
 

What's hot (20)

QoS Policies in ROS 2 Dashing
QoS Policies in ROS 2 DashingQoS Policies in ROS 2 Dashing
QoS Policies in ROS 2 Dashing
 
Cdn technology overview
Cdn technology overviewCdn technology overview
Cdn technology overview
 
HTTP/2 Changes Everything
HTTP/2 Changes EverythingHTTP/2 Changes Everything
HTTP/2 Changes Everything
 
Wireshark
WiresharkWireshark
Wireshark
 
Design Fundamentals for Remote and Branch Access Networks
Design Fundamentals for Remote and Branch Access NetworksDesign Fundamentals for Remote and Branch Access Networks
Design Fundamentals for Remote and Branch Access Networks
 
Kurumsal Ağlarda Saldırı Tespiti Amaçlı Honeypot Sistemlerin Efektif Kullanımı
Kurumsal Ağlarda Saldırı Tespiti Amaçlı Honeypot Sistemlerin Efektif KullanımıKurumsal Ağlarda Saldırı Tespiti Amaçlı Honeypot Sistemlerin Efektif Kullanımı
Kurumsal Ağlarda Saldırı Tespiti Amaçlı Honeypot Sistemlerin Efektif Kullanımı
 
The coherent optical edge
The coherent optical edgeThe coherent optical edge
The coherent optical edge
 
Hping, TCP/IP Paket Üretici
Hping, TCP/IP Paket ÜreticiHping, TCP/IP Paket Üretici
Hping, TCP/IP Paket Üretici
 
RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011
 
NFV for beginners
NFV for beginnersNFV for beginners
NFV for beginners
 
Snapdragon
SnapdragonSnapdragon
Snapdragon
 
5G Shared Spectrum
5G Shared Spectrum5G Shared Spectrum
5G Shared Spectrum
 
MIPI DevCon 2021: Enabling Long-Reach MIPI CSI-2 Connectivity in Automotive w...
MIPI DevCon 2021: Enabling Long-Reach MIPI CSI-2 Connectivity in Automotive w...MIPI DevCon 2021: Enabling Long-Reach MIPI CSI-2 Connectivity in Automotive w...
MIPI DevCon 2021: Enabling Long-Reach MIPI CSI-2 Connectivity in Automotive w...
 
The Digital Video Broadcast (DVB) Project
The Digital Video Broadcast (DVB) ProjectThe Digital Video Broadcast (DVB) Project
The Digital Video Broadcast (DVB) Project
 
Using Embulk at Treasure Data
Using Embulk at Treasure DataUsing Embulk at Treasure Data
Using Embulk at Treasure Data
 
WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by Mikael ...
WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by  Mikael ...WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by  Mikael ...
WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by Mikael ...
 
5G Network Managament for Inteligent Transport Systems
5G Network Managament for Inteligent Transport Systems5G Network Managament for Inteligent Transport Systems
5G Network Managament for Inteligent Transport Systems
 
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsComparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
 
Presentation 2 rfid standards & protocols
Presentation 2 rfid standards & protocolsPresentation 2 rfid standards & protocols
Presentation 2 rfid standards & protocols
 
Hping Kullanarak TCP/IP Paketleriyle Oynama
Hping Kullanarak TCP/IP Paketleriyle OynamaHping Kullanarak TCP/IP Paketleriyle Oynama
Hping Kullanarak TCP/IP Paketleriyle Oynama
 

Viewers also liked

XMPP Technical Overview + Jingle Protocol Study
XMPP Technical Overview + Jingle Protocol StudyXMPP Technical Overview + Jingle Protocol Study
XMPP Technical Overview + Jingle Protocol StudyValérian Saliou
 
10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDSAngelo Corsaro
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service TutorialAngelo Corsaro
 
Presentación SADV e introducción a novedades de Moodle
Presentación SADV e introducción a novedades de MoodlePresentación SADV e introducción a novedades de Moodle
Presentación SADV e introducción a novedades de MoodleAlberto Serna
 
XMPP & AMQP in Ruby
XMPP & AMQP in RubyXMPP & AMQP in Ruby
XMPP & AMQP in RubyMatt Todd
 
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)Peter Lubbers
 
Data Distribution Service Security and the Industrial Internet of Things
Data Distribution Service Security and the Industrial Internet of ThingsData Distribution Service Security and the Industrial Internet of Things
Data Distribution Service Security and the Industrial Internet of ThingsReal-Time Innovations (RTI)
 
Real-Time Communications and the Industrial Internet of Things
 Real-Time Communications and the Industrial Internet of Things Real-Time Communications and the Industrial Internet of Things
Real-Time Communications and the Industrial Internet of ThingsReal-Time Innovations (RTI)
 
Maximize information exchange in your enterprise with AMQP
Maximize information exchange in your enterprise with AMQPMaximize information exchange in your enterprise with AMQP
Maximize information exchange in your enterprise with AMQPKenneth Peeples
 
Internet of Things (IoT) protocols COAP MQTT OSCON2014
Internet of Things (IoT) protocols  COAP MQTT OSCON2014Internet of Things (IoT) protocols  COAP MQTT OSCON2014
Internet of Things (IoT) protocols COAP MQTT OSCON2014Vidhya Gholkar
 
Introduction to Apache ZooKeeper
Introduction to Apache ZooKeeperIntroduction to Apache ZooKeeper
Introduction to Apache ZooKeeperSaurav Haloi
 
Ecoescuelas 15 16
Ecoescuelas 15 16Ecoescuelas 15 16
Ecoescuelas 15 16XXX XXX
 
Ei09 Opposite Green
Ei09 Opposite GreenEi09 Opposite Green
Ei09 Opposite Greennmoroney
 
Dreamforce 2012 Xactly CEO Keynote
Dreamforce 2012 Xactly CEO KeynoteDreamforce 2012 Xactly CEO Keynote
Dreamforce 2012 Xactly CEO KeynoteBriscoe Pelkey
 

Viewers also liked (20)

XMPP Technical Overview + Jingle Protocol Study
XMPP Technical Overview + Jingle Protocol StudyXMPP Technical Overview + Jingle Protocol Study
XMPP Technical Overview + Jingle Protocol Study
 
10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 
Presentación SADV e introducción a novedades de Moodle
Presentación SADV e introducción a novedades de MoodlePresentación SADV e introducción a novedades de Moodle
Presentación SADV e introducción a novedades de Moodle
 
XMPP & AMQP in Ruby
XMPP & AMQP in RubyXMPP & AMQP in Ruby
XMPP & AMQP in Ruby
 
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
 
Data Distribution Service Security and the Industrial Internet of Things
Data Distribution Service Security and the Industrial Internet of ThingsData Distribution Service Security and the Industrial Internet of Things
Data Distribution Service Security and the Industrial Internet of Things
 
What is XMPP Protocol
What is XMPP ProtocolWhat is XMPP Protocol
What is XMPP Protocol
 
XMPP 101
XMPP 101XMPP 101
XMPP 101
 
Lecture about XMPP
Lecture about XMPPLecture about XMPP
Lecture about XMPP
 
Real-Time Communications and the Industrial Internet of Things
 Real-Time Communications and the Industrial Internet of Things Real-Time Communications and the Industrial Internet of Things
Real-Time Communications and the Industrial Internet of Things
 
Maximize information exchange in your enterprise with AMQP
Maximize information exchange in your enterprise with AMQPMaximize information exchange in your enterprise with AMQP
Maximize information exchange in your enterprise with AMQP
 
Understanding the Internet of Things Protocols
Understanding the Internet of Things ProtocolsUnderstanding the Internet of Things Protocols
Understanding the Internet of Things Protocols
 
Internet of Things (IoT) protocols COAP MQTT OSCON2014
Internet of Things (IoT) protocols  COAP MQTT OSCON2014Internet of Things (IoT) protocols  COAP MQTT OSCON2014
Internet of Things (IoT) protocols COAP MQTT OSCON2014
 
Introduction to Apache ZooKeeper
Introduction to Apache ZooKeeperIntroduction to Apache ZooKeeper
Introduction to Apache ZooKeeper
 
Ecoescuelas 15 16
Ecoescuelas 15 16Ecoescuelas 15 16
Ecoescuelas 15 16
 
ikp213-06-horn-clause
ikp213-06-horn-clauseikp213-06-horn-clause
ikp213-06-horn-clause
 
Ei09 Opposite Green
Ei09 Opposite GreenEi09 Opposite Green
Ei09 Opposite Green
 
Dreamforce 2012 Xactly CEO Keynote
Dreamforce 2012 Xactly CEO KeynoteDreamforce 2012 Xactly CEO Keynote
Dreamforce 2012 Xactly CEO Keynote
 
Animation in Diamond Resorts
Animation in Diamond ResortsAnimation in Diamond Resorts
Animation in Diamond Resorts
 

Similar to DDS and XMPP

Criando um Instant Messenger
Criando um Instant MessengerCriando um Instant Messenger
Criando um Instant Messengervinibaggio
 
SAPO Messenger
SAPO MessengerSAPO Messenger
SAPO Messengercodebits
 
Microblogging via XMPP
Microblogging via XMPPMicroblogging via XMPP
Microblogging via XMPPStoyan Zhekov
 
XMPP Intro 1101 - 2008
XMPP Intro 1101 - 2008XMPP Intro 1101 - 2008
XMPP Intro 1101 - 2008Steffen Larsen
 
Zimbra scripting with python
Zimbra scripting with pythonZimbra scripting with python
Zimbra scripting with pythonImam Omar Mochtar
 
Rails performance: Ruby GC tweaking
Rails performance: Ruby GC tweaking Rails performance: Ruby GC tweaking
Rails performance: Ruby GC tweaking Dimelo R&D Team
 
Alfresco Rumors: XMPP Enable Alfresco nodes (POC)
Alfresco Rumors: XMPP Enable Alfresco nodes (POC)Alfresco Rumors: XMPP Enable Alfresco nodes (POC)
Alfresco Rumors: XMPP Enable Alfresco nodes (POC)Jared Ottley
 
Scaling Twitter
Scaling TwitterScaling Twitter
Scaling TwitterBlaine
 

Similar to DDS and XMPP (8)

Criando um Instant Messenger
Criando um Instant MessengerCriando um Instant Messenger
Criando um Instant Messenger
 
SAPO Messenger
SAPO MessengerSAPO Messenger
SAPO Messenger
 
Microblogging via XMPP
Microblogging via XMPPMicroblogging via XMPP
Microblogging via XMPP
 
XMPP Intro 1101 - 2008
XMPP Intro 1101 - 2008XMPP Intro 1101 - 2008
XMPP Intro 1101 - 2008
 
Zimbra scripting with python
Zimbra scripting with pythonZimbra scripting with python
Zimbra scripting with python
 
Rails performance: Ruby GC tweaking
Rails performance: Ruby GC tweaking Rails performance: Ruby GC tweaking
Rails performance: Ruby GC tweaking
 
Alfresco Rumors: XMPP Enable Alfresco nodes (POC)
Alfresco Rumors: XMPP Enable Alfresco nodes (POC)Alfresco Rumors: XMPP Enable Alfresco nodes (POC)
Alfresco Rumors: XMPP Enable Alfresco nodes (POC)
 
Scaling Twitter
Scaling TwitterScaling Twitter
Scaling Twitter
 

More from Angelo Corsaro

zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data FabricAngelo Corsaro
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationAngelo Corsaro
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computeAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingAngelo Corsaro
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing InfrastructureAngelo Corsaro
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeAngelo Corsaro
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing PlatformAngelo Corsaro
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture FourAngelo Corsaro
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture ThreeAngelo Corsaro
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture TwoAngelo Corsaro
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture OneAngelo Corsaro
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsAngelo Corsaro
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security StandardAngelo Corsaro
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsAngelo Corsaro
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity StandardAngelo Corsaro
 

More from Angelo Corsaro (20)

Zenoh: The Genesis
Zenoh: The GenesisZenoh: The Genesis
Zenoh: The Genesis
 
zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data Fabric
 
Zenoh Tutorial
Zenoh TutorialZenoh Tutorial
Zenoh Tutorial
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query compute
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
 
Eastern Sicily
Eastern SicilyEastern Sicily
Eastern Sicily
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructure
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT Age
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing Platform
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture Four
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture Three
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture Two
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture One
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained Envionrments
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security Standard
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming Ruminations
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity Standard
 

Recently uploaded

Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
99.99% of Your Traces Are (Probably) Trash (SRECon NA 2024).pdf
99.99% of Your Traces  Are (Probably) Trash (SRECon NA 2024).pdf99.99% of Your Traces  Are (Probably) Trash (SRECon NA 2024).pdf
99.99% of Your Traces Are (Probably) Trash (SRECon NA 2024).pdfPaige Cruz
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...Daniel Zivkovic
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideHironori Washizaki
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 

Recently uploaded (20)

Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
99.99% of Your Traces Are (Probably) Trash (SRECon NA 2024).pdf
99.99% of Your Traces  Are (Probably) Trash (SRECon NA 2024).pdf99.99% of Your Traces  Are (Probably) Trash (SRECon NA 2024).pdf
99.99% of Your Traces Are (Probably) Trash (SRECon NA 2024).pdf
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 

DDS and XMPP

  • 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. Agenda - XMPP Intro - Some XMPP Extension - XMPP vs DDS - Concluding Remarks OMG DDS SIG
  • 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. 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. 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. 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. Communication Primitives - XMPP defines three different communication primitives--called stanzas - XMPP Stanzas are:  <message/>  <presence/>  <iq/> OMG DDS SIG
  • 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. <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. <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. Agenda - XMPP Intro - Some XMPP Extension - XMPP vs DDS - Concluding Remarks OMG DDS SIG
  • 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. 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. 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. 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. 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. 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. 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. Agenda - XMPP Intro - Some XMPP Extension - XMPP vs DDS - Concluding Remarks OMG DDS SIG
  • 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. 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. 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. 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. Agenda - XMPP Intro - Some XMPP Extension - XMPP vs DDS - Concluding Remarks OMG DDS SIG
  • 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