Release 2.1.0-gradius de la Onesait Platform

Header Onesait Platform Release

Siempre es un placer anunciar un nuevo lanzamiento de versión, y esta vez no va a ser menos; el pasado 10 de julio publicamos la release 2.1.0 de la Onesait Platform, con nombre versión «gradius», siguiendo nuestra política de versiones.

Como de costumbre, podéis seguir nuestro roadmap de lanzamientos de la Plataforma para estar al tanto de qué tenemos planeado para el futuro.

Roadmap 2020
Roadmap para este 2020

Bueno, dicho esto pasemos a entrar en harina y veamos qué nuevas funcionalidades vienen con esta nueva release.

Engine

Esta versión da soporte al desarrollo de aplicaciones y microservicios, para lo que la Plataforma ofrece una consola web centralizada que soporta la administración, configuración y desarrollo de todo tipo de aplicaciones, integrando la creación de aplicaciones, su despliegue sobre la infraestructura CaaS, apificación, visualización, etc.

Para conseguir todo esto, hemos incorporado las siguientes funcionalidades:

Nueva API Java para trabajar de forma transparente las ontologías

Como sabréis, las Ontologías como abstracción de las entidades son el núcleo de la Plataforma, y que la ejecución de muchos componentes parte de aquí.

Sin embargo, hay situaciones en las que por diversos motivos se elige gestionar la persistencia utilizando otros frameworks como Spring Data. Aun con ello, queremos que en esos escenarios se sigan pudiendo usar todas las capacidades de la Plataforma (por ejemplo, desencadenar un flujo o una regla tras insertar en una ontología).

Por tanto, la librería cliente de Java de la Onesait Platform ahora provee un cliente –NotifierClient– que nos permite crear las ontologías desde clases Java e informar a la plataforma de las operaciones CRUD que realizamos con nuestro framework, de tal forma que aunque la Plataforma no realice estas operaciones, estará al tanto de ellas, y al existir la definición de la ontología, se podrán usar todos los módulos sin ningún inconveniente.

Podéis encontrar toda la información sobre esta nueva API en esta guía: (Client APIs) API Java para trabajar de forma transparente con ontologías.

Migración de módulos de Plataforma a Spring Boot 2

En esta versión, se ha completado la migración de todos los módulos de Plataforma de Spring Boot 1.5 a Spring Boot 2, lo que nos ha permitido alinear la versión de Spring Boot de Plataforma con la de Arquitectura de los Productos, además de añadir interesantes funcionalidades.

Nueva consola de monitorización (Monitoring UI)

Incluyendo un nuevo interfaz de usuario mucho más potente y con más capacidades.

Se incluye la visualización integrada de los registros del módulo.

Así como la integración con los microservicios desplegados desde la Plataforma, de modo que así pueden monitorizarse.

Si os interesa leer más sobre las capacidades de la nueva consola de monitorización, no dejéis de echarle un ojo a la siguiente guía que os hemos preparado: Módulo de Monitorización (UI).

Integración de Portal Open Data CKAN como nuevo módulo de la Plataforma

Aprovechando que en los proyectos de Smart Cities en los que nuestra Plataforma tiene tanta presencia siempre requerían de este módulo, se ha decidido integrar el Portal Open Data CKAN.

CKAN es un portal Open Data Open Source que se ha convertido en el estándar para la publicación de datos abiertos por ser una solución de gestión de datos de código abierto, madura y completa, siendo su unidad básica los datasets, donde se publican los datos, los cuales están formados por diferentes recursos y metadatos.

Esto se integra por completo con la seguridad de la Plataforma, haciendo SSO entre el Portal Open Data y el Control Panel, y permitiendo que los usuarios de la Plataforma accedan al portal en función de su rol.

Podéis encontrar una guía completamente detallada a continuación: Integración en Plataforma del Portal de Datos Abiertos CKAN.

Notificaciones sobre tópicos Kafka

