Platforma

Federirani NGSI-LD kontekstni sloj s provedbom politika i konektorima podatkovnog prostora, adapteri za sustave koje već vodite i podatkovni modeli koji kroz sve njih zadržavaju svoje značenje.

Kontekstni sloj

Svaki sustav koji povežete zadržava vlastitu bazu podataka. Iznad njih vrtimo NGSI-LD context broker koji drži jedan opis svake stvarne stvari: ulice, trafostanice, senzora, prostorije. Vaše aplikacije zatim brokeru postavljaju jedno pitanje umjesto da dvanaest sustava pitaju dvanaest različitih.

NGSI-LD entitet nosi svoja svojstva, svoje odnose i svoj @context. To je dovoljno da upit poput „svaki temperaturni senzor u ovoj četvrti i zgrada kojoj pripada" prijeđe granice sustava bez ljepila napisanog za tu priliku.

GET /ngsi-ld/v1/entities/urn:ngsi-ld:Streetlight:BB-1042
{
  "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"]
}
Jedna ulična svjetiljka kao NGSI-LD entitet: stanje, lokacija i odnos prema cesti uz koju stoji.

Tri načina na koja se aplikacija spaja

Gdje podaci žive nakon što stignu odlučuje koliko dupliranja i sinkronizacije projekt nosi, pa svaku aplikaciju svrstavamo u jedan od tri tipa prije nego se išta izgradi.

  • Bez stanja. Aplikacija ne drži vlastite podatke. Čita iz brokera i piše natrag u njega, a broker je jedini izvor istine.
  • Djelomična kopija. Aplikaciji treba podskup entiteta u vlastitoj bazi, za pretraživanje punog teksta ili tešku analizu za koju broker nije građen. Taj podskup držimo sinkroniziranim i dokumentiramo što se kopira.
  • U vlasništvu aplikacije. Aplikacija već govori NGSI-LD i drži svoje podatke. Broker drži registraciju koja pokazuje na nju i prosljeđuje upite koji odgovaraju, pa se sustav dobavljača priključuje na platformu bez da se išta pohranjuje dvaput.

Kako brokeri dijele

Jedan broker za cijelu organizaciju rijetko se izglasa. Odjeli posjeduju svoje podatke i oprezni su s njihovim predavanjem, što je razumno. Zato se brokeri međusobno registriraju kao izvori konteksta: upit stigne jednom brokeru, putuje dalje do onog brokera ili adaptera koji drži te entitete, i vraća se kao jedan spojeni odgovor.

Vodovod zadržava svoju bazu i svoja pravila pristupa. Gradska nadzorna ploča i dalje prikazuje podatke o vodi uz brojanje prometa. Provjeravamo da ništa nije kopirano umjesto da to pretpostavimo: isti upit ograničen na lokalno pohranjene entitete vraća samo ono što taj broker posjeduje.

upit jedan odgovor Promet context broker zadržava vlastite podatke registriran kao izvor konteksta Voda context broker zadržava vlastite podatke Energija context broker zadržava vlastite podatke
Upit stiže do jednog brokera, a odgovaraju sva tri. Nijedan podatak nije kopiran.

Tko što vidi

NGSI-LD namjerno ostavlja kontrolu pristupa izvan standarda. Mi je dodajemo na pristupniku ispred brokera. Svako pravilo imenuje subjekt, radnju, resurs i uvjet: ovaj partner smije postavljati upite nad ovim tipovima entiteta unutar ovog opsega. Pristupnik provjerava svaki zahtjev prema mehanizmu politike, a ako se do mehanizma ne može doći, zahtjev se odbija umjesto da prođe.

Za dijeljenog blizanca važno je kako se pravilo provodi. Pristupnik ne filtrira odgovor naknadno. Prepisuje upit prije nego ga broker vidi, tako da upit može pogoditi samo entitete na koje pozivatelj ima pravo, što god pozivatelj napisao. Partner koji zatraži opseg koji ne smije čitati dobiva dopušteni podskup i ništa više, a odgovor je i dalje običan NGSI-LD odgovor. Neizmijenjeni klijenti iza njega nastavljaju raditi.

