Technology

Cels was designed specifically for IoT projects, using modern and stable technologies. It is not a repainted MES or SCADA system. It is an architecture focused on scalability, performance, functionality, and extensibility.

Key Platform Properties

Multitenancy and Project Isolation

Each project runs in its own isolated space, with independent users, devices, settings, and access rights.
This makes it possible to:

Discretionary Access Control

Cels follows an "everything is denied unless explicitly allowed" model.

Scalability and Fault Tolerance

Cels can scale according to the number of devices, users, and overall system load.

Kubernetes-Ready SOA Architecture

Cels can be deployed in a containerized environment based on Kubernetes.
The platform follows service-oriented architecture principles:
Cels is ready for hybrid and multi-cloud environments, and can also be deployed on premises for organizations with strict data-security requirements.

AI-Ready Foundation for Machine Learning

Cels provides a prepared foundation for AI and ML scenarios.
This foundation makes it possible to add predictive analytics, anomaly detection, and process optimization without rebuilding the IoT architecture.

Security

Core Platform Services

Gateway Service: Protocol Interoperability

The gateway service connects devices to the platform and turns many device protocols into one normalized internal flow.
The connection is configured through models and objects. A model acts as a virtual counterpart of the physical device: it describes parameters, commands, and events so the platform can receive incoming data and send the right commands back.
Devices can differ by manufacturer, network, protocol, or payload format. Cels hides that complexity behind a unified object model, so users are not locked into one hardware vendor or proprietary protocol.
Basic gateway responsibilities include:

Handler Service: Data Processing

Data processing in Cels
Cels supports serverless data processing in two modes:
Handlers can be used to filter incoming data, enrich telemetry, calculate new indicators, split one packet into several values, transform payloads, or trigger webhooks for external systems. Several handlers can be linked into chains, where the output of one handler is available to the next.
Basic capabilities include:

Automation Service: No-Code Logic

Automation scenarios in Cels
Cels includes a graphical no-code editor for automation scenarios. Scenarios describe the behavior of an object using finite state machines.
Core concepts include:
The editor lets teams define business-process logic without writing code. Anyone who understands the operational process can build, test, start, or stop a scenario from the graphical interface.
Automation can run on one object or on many objects at once. One scenario can also use parameters, commands, and events from several models, making cross-device interaction possible inside a single automation flow.
Each automation scenario works independently. Several scenarios can run on the same object at the same time, which makes behavior flexible without turning the system into custom code.

Web and API Layer: Interfaces and Integrations

Cels provides user interfaces and API access for operators, developers, and external systems.
The API can be used to automate interaction with the platform: collect data, send commands, start an automation scenario, attach tags to objects, or synchronize data with an external service.
For example, if the same command must be sent to a device at fixed intervals, an external application can send requests to Cels automatically instead of relying on manual actions in the UI. Requests follow REST principles and usually include the platform URL, an access token, an object ID, and a clear request body.

Data Storage

Cels uses different storage approaches for different data types.
This separation keeps current object state fast to access while preserving the historical record needed for reporting, analytics, audit, and predictive scenarios.

Materials