DDS and XMPP

eXtensible Messaging and Presence Protocol (XMPP) is a protocol based on Extensible Markup Language (XML) that was originally designed for instant messaging (IM) and online presence detection. XMPP is a protocol for streaming XML elements in order to exchange messages and presence information in close to real time. It is a document transfer protocol that was designed for use with very simple electronic devices such as a mobile phone. It is an extensible protocol that has also been used to implement instant messaging, lightweight middleware, voice and video calls, file transfer, gaming, social networking services and Internet of Things (IoT) applications. 

Messaging Protocol Technologies Internet of Things

The core standards provide a framework for building messaging applications such as multi-party chat, voice and video calls, collaboration, lightweight middleware, content syndication, and generalized routing of XML data. Although XMPP provides support for security features such as authentication and message encryption it does not provide any support for the quality of service requirements typical of Industrial Internet systems. Parsing XML adds additional processing overhead, and an XML parser adds to memory footprint that can make XMPP unsuitable for use in low power embedded devices.

The Object Management Group's (OMG) Data Distribution Service for Real-Time Systems (DDS) is an open middleware standard that enables scalable, real-time, dependable, high performance and interoperable data exchanges between publishers and subscribers.  It is based on a proven data-centric paradigm that emerged from Defense and Aerospace but which is now being rapidly adopted in sectors as diverse as Power Generation, large scale SCADA, Air Traffic Control and Management, Smart Cities, Smart Grids, Vehicles, Medical Devices, Modeling and Simulation, and Financial Trading.

DDS makes data a first class citizen in the system thanks to its extensive support for keys, lifecycle management etc.  DDS is brokerless and provides the abstraction of a virtual Global Data Space, a ubiquitous, universal and fully distributed data cache.  DDS also provides a standard API as well as an interoperable wire protocol.

XMPP can support distributed message exchanges between processes on a single node (Intra Device). However XMPP was not designed for high performance message exchanges within the same mode and is more appropriate when used to communicate between nodes or with internet based applications.

In comparison, only DDS can provide the real-time, many-to-many, managed connectivity required by high-performance device-to-device applications.

A key component of the Vortex DDS product suite is Vortex OpenSplice, the leading (open source and commercial) implementation of the DDS standard.