Između organizacija

Unutar jedne organizacije federacija između brokera je dovoljna. Između grada i njegove regije, ili pogona i njegove komunalne tvrtke, vlasnik želi ugovor prije nego se pomakne prvi bajt. Svaka organizacija vrti konektor Dataspace Protocola uz svog brokera. Konektor potrošača traži katalog, dogovara ponudu i dobiva krajnju točku prijenosa; federacija brokera zatim pokazuje na tu krajnju točku, a ne izravno na drugu stranu.

Pregovaranje se događa jednom po odnosu i traje nekoliko sekundi. Nakon toga federirani upit kroz konektor košta 2 ms više od obične federacije između brokera za jedan entitet i 4 ms za deset, mjereno između tri organizacije preko mreže širokog područja. Suverenost nije ono što federaciju čini skupom.

Adapteri i unos podataka

Većina posla u svakom projektu nalazi se ispod brokera.

  • IoT i telemetrija: MQTT, LoRaWAN i OPC UA tokovi, normalizirani u entitete i osvježavani kako mjerenja pristižu. Tok javnog prijevoza s otprilike 400 vozila po jednoj poruci na vozilo u sekundi normalno je opterećenje.
  • Geoprostorno: WFS, GeoJSON i PostGIS slojevi, tako da entiteti zadrže pravu geometriju umjesto para koordinata.
  • Očitanja senzora: OGC SensorThings i sa STA kompatibilne usluge za vremenske nizove.
  • Registri i datoteke: baze imovine, CSV izvozi, BIM i IFC izvadci, katastarski zapisi.
MQTT LoRaWAN OPC UA SCADA WFS · PostGIS GeoJSON SensorThings STA CSV · IFC BIM Adapter normalizira NGSI-LD entiteti, spremni za upit
Što hrani kontekst: protokoli unutra, NGSI-LD entiteti van.

Modeli koji zadržavaju značenje

Entitet putuje između sustava samo ako oba pod njim misle isto. Gradimo na objavljenim Smart Data Models gdje odgovaraju i proširujemo ih gdje ne odgovaraju, a svako proširenje zapisujemo kao dio isporuke. Nastali JSON-LD konteksti su vaši, verzionirate ih kao svaki drugi artefakt i nosite ih sa sobom.

Dogovor o IRI-ju modela je ono što obavlja posao. Kada su dvije organizacije objavile isto očitanje PM2.5 pod različitim imenima atributa, svaki mapiran na zajednički model, potrošač je dobio oba pod jednim ključem bez koda za prijevod na putu. Atribut koji nitko nije mapirao ostao je odvojen, što je ispravan ishod: platforma pokazuje rupu u rječniku umjesto da je sakrije.

Kako se vrti

Stog je otvorenog koda: Scorpio kao context broker, Apache APISIX i Open Policy Agent za provedbu, Keycloak za identitet, distribucija Eclipse Dataspace Components kao konektor, sve na Kubernetesu. Vrti se na vašem klasteru, na upravljanom klasteru u EU regiji koju odaberete, ili na jednom poslužitelju za pilot. Dobivate implementaciju kao kod, modele, adaptere i priručnik napisan za nekoga tko nije bio u projektu. Zamijenite nas kasnije i sve i dalje radi.

Čega još nema

Radije da to čujete od nas. Federirani upiti pokrivaju trenutno stanje partnerovih entiteta; njihova povijest još se mora replicirati prije nego se može iscrtati. Pisanje u partnerovog blizanca po ugovoru je projektirano, ali još nije isporučeno, pa partner danas čita. Pod trajnim programskim opterećenjem federirani put poslužuje otprilike četvrtinu propusnosti izravnog upita, što je daleko iznad onoga što nadzorne ploče trebaju i vrijedi znati prije nego na to stavite javni API.

Što prepuštamo drugima

Ne prodajemo blizance, nadzorne ploče ni uređaje. Vizualizacija ide alatu koji vaši timovi ionako otvaraju ujutro, a mi mu pružamo spojeni kontekst iz kojeg crta.

Pitajte za svoje sustave