C++ Based OPC UA Client/Server/PubSub SDK
PubSub Stack and SDK integration

The processing of NetworkMessages and DataSetMessages for different transport protocol mappings and message mappings is implemented in the PubSub stack.

The following figure shows the modules and interfaces of the PubSub stack.

The two main interfaces of the PubSub stack are for integration with application data and for integration with network. In addition the stack needs a configuration and security keys.

The data integration can be done through a default implementation provided by the SDK. For the Server SDK, this allows a seamless integration with the existing address space and the related data and event processing interfaces. As alternative, the user of the SDK can register callbacks for direct integration with the message creation on the Publisher side and the message processing on the Subscriber side.

For the network integration, the stack provides a default socket implementation using the SDK platform layer. Not yet supported protocols or implementations for special network drives can be integrated by providing additional network back-ends from the user of the SDK.

The PubSub configuration and security keys are provided by the SDK PubSub module.

The following figure shows the integration of the PubSub stack into the Server SDK.

For most use cases, the SDK implements and handles all interfaces of the PubSub stack.

The SDK provides the Published data and events through the existing interfaces implemented by users of the Server SDK. Also the processing of the received data is done through these existing interfaces.

The on-line configuration of PubSub through the PubSub configuration information model is implemented by the PubSub SDK module. The configuration is also persisted by the SDK and is provided to the PubSub stack at start-up and after configuration changes.

For better performance, especially for real-time applications, the user of the SDK can do the data integration directly between the application and the PubSub stack. See Custom PubSub Message Handling for more details.

The following page provide further information on the PubSub functionality in the SDK: