Empresas, cidades e regiões quase não partilham dados entre si. Usamos as normas europeias para a troca e a análise de dados, entre elas NGSI-LD, e colocamos context brokers sobre os sistemas que já opera, para que uma consulta chegue a todos eles enquanto cada proprietário mantém os seus dados onde estão e decide quem pode ver que parte.
Cinco sistemas, cinco vocabulários, um contexto a que perguntar.
Uma única fonte de verdade
Sensores, camadas SIG, modelos BIM, cadastros de ativos, eventos da cidade e os registos que os seus processos deixam passam a ser entidades NGSI-LD com a mesma forma. Dois departamentos que fazem a mesma pergunta leem a mesma resposta, seja qual for o fornecedor que construiu o sistema por baixo.
Os dados ficam onde vivem
O NGSI-LD descreve as entidades, o DCAT-AP os conjuntos de dados e o ODRL as condições de utilização, por isso nada tem de se mudar para uma base de dados central. Os brokers registam-se uns nos outros, a consulta viaja até quem detém as entidades e as respostas voltam já unidas. Na nossa implantação de referência o broker regional respondeu por dezasseis eventos e guardava apenas os seus seis.
A política decide o que um parceiro vê
Uma organização parceira consulta o seu gémeo e recebe o subconjunto que a sua política permite, mesmo quando a consulta dela pede mais. O resto nunca sai do seu broker.
Normas que ficam consigo
NGSI-LD do ETSI, o Dataspace Protocol, o OGC SensorThings e os Smart Data Models publicados. Troque de fornecedor, ou troque-nos a nós, e os modelos continuam a descrever a sua cidade.
Protocolos e normas que ligamos
NGSI-LD
JSON-LD
OGC SensorThings
MQTT
LoRaWAN
OPC UA
WFS · PostGIS
IFC · BIM
Smart Data Models
O problema em que trabalhamos
Os gémeos digitais chegam um projeto de cada vez. O departamento de transportes compra um, a empresa de energia compra outro, a de águas mantém um terceiro, e o departamento de obras trata de um modelo BIM que mais ninguém consegue abrir. Cada um deles descreve a mesma rua e o mesmo edifício no seu próprio vocabulário, por isso uma pergunta que atravessa dois departamentos torna-se uma reunião em vez de uma consulta.
As leituras dos sensores são apenas uma parte disto. As obras na via, os eventos culturais, os licenciamentos em curso e os avisos que a cidade publica descrevem essa mesma rua, e cada um deles está em mais um sistema.
Uma API normalizada fecha só metade desse fosso. O NGSI-LD define como um sistema lê de outro. Nada diz sobre como o proprietário limita o que o vizinho vê, por isso uma cidade que queira partilhar o seu gémeo com a região pode abri-lo por inteiro ou não abrir de todo. Construímos a camada que faz as duas coisas: junta os gémeos num contexto e deixa cada proprietário decidir quem lê que parte.
Seis partes, uma plataforma
01 · Fontes
Os adaptadores transformam aquilo que os seus sistemas já emitem, MQTT, LoRaWAN, OPC UA, WFS, IFC, em entidades NGSI-LD. Do lado da fonte nada é reescrito.
02 · Contexto
Um context broker guarda uma descrição de cada rua, contador e sala, com as suas propriedades, as suas relações e o seu @context.
03 · Federação
Os brokers registam-se uns nos outros. Uma pergunta enviada a um broker é respondida por quem detém as entidades, e pelo caminho não se faz cópia nenhuma.
04 · Política
As regras de acesso indicam quem pode fazer o quê, com que entidades e sob que condição. O gateway reescreve cada consulta para que só possa devolver aquilo a que quem chama tem direito.
05 · Espaço de dados
Entre organizações, os conectores do Dataspace Protocol negoceiam os termos uma vez. Depois disso, uma consulta federada custa alguns milissegundos mais do que uma consulta simples.
06 · Consumidores
O Grafana e outros clientes NGSI-LD sem modificações leem através de toda a federação como se fosse um único broker. As suas equipas mantêm as ferramentas que abrem de manhã.
Medido em três organizações
Implantámos a plataforma para uma cidade, a sua região autónoma e uma universidade, cada uma no seu próprio cluster Kubernetes, com credenciais próprias e sem administrador partilhado, e medimo-la sobre uma rede alargada. Os números abaixo vêm dessa implantação e estão publicados, pedido a pedido, com o artigo científico que escrevemos com a Universidade Matej Bel.
Enviar uma consulta federada através de um conector de espaço de dados custa mais 2 ms do que a federação simples entre brokers para uma entidade, e 4 ms para dez. Federar custa cerca de 31 ms acima de uma consulta direta, e aplicar a política ao resultado mais 18 a 19 ms.
Catorze de catorze casos de controlo de acesso aguentaram, entre eles um token falsificado, um token reescrito para reclamar o papel de administrador e um motor de políticas desligado. O gateway recusou em vez de deixar passar o pedido.
Um parceiro só de leitura consultou 103 veículos detidos por outra organização e recebeu os 100 que lhe era permitido ver, também quando a sua própria consulta indicava um âmbito que não tinha direito a ler.
O Grafana, com a sua fonte de dados NGSI-LD normal, leu eventos, qualidade do ar e posições de veículos nas três organizações, sem adaptador pelo meio.
Como começa um projeto
Inventário. Mapeamos cada sistema que guarda dados do gémeo: protocolo, modelo, proprietário, frequência de atualização e quem tem permissão para ler.
Piloto sobre uma pergunta. Pegamos numa pergunta que as suas equipas já fazem através de dois ou três sistemas e tornamo-la respondível numa única consulta NGSI-LD.
Expansão. Adaptadores, modelos e regras de acesso passam para a sua infraestrutura ou para a nossa. As suas equipas continuam a trabalhar nas ferramentas que conhecem.
Abertura a parceiros. Quando uma organização vizinha tiver de ler parte do seu gémeo, o conector dela negoceia os termos e a sua política decide o resto.
Traga os seus dados para um só contexto
Envie-nos a lista dos sistemas que opera. Voltamos com o que pode ser ligado hoje, onde é preciso um adaptador primeiro e o que cada passo exige.