Protocol bindings
A protocol binding defines how the Bosch IoT Things protocol messages are transported using a specific network protocol e.g. “Ditto Protocol over WebSocket” or “Ditto Protocol over AMQP”. The binding defines a set of rules how Ditto 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
- MQTT 5 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
versa.
Find a detailed example at
https://www.eclipse.org/ditto/connectivity-mapping.html.
The connections magement user interface also supports
you with this task by providing a section where you can code your
mapping in JavaScript. Find details at
Manage your connections.