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 or HTTP as well as protocols optimized for specific IoT use cases like LoRaWAN. A device may connect on purpose via different connections using different protocols, e.g. one connection for sending telemetry data and another one for device management. The usage of the Bosch IoT Suite for Asset Communication package allows connecting gateways running Bosch IoT Gateway Software. This is possible via the Gateway Software Protocol Adapter of the Bosch IoT Hub, which enables the connection between the Bosch IoT Gateway Runtime and the Bosch IoT Hub service. Detailed information regarding usage of this protocol is provided in the Bosch IoT Suite for Asset Communication documentation.

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™. A tenant groups together devices and consists of a set of configuration properties. The component allows to manage the configuration of a tenant.

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 is used to send commands to the connected devices. Commands can be used to change the configuration of devices or trigger an action on the device. The devices can inform the Bosch IoT Hub if the operation has been executed successfully sending back a response.
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.