Element descriptions
| Element | Description |
|---|---|
WebApp |
The WebApp contains the Device Portal UI and triggers the user authentication / authorization against MACMA. |
Device Tunnel |
The Device Tunnel provides remote access to devices via a WebSocket connection. Authorized users are able to connect to their devices from the Device Portal UI. |
Device BFF |
A BFF (backend-for-frontend) service which provides the Device API - a public REST API for device access. |
Solution BFF |
A BFF (backend-for-frontend) service which provides the Solution API - a public REST API for solution / application access. |
Device Master Data Mgmt |
This service manages the master data of the registered devices and machines. |
Device Monitoring |
This service manages the monitoring / status data of the registered devices. |
Device Administration |
This service manages the commands which are used for device interaction. |
Software Management |
This service replicates artifact meta-data from supported artifact or software repositories. At the moment the following software repository types are supported: Artifact Repository, Canonical Brandstore (cloud-only). |
Artifact Repository |
An artifact repository developed by the Device Portal team. This service allows to manage device-related data (backups and diagnostic data) and arbitrary artifacts like software or setup files. The service provides three public APIs: One for artifact and certificate management, one for interaction with other Device Portal services and one for device access. The artifact repository docker image is typically deployed as part of the Device Portal with multi-tenant support (Managed Artifact Repository). Cloud: A customer is able to operate an instance of this service in Azure (Private Artifact Repository) instead/in addition in order to manage his private device-related data and artifacts. |
OpenSearch |
An OpenSearch cluster which holds a copy of the master data and status data of the devices in order to have fast response times for device data retrieval. The data in OpenSearch is synchronized automatically by Device Master Data Mgmt and Device Monitoring service. |
OpenSearch Dashboards |
A management UI for OpenSearch which is used for 3rd-level operation tasks. |
Redis/Valkey |
A key-value store which holds the mapping between externally known ids (communication ids) to internal device ids and the corresponding tenants. The services that connect to the key-value store are Device Master Data Mgmt, Device BFF, Solution BFF, Webapp and Managed Artifact Repository. The data in the key-value store is synchronized automatically by Device Master Data Mgmt service. Cloud: Managed instance of Azure Cache for Redis is used. On-premises: A Valkey Sentinel deployment which is deployed as part of the Device Portal. |
Database |
A managed database instance which is used the store relational data (supported are MS SQL server and Oracle DB)). |
RabbitMQ |
A RabbitMQ instance (AMQP 0.9.1) which is provided by Nexeed. The message queue is used to route status data, received via Device API and Solution API, to the Device Monitoring service. |
Nexeed Portal |
The Nexeed Portal is the central UI of Nexeed. The Device Portal UI is integrated in the Nexeed Portal and can be accessed via menu entry "Device Portal". |
MACMA |
MACMA is used as OpenID Connect authentication and authorization provider. In the cloud the user authentication part is delegated to Bosch SingleKey ID. MACMA is used to secure user access to the Nexeed Portal / Device Portal UI and the Artifact Management API of the (Private/Managed) Artifact Repository. Moreover MACMA is used to secure solution / application access to the Solution API. |
Bosch SingleKey ID |
Cloud only: Bosch SingleKey ID is used to authenticate users based on a unique id which identifies the Bosch user. |
Canonical Brandstore |
Cloud only: A customer-operated software repository capable of managing software in Ubuntu Snap format. |
Ingress Controller |
A NGINX-based proxy which is used to route the requests to the correct service. In the on-premises deployment the mutual TLS authentication is handled by the Ingress Controller while in the Cloud deployment this part is handled by an NGINX service which is deployed as part of the Device Portal. |