Mecanismos de Integración e Interoperabilidad en Plataforma

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:

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 (https://www.w3.org/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