Integration with publish-subscribe middleware

Updated: April 19, 2023

The PiPS framework provides a single API for sending and receiving data using any of the publish-subscribe services in an embedded system. Application commands issued through this API are delivered by PiPS to the underlying services, and the command outcomes are reported by PiPS to the applications.

The diagram below illustrates how PiPS integrates with the publish-subscribe middleware, based on the OSI networking model.

Diagram showing how PiPS sits at the OSI presentation layer, between client applications and the publish-subscribe middleware
Figure 1. PiPS integration with publish-subscribe middleware
Note: In this release, not all publish-subscribe interfaces (or providers) shown are supported; the diagram emphasizes how different providers can be used in a way that's transparent to applications.

As indicated in Figure 1, the PiPS framework is a presentation layer service that sits between client applications and the publish-subscribe middleware. The PiPS Client API allows applications to publish data using any or all supported middleware services. Conversely, any application can subscribe to updates for particular data types and receive samples of these data types when they're published by any middleware service (because PiPS is dispatched to deliver those samples). Client applications are therefore insulated from the addition or removal of specific middleware implementations.

Without the PiPS layer, applications would be restricted to exchanging data with only those other applications that use the same middleware. For example, any data published through the SOME/IP interface wouldn't be visible through the Fast RTPS interface.