IoTRoutes Architecture
This representation describes the main features provided by the IoTRoutes platform. The complete list is detailed in the user guide.

Messaging module : Ensures communication between the platform and devices, the exchange type and message structure are configurable via the "Message Formats" feature. Multiple structures can be defined for each exchange type. A single MQTT broker is installed by default for each deployment, but the platform administrator can add and enable/disable brokers depending on the size of the platform and the number of devices to be managed.
- Workers : These are jobs that are launched to execute one or more actions sequentially and/or in parallel. These actions are configurable via a visual workflow designer. There are two types of jobs:
- Immediate jobs that are triggered following an event, such as the receipt of a batch of messages or the connection of a new device. This type of job is essential for filtering, receiving, and converting received messages. Depending on the configuration, message interpreters can be activated at this level to detect anomalies or urgent alerts.
- Scheduled jobs and manual jobs: Similar to other jobs, these are workflows that are launched manually or at specific times to perform analysis actions, generate reports, send commands to devices, and interface or synchronize with external systems.
- Storage : Data storage is handled via two types of databases:
- Data: NoSQL databases to store both application data and messages exchanged with the platform.
- File storage: Uses GridFS to store objects, media files sent by devices, documents, reports, and any other type of user file.
Messages received from devices are queued until processed by the acquisition workers, then stored in the database to track the lifecycle configured via the "Message Lifecycle" feature.