High-level Architecture

Overview

The following picture shows the high level architecture of the Bosch IoT Hub.

architecture

Protocol Adapters

Protocol Adapters allow to connect devices using different IoT protocols to the Bosch IoT Hub. This includes widely used protocols like MQTT-, HTTP-, Bosch IoT Messaging- and LoRaWAN-enabled devices. A device may connect on purpose via different connections using different protocols, e.g. one connection for sending telemetry data over MQTT and one for device management over LWM2M.

Hub Management

The Hub Management components and the protocol adapters are together the heart of the Bosch IoT Hub. The components implement APIs that are developed as part of the Eclipse Hono™ project.

Component Description
Device Identity and Credential Registry The Device Identity and Credential Registry Management component exposes service endpoints implementing the Device Registration and Credentials API of Eclipse Hono™. It is the central registry persisting all information that is required to connect devices to the Bosch IoT Hub. This includes the identities under which a device is known in the Bosch IoT Hub as well as their authentication and authorization information. The component is used by other services to assert a device registration status, e.g. if it is enabled and if it is registered with a particular tenant.
Tenant Manager The Tenant Manager component exposes a service endpoint implementing the Tenant API of Eclipse Hono™. It allows for configuration of tenant specific messaging endpoints and configure scopes for tenant’s devices and credentials.

Messaging

The messaging components are responsible for sending messages from devices to registered consumers and vice versa.

Component Description
Command/Control Message Handling The Command/Control Message Handling component processes upstream and downstream messages that require reliable messaging. Devices as well as consumers route their message through this component in order to ensure that their messages are received and processed (e.g. for sending alerts from devices to the IoT Hub).
Telemetry Message Distribution The Telemetry Message Distribution component is used to stream telemetry messages from devices through the IoT Hub to consumers. Focus for this components is high message throughput.
Events Message Distribution The Events Message Distribution component is used to stream event messages from devices through the IoT Hub to consumers. Focus for this components is guaranteed delivery of messages.