Platform
Föderált NGSI-LD kontextusréteg szabályérvényesítéssel és adattér-konnektorokkal, adapterek a már működő rendszerekhez, és adatmodellek, amelyek mindegyikben megőrzik a jelentésüket.
A kontextusréteg
Minden csatlakoztatott rendszer megtartja a saját adatbázisát. Fölöttük egy NGSI-LD context broker fut, amely minden valós dologról egyetlen leírást tart: egy utcáról, egy transzformátorállomásról, egy érzékelőről, egy helyiségről. Az alkalmazásaik ezután egy kérdést tesznek fel a brokernek, ahelyett hogy tizenkét rendszernek tennének fel tizenkét különbözőt.
Egy NGSI-LD entitás hordozza a tulajdonságait, a kapcsolatait és a @context-ét. Ez elég ahhoz, hogy egy olyan lekérdezés, mint „minden hőmérséklet-érzékelő ebben a városrészben és az épület, amelyhez tartozik", alkalmi ragasztókód nélkül lépje át a rendszerhatárokat.
{
"id": "urn:ngsi-ld:Streetlight:BB-1042",
"type": "Streetlight",
"powerState": { "type": "Property", "value": "off",
"observedAt": "2026-08-30T19:04:00Z" },
"location": { "type": "GeoProperty",
"value": { "type": "Point", "coordinates": [19.146, 48.736] } },
"refRoadSegment": { "type": "Relationship",
"object": "urn:ngsi-ld:RoadSegment:BB-Nam-SNP" },
"@context": ["https://smartdatamodels.org/context.jsonld"]
}
Az alkalmazás három csatlakozási módja
Az, hogy megérkezése után hol él az adat, dönti el, mennyi kettőzést és szinkronizálást cipel egy projekt, ezért minden alkalmazást három típus egyikébe sorolunk, mielőtt bármit megépítenénk.
- Állapotmentes. Az alkalmazás nem tart saját adatot. A brokerből olvas és oda ír vissza, és a broker az egyetlen igazságforrás.
- Részleges másolat. Az alkalmazásnak az entitások egy részhalmaza kell a saját adatbázisába, teljes szöveges kereséshez vagy olyan nehéz elemzéshez, amelyre a broker nem épült. Ezt a részhalmazt szinkronban tartjuk, és dokumentáljuk, mi másolódik.
- Alkalmazás tulajdonában. Az alkalmazás már beszél NGSI-LD-t, és tartja az adatait. A broker egy rá mutató regisztrációt tart, és továbbítja az illeszkedő lekérdezéseket, így egy szállítói rendszer úgy csatlakozik a platformhoz, hogy semmi sem tárolódik kétszer.
Hogyan osztoznak a brokerek
Egyetlen broker az egész szervezetre ritkán megy át. Az osztályok a saját adataik gazdái, és óvatosak az átadásukkal, ami észszerű. Ezért a brokerek kontextusforrásként regisztrálnak egymásnál: a lekérdezés megérkezik az egyik brokerhez, továbbutazik ahhoz a brokerhez vagy adapterhez, amely az adott entitásokat tartja, és egyetlen összefésült válaszként tér vissza.
A vízművek megtartja az adatbázisát és a hozzáférési szabályait. A városi műszerfal ettől még a forgalomszámlálás mellett mutatja a vízadatokat. Ellenőrizzük, hogy semmi nem másolódott, ahelyett hogy feltételeznénk: ugyanaz a lekérdezés a helyben tárolt entitásokra szűkítve csak azt adja vissza, ami az adott brokeré.
Ki mit lát
Az NGSI-LD szándékosan hagyja a hozzáférés-vezérlést a szabványon kívül. Mi a broker előtti átjáróban adjuk hozzá. Minden szabály megnevez egy alanyt, egy műveletet, egy erőforrást és egy feltételt: ez a partner ezeket az entitástípusokat kérdezheti le ezen a hatókörön belül. Az átjáró minden kérést a szabálymotorhoz mér, és ha a motor nem érhető el, a kérést elutasítja, nem pedig átengedi.
Egy megosztott ikernél az számít, hogyan érvényesül a szabály. Az átjáró nem utólag szűri a választ. A lekérdezést még azelőtt írja át, hogy a broker látná, így a lekérdezés csak olyan entitásokra illeszkedhet, amelyekre a hívónak joga van, bármit is írt a hívó. Az a partner, amely olyan hatókört kér, amelyet nem olvashat, a megengedett részhalmazt kapja és semmi mást, a válasz pedig továbbra is közönséges NGSI-LD válasz. A mögötte lévő, módosítatlan kliensek tovább működnek.
Szervezetek között
Egy szervezeten belül elég a brokerek közötti föderáció. Egy város és a régiója, vagy egy üzem és a szolgáltatója között a tulajdonos szerződést akar, mielőtt az első bájt megmozdulna. Minden szervezet egy Dataspace Protocol konnektort futtat a brokere mellett. A fogyasztó konnektora elkéri a katalógust, letárgyalja az ajánlatot, és kap egy átviteli végpontot; a broker föderációja ezután erre a végpontra mutat, nem közvetlenül a másik félre.
A tárgyalás kapcsolatonként egyszer történik, és néhány másodpercig tart. Utána a konnektoron keresztüli föderált lekérdezés egy entitás esetén 2 ms-mal, tíz esetén 4 ms-mal kerül többe a brokerek közötti sima föderációnál, három szervezet között, nagy kiterjedésű hálózaton mérve. Nem a szuverenitás teszi drágává a föderációt.
Adapterek és adatbetöltés
Bármely projektben a munka nagyobb része a broker alatt van.
- IoT és telemetria: MQTT, LoRaWAN és OPC UA adatfolyamok, entitásokká normalizálva és a mérések beérkezésével frissítve. Egy körülbelül 400 járműves közösségi közlekedési adatfolyam, járművenként másodpercenként egy üzenettel, normál terhelés.
- Térinformatika: WFS, GeoJSON és PostGIS rétegek, hogy az entitások valódi geometriát tartsanak meg, ne csak egy koordinátapárt.
- Érzékelőmegfigyelések: OGC SensorThings és STA-kompatibilis szolgáltatások idősorokhoz.
- Nyilvántartások és fájlok: vagyonadatbázisok, CSV exportok, BIM és IFC kivonatok, ingatlan-nyilvántartási adatok.
Modellek, amelyek megőrzik a jelentésüket
Egy entitás csak akkor utazik rendszerek között, ha mindkettő ugyanazt érti alatta. A közzétett Smart Data Models-re építünk ott, ahol illenek, és ott bővítjük őket, ahol nem, és minden bővítést a szállítás részeként írunk le. A keletkező JSON-LD kontextusok az önökéi, úgy verziózzák őket, mint bármely más terméket, és magukkal viszik.
A modell IRI-jében való megegyezés az, ami elvégzi a munkát. Amikor két szervezet ugyanazt a PM2.5 mérést különböző attribútumnevek alatt tette közzé, mindkettőt a közös modellre képezve, a fogyasztó mindkettőt egy kulcs alatt kapta meg, fordítókód nélkül az úton. Az az attribútum, amelyet senki nem képezett le, külön maradt, és ez a helyes eredmény: a platform megmutatja a szótárban lévő rést, ahelyett hogy elrejtené.
Az üzemeltetés
A rendszer nyílt forráskódú: Scorpio a context broker, Apache APISIX és Open Policy Agent az érvényesítéshez, Keycloak az identitáshoz, egy Eclipse Dataspace Components disztribúció a konnektor, mindez Kubernetesen. Fut az önök fürtjén, egy önök által választott EU-régióban lévő menedzselt fürtön, vagy egyetlen szerveren egy pilothoz. Megkapják a telepítést kódként, a modelleket, az adaptereket és egy üzemeltetési kézikönyvet, amely olyasvalakinek íródott, aki nem volt a projektben. Cseréljenek le minket később, és minden tovább fut.
Ami még nincs meg
Inkább tőlünk hallják. A föderált lekérdezések a partner entitásainak jelenlegi állapotát fedik le; a történetüket még replikálni kell, mielőtt grafikonra lehetne tenni. A partner ikrébe szerződés alapján való írás meg van tervezve, de még nincs leszállítva, így ma a partner olvas. Tartós programozott terhelés alatt a föderált út a közvetlen lekérdezés áteresztőképességének nagyjából a negyedét szolgálja ki, ami messze több annál, mint amennyi a műszerfalaknak kell, és érdemes tudni, mielőtt nyilvános API-t tesznek rá.
Amit másokra hagyunk
Nem árulunk ikreket, műszerfalakat vagy eszközöket. A megjelenítés ahhoz az eszközhöz kerül, amelyet a csapataik amúgy is megnyitnak reggel, mi pedig egy összekötött kontextust adunk neki, amelyből rajzolhat.