OpenDDS

OpenDDS is an open source native C++ implementation of the OMG (Object Management Group) Data Distribution Service (DDS) for Real-Time Systems specification. DDS defines a strongly typed publish-subscribe service for efficiently distributing application data between participants in a distributed application. OpenDDS leverages the ADAPTIVE Communication Environment (ACE) to provide portability and configurability across a wide variety of operating systems and deployment environments. OpenDDS was developed by OCI, working closely with key customers, users, and other researchers at various universities and other locations all over the world.

Visit opendds.org for:

  • Download
  • Documentation
  • FAQs
  • License Terms

Features:

  • Complies with the OMG DCPS layer of the Data Distribution Service for Real-Time Systems (DDS) specification.

  • A Pluggable Transport Layer that allows data transmission across a variety of transport protocols. OpenDDS currently implements simple TCP, UDP, reliable multicast, and unreliable multicast transports.  In addition, application developers may implement their own custom transport protocols and plug them into OpenDDS.

  • Interoperability with other DDS implementations through the RTPS transport.

  • OpenDDS also supports Java bindings through JNI and can be included with JBoss (ESB) frameworks by means of a JMS wrapper.

Benefits of Using OpenDDS

  • OpenDDS is free open source software (FOSS), which means no vendor lock-in and maximum user control. There are no license fees whatsoever.

  • Full source code available (also at no cost).

  • The OpenDDS Modeling Software Development Kit (SDK), built on top of the Eclipse Modeling Framework, simplifies using OpenDDS, leaving the developer free to devote more time to application issues rather than the details of internal middleware plumbing.

  • Efficient marshaling and demarshalling of user-defined data types.

  • Robust federated information repository that allows publishers and subscribers to discover one another, to support registration of participants and creation of topics, and to support publication of built-in topics for meta-data propagation.

  • Scalable, multi-threaded architecture.

  • Includes an easy-to-use run-time configuration framework that supports configuration via a combination of files, options, and application programming interfaces.