Skip to content
This repository has been archived by the owner on Oct 12, 2023. It is now read-only.

Public facing services

avanikp edited this page Apr 20, 2018 · 4 revisions

The Web User Interface is a ReacJS application, Javascript only and completely running in the browser, styled with CSS and interacting with public facing microservices via AJAX calls.

The User Interface presents all Azure IoT PCS functionality, and interacts with the PCS microservices, for instance with the PCS authentication microservice to protect user data and with IoT Hub Manager to list and manage the IoT devices.

This service allows restriction and authorization of access to the PCS application. The microservice manages browser integration, in terms of tokens, client certificates, cookies etc. This service communicates with the internal Authentication Adapter, which presents an abstracted view of the backend authentication service; e.g. AAD or Google Auth.

To Be Defined: this microservice might be merged with the Authentication adapter, depending on the security boundaries (July task).

This services manages Azure IoT Hub interactions, such as creating and managing IoT devices, device twins, invoking Methods, managing IoT credentials, etc. This service is also used to run Queries to retrieve devices belonging to a particular group (defined by the user).

The microservice provides a RESTful endpoint to manage devices, device twins, commands, methods and Azure IoT Hub features required by PCS).

This service allows to manage a pool of simulated devices, to test the end-to-end flow of device-to-cloud (D2C) telemetry, invoking cloud-to-device (C2D) commands, methods, etc.

The microservice provides a RESTful endpoint to create a simulation (only one), to start and stop the simulation. Each simulation is composed by a set of virtual devices, of different types, sending telemetry and receiving commands.

This microservice allows the User Interface to read the telemetry sent by the IoT Devices, e.g. in order to present graphs and status details. It allows also to define monitoring rules, for instance thresholds triggering alerts, and to retrieve the list of past alerts.

Telemetry, Rules and Alerts are managed through the RESTful endpoint provided by this microservice.

The User Interface Configuration microservice provides a RESTful endpoint that allows the User Interface to be customized, for instance creating Groups (which are based on IoT Hub Queries), setting the PCS name and description, and to upload a Logo to customize the aspect of the solution.