
Stellio
Verwaltet aktuelle Zustände und Beziehungen als NGSI-LD-Kontext.
Stellio ist ein Open-Source Context Broker für die standardisierte NGSI-LD API. Die Komponente verwaltet digitale Repräsentationen realer oder virtueller Objekte als vernetzte Entitäten. Neben aktuellen Eigenschaften lassen sich Beziehungen, räumliche Informationen und semantische Bedeutungen abbilden. Anwendungen können diese Kontextinformationen über eine REST-API schreiben, abfragen und abonnieren.
Die grundlegenden Konzepte sind:
- Entities repräsentieren ein eindeutig identifizierbares fachliches Objekt.
- Properties beschreiben Eigenschaften und Messwerte einer Entität.
- Relationships verknüpfen Entitäten miteinander.
- JSON-LD-Kontexte ordnen kompakte Begriffe eindeutigen semantischen Bezeichnern zu.
- Subscriptions benachrichtigen registrierte Empfänger über relevante Änderungen.
- Batch-Operationen verarbeiten mehrere Entitäten innerhalb eines API-Aufrufs.
Stellio in der UDSP
Stellio bildet in der UDSP den fachlich führenden Dienst für aktuelle NGSI-LD-Kontextdaten. Aufbereitete Daten gelangen beispielsweise über Node-RED in den Broker. Stellio speichert Entitäten, Eigenschaften und Beziehungen und stellt den konsistenten Kontext anschließend für Anwendungen, Schnittstellen und weitere Plattformdienste bereit.
Die veröffentlichten NGSI-LD-Routen führen über APISIX. Das Gateway prüft das Zugriffstoken, den angeforderten API-Scope und die Berechtigung für den im Header NGSILD-Tenant genannten Datenraum. Der Context Hoster stellt die verwendeten JSON-LD-Kontexte unter stabilen URLs bereit.
Innerhalb des Stellio-Stacks persistiert PostgreSQL die fachlichen Daten und Dienstzustände. Kafka verteilt Änderungen zwischen den Stellio-Diensten und bleibt eine interne technische Abhängigkeit. Wird QuantumLeap aktiviert, können Kontextänderungen zusätzlich als Zeitreihen in die mandantenbezogene TimescaleDB übernommen werden.
Technische Abhängigkeiten
Der Stellio-Stack kombiniert Persistenz, internen Ereignistransport und den geschützten Plattformzugang. Optionale Historisierungskomponenten werden getrennt aktiviert.
PostgreSQL
Speichert Entitäten, Beziehungen, Subscriptions und interne Dienstzustände; PostGIS, TimescaleDB und pgcrypto ergänzen benötigte Funktionen.
Komponente öffnenApache Kafka
Verteilt Kontextänderungen zwischen API-, Such- und Subscription-Diensten des Stellio-Stacks.

APISIX
Veröffentlicht die NGSI-LD-Routen und prüft Token, Scopes und Datenraumkontext.
Komponente öffnenKeycloak
Stellt die für den geschützten NGSI-LD-Zugang verwendeten Identitäten und API-Scopes bereit.
Komponente öffnenQuantumLeap
Übernimmt ausgewählte Kontextänderungen in die mandantenbezogene Zeitreihendatenbank.
Komponente öffnenContext Hoster
Veröffentlicht die von NGSI-LD-Datenmodellen referenzierten JSON-LD-Kontexte unter stabilen URLs.
Komponente öffnenInterner Ereignisstrom mit Kafka
Kafka ist eine verteilte Plattform für geordnete Ereignisströme. Produzenten schreiben Nachrichten in Topics; Verbraucher lesen sie unabhängig voneinander und halten ihren Fortschritt über Offsets fest. Stellio nutzt diese Entkopplung ausschließlich innerhalb seines eigenen mandantenbezogenen Deployments. Die UDSP stellt weder Topics noch das Kafka-Protokoll als allgemeine Integrationsschnittstelle bereit.
Konfiguration und Deployment
Stellio wird für jeden Mandanten im Inventory aktiviert und erhält einen eigenen Namespace sowie eine eigene PostgreSQL-Datenbank. Konfiguriert werden insbesondere Speichergröße, logisches Backup, Antwortkompression, die stabile Kafka-Cluster-ID sowie die optionalen Dienste QuantumLeap und Context Hoster.
Die verfügbaren Inventory-Felder, Abhängigkeiten und zulässigen Werte sind unter Mandanten konfigurieren: Stellio beschrieben. Die veröffentlichte API wird unter NGSI-LD-Schnittstelle erläutert.
Rollen und Rechte
Für den Zugriff auf die über APISIX veröffentlichten Stellio-Routen verwendet die UDSP die Rollen des Keycloak-Clients api-access:
dataConsumer
Erhält den Scope api:read und darf NGSI-LD-Entitäten, Abfragen und Subscriptions lesen.
dataProducer
Erhält api:read und api:write und darf Kontextdaten lesen, anlegen und verändern.
dataAdmin
Erhält api:read, api:write und api:delete und darf Kontextdaten vollständig verwalten.
Die Rolle allein gewährt noch keinen mandantenübergreifenden Zugriff. Das Token muss zusätzlich den angeforderten Datenraum enthalten. Stellio verwaltet für diesen Plattformzugang keine separaten Benutzerkonten. Das übergreifende Prinzip ist unter Rollen- und Rechtekonzept beschrieben.