Distributed applications are growing ever larger and requiring access to even more data. Access to this information can be provided in a number of different ways. Distributed Data Service(DDS) is the Object Management Group's (OMG) publish-subscribe standard (see DDS V1.0 Standardizes Publish/Subscribe).
Real-Time Innovations (RTI) has been a major supplier of DDS and related technology. RTI's new Connext product line (Fig. 1) expands DDS in both directions from the enterprise down to micros. Connext is a subset of DDS at the low end and a superset at the high end where it meshes with information technology (IT) and operational technology (OT) enterprise environments.
The main components in the product line include:
- Connext DDS - base system that is fully compatible with OMG's DDS
- Connext Micro - subset of Connext DDS with a 200 Kbyte footprint
- Connext Messaging - Connext DDS superset, adds messaging APIs including Java Messaging Service (JMS)
- Connext Integrator - Connext DDS superset, can be used as a gateway to ESB (Enterprise Service Bus) SOA (Service Organization Architecture) platforms
Connext DDS is the base on which everything else is built. It provides the underlying publish-subscribe support that uses the RTI DataBus protocol to communicate between nodes. The DataBus can utilize a range of transports including TCP so it works with existing networks as well as shared memory and PCI Express-based connections. The architecture is distributed minimizing or eliminating single points of failure.
Nodes can publish information that only gets sent when one or more nodes subscribe to some or all of that information. For example, a node may publish a range of sensor data but another node may only subscribe to one of those pieces of data so only that information gets sent when changes occur.
Nodes register their data so other nodes can locate it. Likewise, contracts are made for accessing data that allow applications to specify a range of details about the exchange such as how often or how reliable the exchanges will be.
The Connext Micro version is a subset of Connext DDS. It has a footprint as small as 200 Kbytes allowing it to run on many single chip, 32-bit microcontrollers. This stripped down version can depend on more robust nodes to handle more sophisticated contracts and distribution settings while these smaller nodes still provide and utilize data moved across the DataBus. It is certifiable for a number of safetey standards.
The Connext Messaging system is a superset of Connext DDS adding a number of messaging APIs like Java Messaging Service (JMS) to the mix. The publish-subscribe metaphor is still available but messaging methodologies are more common for many programmers and used by many applications. The messaging system uses the underlying DDS support to present a more conventional messaging infrastucture.
The Connext Integrator is also a superset of the Connext DDS version. It is designed for building gateways to an ESB (Enterprise Service Bus) that would be part of the usual IT and OT SOA (Service Organization Architecture) platforms. Many SOA ESBs are trying to do what Connext does but are unable to provide the scaling and real time support that RTI can deliver. Gateways built using the Connext Integrator can provide the speed and reliability at the low end and provide data interchange at the high level.
Connext comes with a range of services that are useable by all nodes. These include:
Features like administration, monitoring and logging are easily understood but services like federation, transformation and persistance may be new to many developers. Federation allows systems to be linked together into one cohesive environment. Transformation allows data to be converted to something more usable by a subscriber.
The persistance service provides storage that can be indispensible in a network with transient connections that Connext can handle. Published data can be stored by the persistance service and provided to a subscriber if the connection to the source of the data is inaccessible. For example, truck may have a radio link that works sometimes. It could provide information about its inventory, its location and other useful details to be stored by the persitance service. At a later time, an application could subscribe to this information, usually for an entire fleet of trucks, and have access to the current or the last stored selection of data. This would be transparent to the subscriber that simply requests the appropriate data fields.
Many of the services provide tools for management and debugging the distributed environment. The visualization services provide insight into network structure, data flow and security.
Connext provides secure access to the DataBus but it has more limited security features within the environment. Gateway developers using the Connext Integrator can provide additional firewalls so enterprise applications will only have access to the data and control they are allowed.
RTI's DDS has been used in a wide range of application areas from demanding, real time military applications on ships to embedded mesh sensor networks. It has recently been used by Siemens with its wind power turbines where micros track the operation and health of windmills in giant wind farms. It is being used for predictive maintenance, load balancing, and controlling power output. It can provide 1 minute real time data points for hundreds of turbines within one system. Now data from micros can span the computing environment up through the enterprise.