Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Components View

This diagrama represents the components that compose the platform to support its functionality.

...

Vista de Componentes

Este diagrama representa los componentes que componen la plataforma para apoyar su funcionalidad.

...

(*) The UI symbol in the diagram above indicates that a given module has a configuration user interface integrated in the Control Panel.

These modules are organized by layers. We will next see the detail of each of them.

Acquisition layer

...

El símbolo UI en el diagrama indica que un módulo determinado tiene una interfaz de usuario de configuración integrada en el Panel de Control.

Estos módulos están organizados en estas capas:

  • Adquisition Layer:  ofrece los mecanismos para la captación de los datos desde los Sistemas de Captación, bien sea de forma activa desde estos sistemas o conectando con ellos. Abstrae la información de los Sistemas de Captación con un enfoque semántico estándar (Entidades/Ontologías)

  • Knowledge Layer: ofrece el soporte para el procesado de los datos, la incorporación de valor y la transformación de servicio. Recibe datos tanto de la Capa de Adquisición, como de la Capa de Publicación, En esta capa se encuentran las funcionalidades que permiten el tratamiento y análisis de los datos para generar nuevos datasets o modificar/completar los existentes.

  • Publication Layer: facilita la construcción de servicios a partir de la información gestionada por plataforma, ofreciendo interfaces sobre la Capa de conocimiento, estableciendo políticas de seguridad y ofreciendo conectores para que sistemas externos puedan acceder a la Plataforma.

  • Management & Support Layer: esta capa transversal da soporte al resto de funcionalidades ofreciendo servicios como auditoría, monitorización, seguridad, etc, además de la consola web y APIS REST para el desarrollo sobre plataforma.

A continuación veremos el detalle de cada una de ellas.