Esta nueva funcionalidad completa la inserción en la Plataforma vía tópico Kafka, y permite activar un tópico Kafka por ontología de modo que cada vez que se inserte en esta se notifique por este tópico.

En el siguiente tutorial podéis ver un ejemplo de uso con un cliente Kafka: ¿Cómo funciona la Notificación de Ontologías sobre tópicos Kafka?

Capacidad para añadir nuevos nodos en el FlowEngine

A partir de ahora, el usuario de este componente podrá añadir nuevos componentes a sus flujos de los componentes gestionados en el NPM de Node-RED.

Sin embargo, hay que tener cuidado con los componentes que se usan porque pueden afectar al rendimiento de los flujos.

¿Interesados? En esta guía podéis encontrar información sobre cómo usarlo: ¿Cómo añadir nuevos nodos en el FlowEngine?.

Soporte para trabajar con Git en el FlowEngine

En la nueva versión del FlowEngine se ha habilitado el concepto de Proyecto de NodeRED; esto permite gestionar las versiones de todos los flujos, inicialmente en un GIT local, pero también podemos engancharlo contra un GIT centralizado. El interfaz de usuario del FlowEngine permite hacer commits, pull, push y comprobar cambios entre versiones.

Podéis encontrar más información sobre su uso en esta guía: ¿Cómo trabajar con Git en el FlowEngine?.

Control de reintentos en FlowEngine

Este control es muy útil para escenarios en los que FlowEngine se use para procesar las inserciones en Ontologías, pues permite configurar al usuario si quiere tener reintentos en el proceso de notificaciones, así como asignarles un TTL.

Hemos creado una pequeña guía que os explica cómo gestionarlo: Control de Reintentos en el FlowEngine.

Soporte paginación en Files Repository y nuevo componente Files Repository en DataFlow

Se ha incorporado una funcionalidad al API REST del Files Repository, la cual permite paginar la recuperación del contenido de ficheros de texto. Además se ha incorporado un nuevo componente en el DataFlow para manejar de forma sencilla e integrada los ficheros almacenados en el Files Repository.

Echadle un ojo al tutorial que hay preparado al respecto: Paginación de ficheros en el Files Repository y nuevo componente para el DataFlow.

Además…

Aparte de todo lo arriba comentado, traemos un gran número de correcciones y de mejoras de rendimiento.

Queremos indicar que estas correcciones han sido identificadas a través de las peticiones realizadas al buzón de soporte de la Plataforma, que nos ayudan a mejorar la plataforma día a día, como el control de concurrencia sobre los elementos gestionados por la Plataforma.

Así que muchas gracias a todos los que nos ayudáis a mejorar.

Intelligence

En esta versión nos hemos centrado en dar soporte al desarrollo de sistemas y aplicaciones que necesitan usar las capacidades analíticas, de AI o de ingesta distribuida de la Plataforma.

Durante este trimestre nos hemos centrado en los siguientes puntos:

Integración de Cosmos DB como repositorio para trabajar con Ontologías

Hemos incorporado el soporte completo para trabajar con las ontologías de la Plataforma a esta interesante base de datos multimodelo de Azure.

Cosmos DB es un servicio de base de datos multimodelo distribuido y con escalado horizontal que permite distribuir datos de forma global sobre cualquier número de regiones de Azure, con un proceso transparente de escalado y replicación de los datos.

Podéis encontrar más información sobre esta integración en este artículo que hemos preparado: Ontologías en Cosmos DB.

Soporte para trabajar con Git en el desarrollo de Notebooks

Hasta ahora, cuando queríamos gestionar las versiones de los Notebooks, se tenía que hacerlo usando las APIS REST de exportación e importación. Bien, pues con esta integración el científico de datos puede versionar sus Notebooks y comprobar cómo se comporta su modelo según los cambios.

Os recomendamos la siguiente lectura si estáis interesados en esto: ¿Cómo trabajar con Git en los Notebooks?.

Arquitectura de Plugins en Dashboard Engine

