Mecanismos de Integración e Interoperabilidad en Plataforma
- 1 Introducción
- 2 Capacidades de la Plataforma
- 3 Módulos de Plataforma que le dan soporte
- 3.1 Capa de Adquisición (Adquisition Layer)
- 3.1.1 Digital Broker
- 3.1.2 Kafka Broker
- 3.1.3 DataFlow
- 3.1.4 Digital Twin Broker
- 3.1.5 Video Broker
- 3.2 Capa de Interoperabilidad (Interoperability Layer)
- 3.2.1 API Manager
- 3.2.2 Dashboard Engine
- 3.2.3 Portal Open Data
- 3.2.4 SDKs y APIS
- 3.1 Capa de Adquisición (Adquisition Layer)
Introducción
En numerosos escenarios, la Plataforma actúa como Plataforma Central de la organización (por ejemplo como Plataforma Smart City) y existen un conjunto de verticales/desarrollos/aplicaciones que deben volcar cierta información en plataforma (por ejemplo valores de alarmas, KPIS,…) o bien consumir información gestionada por plataforma (como información de activos).
La correcta integración de los Servicios verticales con la Plataforma es esencial para asegurar que la información que fluye por el vertical se incorpora al flujo de información global provisto por la plataforma, permitiendo así explotar la información de una manera holística.
El objetivo de esta entrada es describir los mecanismos de integración que ofrece la plataforma a través de sus componentes técnicos y sus capacidades de interoperabilidad.
Capacidades de la Plataforma
La integración, ya sea unidireccional o bidireccional, se llevará a cabo gracias a las capacidades de integración e interoperabilidad out-of-the-box de Onesait Platform, que permiten su integración con cualquier dispositivo o sistema TI de forma muy simple y ágil. Entre estas:
Conectores: La Plataforma ofrece conectores en múltiples protocolos que permiten enviar, recibir y suscribirse a los datos gestionados por plataforma. Entre estos conectores tenemos APIS REST, Bus MQTT, Bug Kafka y WebSockets. Además la plataforma permite crear conectores para el Digital Broker y desplegarlos como plugins o conectarse de forma sencilla a Buses y plataformas existentes a través del DataFlow.
Soporte Protocolo FIWARE NGSI-v2 que permite la interoperabilidad con plataformas FIWARE a través de su Orion Context Broker. Ver detalle: Compatibilidad FIWARE NGSIv2 en Onesait Platform
APIS Cliente multilenguaje: la Plataforma ofrece APIs multilenguaje para facilitar el desarrollo de clientes que quieran comunicarse con la Plataforma. Entre estas APIs tenemos APIs en Java, Kafka, Python, Javascript, Node, Android y Node-red. Ver detalle: APIs Cliente del Digital Broker
Plataforma open-source: todos los componentes de plataforma, incluyendo las APIS cliente (GitHub - onesaitplatform/onesait-cloud-platform-clientlibraries: Client libraries to interact with Onesait Platform Cloud Side (Digital Broker specially) ) y los componentes que dan soporte a la integración (GitHub - onesaitplatform/onesaitplatform-cloud: Onesait Platform Community edition is a free, open-source Digital Platform that anyone can download and use to build a complete solution over it. This repo contains the Cloud Side of the Platform. )
Enfoque semántico: el enfoque semántico de la Plataforma permite modelar la información en Ontologías, que posibilitan gestionar la información de manera completamente agnóstica del protocolo tecnológico usado para enviar el dato, lo que se traduce en que independientemente del protocolo, la información se gestiona de la misma forma. Esto facilita la integración solo entre los servicios y la Plataforma, sino también la integración y la gestión global de datos entre los distintos servicios. Dentro de este enfoque la plataforma soporta JSON-Schema y JSON-LD para datos linkados Soporte JSON-LD en Plataforma incluyendo la definición conforme schema.org.
Digital Twins: Un Digital Twin es una representación digital de una entidad o sistema del mundo real que no actúa como un reemplazo del objeto físico del sistema que representa si no como una replica de este, permitiendo la comunicación (testeo, monitorización, mando) de este dispositivo físico sin tener que estar pegado a él. Ver detalle Aplicabilidad e Importancia de los Digital Twins en el ámbito Smart Cities
Módulos de Plataforma que le dan soporte
La imagen muestra los componentes de Plataforma organizados por capas donde donde se remarcan las Capas de Adquisición y Publicación, que incluyen los componentes de plataforma para comunicar con ella (envío, consulta y suscripción):
Las Capas descritas se corresponden con el Modelo de Capas de Plataforma de Ciudad Inteligente de la norma UNE-178104. Más info: Plataforma y las Smart Cities
Capa de Adquisición (Adquisition Layer)
Esta capa ofrece los mecanismos para la captación de los datos desde los Sistemas de Captación, también es la encargada de permitir la interconexión con otros sistemas externos que sólo consuman datos y abstrae la información de los Sistemas de Captación con un enfoque semántico estándar.
Digital Broker
Es el Broker de la plataforma y el mecanismo por defecto de adquisición de datos:
Ofrece Gateways multiprotocolo (REST, MQTT, WebSockets,…)
Comunicación bidireccional con los clientes de la plataforma
Ofrece APIs multilenguaje (Java, Javascript, Python, Node.js, Android,..) que permiten que cada vertical desarrolle sobre su lenguaje y plataforma preferidos.
Es el mecanismo con el que típicamente se integran los sistemas y dispositivos.
Kafka Broker
La plataforma integra un clúster Kafka que permite la comunicación con sistemas que utilizan este protocolo de intercambio, generalmente porque manejan un gran volumen de información y necesitan una latencia baja.
DataFlow
Este componente le permite configurar flujos de datos desde una interfaz web. Estos flujos se componen de un origen (que puede ser archivos, bases de datos, servicios TCP, HTTP, colas, ... o el Digital Broker de Plataforma), una o más transformaciones (procesadores en Python, Groovy, Javascript,...) y uno o más destinos (las mismas opciones que el origen).
Es el mecanismo a usar cuando sea la plataforma la que va a recoger información del sistema origen y no este el que lo envía a la plataforma o bien cuando el sistema/dispositivo no está integrado y vuelca la información en un bus externo. Tras esto será necesaria una conversión en la plataforma.
Entre sus principales características:
Incluye un amplio número de conectores de entrada, salida, como conexión con bases de datos, servicios Web, Google Analytics, servicios REST, brokers, … que nos permite desacoplar de forma sencilla e integrada a través de una única herramienta (Conectores ). Entre los principales conectores del Dataflow podemos encontrar conectores Big Data con Hadoop, Spark, FTP, Ficheros, Endpoint REST, JDBC, BD NoSQL, Kafka, Servicios Cloud de Azure, AWS, Google, …
Gran número de conectores para escenarios IoT como OPC, CoAP, MQTT…
Permite que un sistema externo comunique con la plataforma a través de un protocolo de los soportados (MQTT, REST, Kafka, JMS, …), que la plataforma orqueste este dato y que lo rute hacia otro sistema o bien lo incorpore a la plataforma.
Además, existe una paleta de componentes que soportan protocolos más específicos y que el administrador de la plataforma puede habilitar según necesidades:
Hay conectores específicos para Amazon, Google Cloud, Azure
Toda la información que fluye por el componente se monitoriza, audita y se disponibiliza para que se pueda explotar, además de esto el componente DataFlow ofrece trazabilidad y monitorización online:
Digital Twin Broker
Este Broker permite la comunicación entre los Digital Twins y la plataforma, y entre ellos. Soporta REST y Web Sockets como protocolos.
La plataforma, implementando el estándar W3C Web of Things (Home - Web of Things (WoT) ) , que define como se tiene que modelar un Digital Twin, así como las APIs de comunicación que debe proveer, proporciona soporte completo para materializar estos conceptos en sistemas digitales que se pueden conectar entre ellos, y colaborar de acuerdo a unas reglas establecidas visualmente por un operador de gestión municipal.
Para ello se proporcionan las siguientes capacidades desde la plataforma:
Modelado de un Digital Twin desde el Control Panel de la Plataforma: de modo que un usuario puede definir con precisión el interfaz (entradas, salidas y estado) de mi Digital Twin. El modelado permite usar la semántica incluida en la plataforma (entradas, salidas y estado pueden ser a su vez ontologías).
Simulación del Digital Twin: de modo que pueda estar probando el comportamiento del Digital Twin (DT), permitiendo usar los módulos de IA de la plataforma.
Implementación del Digital Twin: una vez modelado el DT la plataforma es capaz de generar código en diversos lenguajes para que implemente la funcionalidad requerida para el uso del DT en operación:
Estado del Digital Twin: nuestros Digital Twins están conectados con la Plataforma de forma segura, y la plataforma tiene un Shadow de su estado:
Orquestación de Digital Twins: una vez modelados, implementados y en ejecución la plataforma permite construir visualmente una orquestación de Digital Twins, de modo que la salida de un Digital Twin pueda mapearse con la entrada de otro de modo que uno reaccione a los cambios de estado del otro.
Video Broker
Este componente permite conectarse a cámaras a través del protocolo WebRTC y procesar el flujo de video asociándolo a un algoritmo (detección de personas, OCR, etc.).
El resultado de este procesamiento puede representarse en los dashboards de plataforma de forma sencilla:
Capa de Interoperabilidad (Interoperability Layer)
Esta capa ofrece interfaces sobre la Capa de Conocimiento estableciendo políticas de seguridad y conectores para que sistemas externos puedan acceder a la Plataforma y viceversa. Permite construir servicios a partir de los datos de la Plataforma. Para ello una de las APIs ofrecidas a los desarrolladores debe ser la API nativa de acceso a los datos de la capa de conocimiento.
API Manager
Este módulo permite disponibilizar la información gestionada por la plataforma con interfaces REST, estas APIs se crean desde el panel de control y pueden ser de consulta o actualización. También ofrece un API Portal para el consumo de las API y un API Gateway para invocar las APIs.
La Plataforma integra el API Manager Gravitee para escenarios en los que es necesario un control más avanzado de las APIS REST, por ejemplo políticas custom de seguridad, control throutput,…
Es el mecanismo típico con el que integran las aplicaciones web, portales y aplicaciones móviles con la plataforma, además de que las herramientas BI actuales ya ofrecen conectores, como puede verse en estos ejemplos:
¿Cómo representar datos en Power BI desde APIs REST?
¿Cómo representar datos de un API REST de Plataforma en QlikView?
Dashboard Engine
Este módulo, permite, de forma sencilla, la generación y visualización de potentes cuadros de mando sobre la información gestionada por la plataforma, consumibles desde diferentes tipos de dispositivos y con capacidades analíticas y de data discovery. Todo ello, orquestado de forma centralizada a través del panel de control de Onesait Platform, pudiendo hacer estos dashboards públicos o compartirlos con otros usuarios de la plataforma.
Estos dashboard, se nutren de la filosofía de potentes frameworks de componentes como React, Angular o Vue, construyéndose, a partir de sencillos componentes autónomos y reutilizables denominados gadgets.
Portal Open Data
Onesait Platform integra el portal Open Data open-source CKAN entre sus componentes.
CKAN, es un portal de datos de Código Abierto que proporciona herramientas para publicar, compartir, encontrar y utilizar los datos. Su unidad básica son los datasets, donde se publican los datos, los cuales están formados por diferentes recursos y metadatos. Los recursos almacenan los datos, permitiendo diferentes formatos (CSV, XML, JSON…) y gracias a la integración con plataforma, se otorga al sistema completo funcionalidades como:
Gestión unificada en el Control Panel e Plataforma
Gestión completa sobre los datasets y los recursos.
Publicación de ontologías como datasets
Publicación de APIs como datasets
Integración con Dashboards de Plataforma
Integración de Seguridad completa de plataforma, autenticaciones, autorizaciones, etc.
SDKs y APIS
La plataforma ofrece APIS REST para acceder a todos los componentes de la plataforma tanto a nivel de operación como a nivel de gestión, igualmente ofrece SDKs multilenguaje para comunicar con la plataforma de una forma sencilla:
Ver detalle: APIs Cliente del Digital Broker