Data Distribution Intro
Table of Contents
What is DDS?
DDS is an API specification and an interoperability wire-protocol that defines a data-centric publish-subscribe architecture for connecting anonymous information providers with information consumers. Like SOA, DDS promotes loose coupling between system components. A distributed application is composed of data providers and consumers, each potentially running in a separate address space, possibly on different computers. A data provider publishes typed data-flows, identified by names called “topics,” which consumers can subscribe to. An application may simultaneously fulfill the roles of data provider and consumer. The DDS APIs allow data providers and consumers to present type-safe programming interfaces. A typical DDS application architecture can be represented as a software “data-bus."
How is DDS different?
DDS enables, for the first time, the creation of a globally-accessible shared data-space that can be used as the foundation for the correlation and analysis processes required to monitor the system, detect intrusion and initiate remedial action. A property of the DDS data-centric publish-subscribe architecture is that component interfaces are decoupled in space (providers and consumers can be anywhere), time (delivery may be immediately after publication or later), flow (delivery QoS can be precisely controlled), platform (providers and consumers can be on different implementation platforms, and written in different languages), and multiplicity (there can be multiple providers and consumers of a topic).
Who uses DDS?
DDS has been embraced by many DoD programs, including SOSCOE, and Prime contractors working on Open Architecture initiatives. Users include virtually all major US Prime contractors, US defense research laboratories, and many commercial telecommunications, transportation, and financial companies.