Acquisition layer

  • Digital Broker: este Broker permite que dispositivos, sistemas, aplicaciones, sitios web y aplicaciones móviles se comuniquen con la plataforma a través de protocolos compatibles. También ofrece APIs en diferentes lenguajes.

  • Kafka Server: 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 requieren baja latencia.

  • DataFlow: este componente permite configurar flujos de datos desde una interfaz web. Estos flujos están compuestos por un origen (que pueden ser ficheros, bases de datos, servicios TCP, HTTP, colas, ...o la plataforma IoT Broker), una o varias transformaciones (procesadores en Python, Groovy, JavaScript, ... )

    and one or more destinations (same options as the origin

    y uno o varios destinos (mismas opciones que el origen).

...

  • Digital Twin Broker:

    this Broker allows communication between the Digital Twins and the platform, and with each other. It supports REST and Web Sockets as protocols

     este Broker permite la comunicación entre los Digital Twins y la plataforma, y entre ellos. Soporta REST y Web Sockets como protocolos.

  • Video Broker:

    allows connecting to cameras through the WebRTC protocol and processing the video stream associating it with an algorithm (people detection

     permite conectarse a las cámaras a través del protocolo WebRTC y procesar el flujo de vídeo asociándolo a un algoritmo (detección de personas, OCR, etc.).

Knowledge layer

  • Semantic Information Broker:

    once the information is acquired, it comes to this module, which validates whether the Broker client has the permissions to perform that operation (insert, consult

     una vez adquirida la información, ésta llega a este módulo, que valida si el cliente Broker tiene los permisos para realizar esa operación (insertar, consultar, ...)

    or not, and then gives semantic content to the information received, validating whether the information sent corresponds to this semantics (ontology) or not

    o no, y a continuación dota de contenido semántico a la información recibida, validando si la información enviada se corresponde con esa semántica (ontología) o no.

  • Semantic Data Hub:

    this module acts as a persistence hub. Through the Query Engine, it allows to persist and consult in the underlying database where the ontology is stored, where these components are compatible with MongoDB, Elasticsearch, relational databases, graphics databases

    este módulo actúa como hub de persistencia. A través del motor de consultas, permite persistir y consultar en la base de datos subyacente donde se almacena la ontología, donde estos componentes son compatibles con MongoDB, Elasticsearch, bases de datos relacionales, bases de datos gráficas, etc.

  • Streaming engines:

    supported by

    soportadas por:

    • Flow Engine: this engine allows to create process flows both visually and easily. It is built in the node network. A separate instance is created for each user.

...

    • Rule engine: allows to define business rules from a web interface that can be applied to data entry or programmed.
    • SQL Streaming Engine: allows to define complex sequences as the data arrives in an SQL-like language.
  • Data Grid: this internal component acts as a distributed cache, as well as an internal communication queue between the modules.
  • Notebooks: this module offers a web interface in several languages ​​so that the Data Scientist team can easily create models and algorithms in their favorite languages ​​
    • Image Added
    • Digital Twin Orchestrator:

      the platform allows communication between Digital Twins to be visually orchestrated through the FlowEngine engine itself. This orchestration creates a bidirectional communication with the digital twins.

Image Removed

    •  la plataforma permite orquestar visualmente la comunicación entre Gemelos Digitales a través del propio motor FlowEngine. Esta orquestación crea una comunicación bidireccional con los gemelos digitales.

    • Rule engine: permite definir reglas de negocio desde una interfaz web que pueden aplicarse a la entrada de datos o programarse

    • SQL Streaming Engine: permite definir secuencias complejas a medida que llegan los datos en un lenguaje similar a SQL.

  • Data Grid: este componente actúa como una caché distribuida, así como una cola de comunicación interna entre los módulos.

  • Notebooks: este módulo ofrece una interfaz web en varios lenguajes para que el equipo de Data Scientist pueda crear fácilmente modelos y algoritmos en sus lenguajes favoritos (Spark, Python, R, SQL, Tensorflow...).

...

Publication Layer

  • API Manager:

    this module allows to visually create the APIs in the ontologies managed by the platform. It also offers an API Portal for the consumption of the APIs and a Gateway API to invoke the APIs.

Image Removed

  • Dashboard Engine: this engine allows to create, visually and without any programming, complete dashboards on the information (ontologies stored on the platform), then make them available for consumption outside or inside the platform.

...

  • este módulo permite crear visualmente las API en las ontologías gestionadas por la plataforma. También ofrece un Portal API para el consumo de las APIs y un Gateway API para invocar las APIs.

...

  • Dashboard Engine: este motor permite crear, visualmente y sin necesidad de programación, cuadros de mando completos sobre la información (ontologías almacenadas en la plataforma), y luego ponerlos a disposición para su consumo fuera o dentro de la plataforma.

...

Management layer

  • Control panel:

    the platform offers a complete web console that allows a visual management of the elements of the platform through a web-based interface. All this configuration is stored in a configuration database. It offers a REST API to manage all these concepts and a monitoring console to show the status of each module.

Image Removed

  • Access Manager: allows defining how to authenticate and authorize users and their roles, user directory

    la plataforma ofrece una completa consola web que permite una gestión visual de los elementos de la plataforma a través de una interfaz basada en web. Toda esta configuración se almacena en una base de datos de configuración. Ofrece una API REST para gestionar todos estos conceptos y una consola de monitorización para mostrar el estado de cada módulo.

...

  • Identity Manager: permite definir cómo autenticar y autorizar a los usuarios y sus roles, directorio de usuarios (LDAP, ...),

    protocols

    protocolos (OAuth2, ...)

  • CaaS Console:

    allows administering from a web console all the implemented modules (such as Docker containers orchestrated by Kubernetes), including version and rollback updates, number of containers, the scalability rules

    permite administrar desde una consola web el cluster Kubernetes y todos los componentes desplegados en él, incluyendo las actualizaciones de versión y rollback, el número de contenedores, las reglas de escalabilidad, etc.

...

Support layer

  • MarketPlace:

    allows to define the assets generated in the platform

    permite definir los activos generados en la plataforma (API,

    dashboards

    cuadros de mando,

    algorithms

    algoritmos,

    models

    modelos,

    rules

    reglas, ...)

    and publish them so that other users can use them.

Image Removed

  • GIS viewers: from the console you can create GIS layers (from ontologies, WMS services, KML, images) and GIS viewers (currently under Cesium technology).

Image Removed

  • File manager: this utility allows you to upload and manage files from the web console or from the REST API. These files are managed with the platform's security.

Image Removed

  • Web application server: the platform allows serving web applications (HTML + JS) loaded through the platform's web console.
  • Configuration Manager: this utility allows you to manage configurations (in YAML format) of the platform applications by environments.

Image Removed

...

  • y publicarlos para que otros usuarios puedan utilizarlos.

...

  • GIS viewers: Desde la consola se pueden crear capas SIG (a partir de ontologías, servicios WMS, KML, imágenes) y visores SIG (actualmente bajo tecnología Cesium).

...

  • File manager: esta utilidad permite subir y gestionar archivos desde la consola web o desde la API REST. Estos archivos se gestionan con la seguridad de la plataforma.

...

  • Web application server: la plataforma permite servir aplicaciones web (HTML + JS) cargadas a través de la consola web de la plataforma.

  • Configuration Manager: esta utilidad permite gestionar configuraciones (en formato YAML) de las aplicaciones de la plataforma por entornos.

...

Main Base Technologies (Tecnologías Base)

image-20240923-132319.pngImage Added

MODULE

TECHNOLOGY

Base Technology

Java =>8

Spring Boot

2

3.X

Control Panel

Spring Boot over Thymeleaf.

ConfigDB on MariaDB, Postgresql,...

Semantic Data Hub

MongoDB as reference implementation for online storage.

MinIO+Presto as reference implementation for historical and analytics storage.

Relational Databases supported.

ElasticSearch, TimeScaleDB, CosmosDB, DocumentDB,… supported.

DataFlow

Streamsets

StreamSets (and some components) integrated on

platform

Platform

Flow Engine

Node-red: Configuration and development on Node-red (components, multitenant,...)

Digital Broker

Spring Boot development

Kafka for high performance streaming.

MQTT Moquette for bidirectional communication.

WebSockets for web communication.

API Manager

Development on Spring Boot

+

Integration with Gravitee

Dashboard Engine

Angular + Gridster as the engine.

ODS as reference components library

eCharts as library for gadgets.

Notebooks

Configuration and Interpreter on

Apache Zeppelin (including Interpreter)

DataGrid & Cache

Hazelcast

Identity Manager

Reference Implementation: Development over Spring Cloud Security

Advanced Implementacion: Integration with Keycloak

BPM Engine

Camunda

Deployment

Containerized modules on Docker

Orchestrated by Kubernetes

Managed by CaaS Rancher or OpenShift