Introduction
DDS stands for Data Distribution Service, an open standard for real-time applications. The Object Management Group Data Distribution Service, is a middleware protocol and API standard that aims to enable high-performance, interoperable, scalable data exchanges using a publish-subscribe pattern.
Data Distribution Service (DDS) is the only open standard for messaging that supports the enterprise's unique needs and real-time systems. It addresses applications requiring real-time data exchange like aerospace, defense, air-traffic control, simulation, testing, etc. Its software connectivity standards enable secure real-time information exchange, modular application development, and rapid integration in industrial IoT systems.
Features
Open Interface
DDS supports the development of loosely coupled, modular, and open architecture systems. DDS eliminates the stovepipe, closed and proprietary architecture by supporting well-defined interfaces between components and subsystems. This helps in reducing the integration, maintenance, and upgrade costs while promoting ease of reuse and competition at the subsystem and middleware levels.
-
Portability
It is designed and developed in such a way that it supports all the programming languages. It is the standard messaging API for some of the most popular languages like C/C++, and it also supports Java, Ada, C#, and REST/HTTP interfaces.
-
Wire Interoperability
DDS Real-time Publish-Subscribe wire protocol provides seamless interoperability across platforms and programming languages.
-
Semantic InteroperabilityApplications communicate among themselves using discoverable data objects typically described by a standard data model that can be specified using the OMG Interface Definition Language.
Advanced Integration Capabilities
It standardizes powerful messaging semantics, which helps in reducing the overall development and integration costs while improving the system's robustness.
-
Data-centricity
Data-centric publish/subscribe messaging provides loose coupling and reduces the application and integration logic. It helps in scaling to systems of systems.
-
Performance
DDS meets the performance requirements from enterprise to high-performance real-time systems. Its implementation outperforms other standards by up to 3000 times.
-
Quality of Service
DDS defines a set of QoS policies that help control the dynamic discovery, content-aware routing, fault tolerance, and deterministic real-time behavior.- Reliability: resends the lost messages
- Presentation: It preserves the order in which it needs to deliver the data.
- Durability: It keeps delivered data for late joiners.
- Time-based filter: It controls how frequently it should receive data.
- Content filtration: It controls what data should be received based on the content
- Lifespan: It decided how long to keep the data.