Again, multiple protocol bindings exist, each with its own primary use case:
- UADP: binary-encoded message running over UDP (User Datagram Protocol)
- JSON over MQTT, typically used in the cloud
- UADP over TSN, used for field-level communication, UA binary, UDP based
The first protocol binding uses UDP — this is a key communication protocol of the Internet protocol suite, used often instead of TCP when a connectionless form of transmission is preferred — the publisher does not require any acknowledgement of the subscribers receiving the data. Its low overhead makes it suitable for the multi-cast nature of the publish-subscribe model.
Interestingly, the second protocol binding for publish-subscribe communication uses MQTT, which is often considered to be a rival communications architecture when discussing the future of Industry 4.0 communication. However, whilst OPC-UA is designed more as a way of structuring data, MQTT is more focused on transmission of data. This protocol binding is generally used for cloud-level communications.
The third protocol binding, UADP over TSN (Time-Sensitive Networking) offers a real-time communication solution over OPC-UA. This final protocol binding is used when determinism is required — i.e. a guarantee that a communications message will arrive at the target within a given timeframe. As such, it is generally used for field-level communications.
The publish-subscribe model differs dependent on the protocol binding chosen. For the one-to-many and deterministic use cases, UADP will be used, and communication occurs directly between the publisher and the subscriber. However, for cloud-level communication using MQTT, communication occurs over an intermediary, known as a broker.