The DDS specification defines two separate interfaces.
  1. A Data-Centric Publish-Subscribe (DCPS) interface which provides a global data space.
    • Type-specific data publishers send data that interested subscribers can receive.
    This is considered a low level interface and very similar to past MOMA (Message Oriented Middleware Architecture) implementations that became prevalent in the 1990’s.

  2. A Data Local Reconstruction Layer (DLRL) which allows for distribution of an object model.
    • This is an optional layer built on top of DCPS.
    DLRL is functionally very attractive as it provides a higher level interface and hides much of the pub/sub details behind a local framework. It shifts DDS back to providing more transparency as is usual with CORBA.

DCPS Usage
DCPSUsage

DLRL Usage
DLRLUsage

In both cases it can be seen that clear performance benefits should be achievable when readers and writers utilize the transport directly. It can also be appreciated how a DLRL can provide a framework to further mask applications, (those that are remote from the data sources), from any underlying distribution complexity.

OpenDDS presently implements the DCPS level.