A protocol binding defines how the Bosch IoT Things protocol messages are transported using a specific network protocol e.g. “Things Protocol over WebSocket” or “Things Protocol over AMQP”. The binding defines a set of rules how Things protocol messages are mapped to network protocol messages and back.
Currently the following protocol bindings are supported:
- AMQP 0.9.1 binding
- AMQP 1.0 binding
- Apache Kafka 2.x
- HTTP 1.1 endpoints
- MQTT 3.1.1 binding
- WebSocket binding
The architecture of the connectivity microservice in Eclipse Ditto is designed to also support connecting via other protocols in the future.
Messages consumed via the AMQP binding are treated similar to the WebSocket binding meaning that the messages are expected to be Ditto Protocol messages serialized as JSON. If your payload is not conform to the Ditto Protocol, you can configure a custom payload mapping.
Eclipse Ditto’s connectivity API provides a payload mapping feature.
This can be used to transform arbitrary payload consumed via the
different supported protocols to Ditto Protocol messages and vice
Find a detailed example at https://www.eclipse.org/ditto/connectivity-mapping.html.