DDS stands for ‘Data Distribution Service’ and is an Object Management Group (OMG) standard for real-time systems. It deals with data communication between nodes of a publish/subscribe-based messaging architecture. DDS first came into use in 2004 and is functional as a middleware architecture for the aforementioned publish/subscribe messaging pattern. The DDS Standard contains a simple, user friendly and well defined Application Programming Interface (API), which means that developers are able to write portable computer code, code that will work with any compliant DDS implementation.
In practical terms DDS enables data, commands and events communication between message/data publishers and their associated subscribers. It has a major role in distributed computing applications that depend on swift and reliable communication between all participants. It has an especially prominent role in finance, the stock exchange and in the movement of big data. It has succeeded in its role thanks to its potential for the provision of scalable, real time and high performance interaction between publishers and subscribers. In addition DDS completely eliminates the need for network programming to handle communications because each node and application is reliant on DDS, which in turn automates any interaction between them.
The five core strengths of DDS
- Publish Subscribe Architecture: DDS is able to provide flexible publish/subscribe architecture and a loose, flexible and dynamic coupling, making it simple to adapt and expand based on shifting environments and needs.
- Discovery: DDS provides Dynamic Discovery of publishers and subscribers, which makes DDS applications extensible. As such endpoints are automatically discovered and DDS will also reveal all sorts of data about those endpoints. It will also reveal the publisher’s offered communication details as well as those requested by the subscriber.
- Interoperability: This refers to the ability of DDS implementations from different parties to communicate. Such interoperability is realized via RTPS (Real-Time Publish Subscribe) protocol. The main advantage of this is that system architects are able to select the DDS vendor that best suits each part of their system to allow for the most flexible and interoperable architecture.
- Performance: The bottom line when it comes to assessing all IT is its performance and ability to boost the overall system performance. DDS is low-latency and in general it is high performance and highly tailored to individual needs, written to suit real-time systems. Specifications contain precise instructions that are designed to minimise data copies within the middleware, keeping things streamlined, while there is also a function that allows for the setting of resource limits and the pre-allocation of memory usage. Everything comes together to make DDS efficient and high performance middleware.
The use of DDS for data communication between disparate applications yields a great number of benefits over other traditional middleware solutions. Whilst this is not a new technology, what is true is that only very recently have all of the benefits of DDS become widely available in a compact package with reduced cost and substantially smaller digital footprint.