Con esto podemos extender la seguridad en el acceso a los Dashboards y poder, por ejemplo, parametrizar que a ciertos datos de un DataSource sólo puedan acceder ciertos roles o usuarios con un atributo específico.

Actualización de estilos del Dashboard Engine

Con ello conseguimos adecuarlos más al look & feel global de la Plataforma.

Things

Este trimestre nos hemos centrado en dar soporte al desarrollo de sistemas IoT, tanto en el ámbito Cloud como Edge.

Virtual PLC

Se ha integrado el Eclipse 4diac dentro de los contenedores gestionados por la Onesait Things Edge Engine. Gracias a esta integración, la Onesait Platform cuenta a partir de ahora con la posibilidad de virtualizar PLCs siguiendo el estándar IEC 61499.

Empleando el entorno de modelado 4diacIDE, es posible distribuir esquemas complejos de lógica PLC en los distintos runtimes FORTE incluidos en Edge Engine. Toda la información de proceso de los distintos bloques funcionales del PLC se ha conectado mediante MQTT al bus de datos de nuestra arquitectura Edge y está disponible para interactuar con otros componentes.

Integración de Dispositivos Edge con Digital Clients (IoTDigitalClient Container)

Ya está disponible el nuevo DigitalClient sobre MQTT que permite el flujo bidireccional Cloud2Device y Device2Cloud, empleando este protocolo de IoT de forma fácilmente configurable.

El componente Edge Parser de parseo y adaptación de modelo de datos incluido recientemente en Edge Engine se emplea para la definición del mapping entre ontologías y protocolos de adquisición. El IoTDigitalCliente Container se encarga de la conexión y el transporte de los datos una vez adaptados empleando las credenciales del cliente digital dado de alta en la Plataforma.

Edge Parser (Protocols mapping module)

A partir de esta versión, ya está disponible como contenedor para la Onesait Things el módulo de Edge Parser. Éste permite el mapeo de los modelos de datos de protocolos Southbound OT (Modbus, OP-DA, etc) con Ontologías o modelos de datos específicos (caso de DDS) en plataforma de forma sencilla empleando «Transformadores».

Edge Parse permite la definición en runtime o consumidos de un repositorio del conjunto de transformadores disponibles para una instancia de Edge Engine.

Este componente dirigido por evento aplica las distintas transformaciones cada vez que un mensaje es recibido en el bus interno de Edge Engine. Adicionalmente se ofrece una acceso por API REST para gestionar el conjunto de trasformadores desplegados en una instancia.

Edge BacNET Protocol

Ya tenéis disponible el contenedor de protocolo para BacNET basado en el framework open source BACnet4J de Serotonin. Esta versión del protocolo permite su uso en TCP y MSTP para serial. Se incluyen dos servicios de ejemplo:

  1. Autodescubrimiento de dispositivos.
  2. Obtención de eventos de un dispositivo.

DevOps

Dentro de esta categoría incluimos todas las herramientas que ayudan en el Desarrollo y la Operación de la Plataforma. En este trimestre hemos incorporado estas nuevas herramientas:

  • Installer Update for support on Rancher 2 and OpenShift.
  • Inclusion of notebooks and dataflows on Export/Import Tool.
  • Plugin Helm para generación certificados autofirmados.

Revisión y mejoras en Herramienta Export/Import

Se ha completado una revisión de la herramienta de Export/Import, añadiendo además la capacidad de exportar e importar Notebooks.

Podéis consultar el detalle de esta funcionalidad en la siguiente guía: Herramienta de Exportación e Importación.

Open Source Initiative

Por último, pero no menos importante, esta línea de trabajo contempla todas las tareas relacionadas con la versión Open Source de la Plataforma.

Publicación de la versión 1.2.0-ce de la Onesait Platform

La nueva versión Open Source de la Plataforma está disponible para su descarga en Github.


Pues aquí la tenemos, recién salida del horno para vosotros, desarrolladores. Esperamos que las nuevas funcionalidades os parezcan interesantes y os animéis a probar los cambios.

1 Comment

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *