Lanzamientos

Release 4.3.0-Quest de la Onesait Platform

Empezamos este 2023 con la última tarea pendiente que teníamos del Q4 de 2022: el lanzamiento de la última iteración de la Onesait Platform, que alcanza la versión 4.3.0 y la cual La Comunidad™ ha decidido denominar como «Quest», siguiendo nuestra política de versionado.

Como de costumbre, si estáis interesados en conocer en qué hemos estado trabajando a lo largo de este 2022, no dejéis de echar un ojo a nuestro Roadmap, sin olvidar que podemos encontrar más información sobre las capacidades de la Plataforma en el Portal de Desarrollador.

Dicho esto, veamos qué novedades se vienen con esta nueva versión.

Engine

En esta distribución aplicamos estrategias ágiles y de Lowcode para el desarrollo e integración de soluciones empresariales, basado en estándares, compatibles con distintos vendors cloud específicos, y desplegable sobre IaaS, SaaS o infraestructuras On Premise:

  • Escalabilidad y estabilidad de cualquier infraestructura.
  • El dato en el centro.
  • Seguridad integrada de extremo a extremo.

A lo largo de este cuarto período del año, hemos trabajado en los siguientes puntos:

Uso de Java 17 (LTS) como JVM por defecto de la Plataforma

Hasta ahora, las imágenes de la Plataforma usaban por defecto Java 8, aunque también estaba certificada para Java 12 y Java 15.

En esta versión se ha adoptado como JVM por defecto el OpenJDK 17. Se ha elegido esta versión por ser la última versión LTS de Oracle Java SE, por lo que nos garantiza el soporte.

Soporte de Google Cloud Storage en el File Repository

El File Repository es un componente de la Plataforma que permite subir y compartir ficheros desde la propia Plataforma, tanto desde el Control Panel como desde un API REST.

Hasta ahora, este componente era capaz de funcionar con GridFS cuando teníamos MongoDB en la instalación, o con MinIO para instalaciones en las que usábamos este sistema de ficheros distribuidos.

En esta versión 4.3.0, se ha soportado Google Cloud Storage como otro de los repositorios sobre los que almacenar los ficheros gestionados por el File Repository. Este escenario es muy interesante para aquellos Proyectos de la Plataforma que se despliegan en el GCP y que pueden usar estos servicios nativos.

Además, se ha unificado las interfaces de usuario de gestión, de modo que desde la misma sección se podrá seleccionar el mecanismo de almacenamiento (típicamente cada Proyecto usará sólo uno):

Podéis encontrar más información al respecto en este artículo del Portal de Desarrollo.

Queries Profiler UI: Dashboard para profiling de Queries

En la release 4.2 de la Onesait Platform incorporamos un sistema de métricas para queries para tener mayor información sobre las consultas que se ejecutan en el sistema (estas métricas se almacenan en la Entidad QueryMetrics).

En esta versión, se ha creado una nueva interfaz de usuario (construida como un Dashboard) que permite hacer un completo profiling de las queries que ejecutan dentro de plataforma, incluyendo las queries más lentas, las que dan error, etc.

Esta interfaz está accesible desde el menú de Tools > Queries Profiler UI:

Os lo contamos con detalle en esta guía del Portal de Desarrollo.

Config Manager

Se ha generado la primera versión de este acelerador de Arquitectura, que contempla:

  • El módulo multi-idioma para gestionar los idiomas y literales por idioma de cada aplicación:
  • El gestor de datos maestros de una aplicación:

Editor Git para funciones en Serverless Manager

Se ha creado un componente visual (sobre Vue) que permite la edición de archivos en git.

Este componente se ha habilitado en el módulo serverless de plataforma para facilitar la creación de funciones. Gracias a esta mejora, se podrán subir , editar y seleccionar los archivos necesarios para la ejecución de una función durante la creación o edición de la misma.

Si estáis más interesados en conocer cómo funciona esta herramienta, podéis consultar la documentación que tenemos preparada al respecto.

Soporte encriptado/desencriptado de atributos sobre HashiCorp Vault

El Vault de HashiCorp es una popular herramienta utilizada para gestionar de forma segura la información sensible. HashiCorp Vault viene con varios componentes plugueables llamados secrets engines y authentication methods que le permiten integrarse con sistemas externos. La finalidad de estos componentes es gestionar y proteger tus secretos en infraestructuras dinámicas (por ejemplo, credenciales de bases de datos, contraseñas o claves API). 

En la Plataforma existe la funcionalidad que permite encriptar y desencriptar atributos de una Entidad de forma automática a partir de una clave maestra almacenada en la Plataforma. Con esta integración, el Vault gestiona esta clave maestra.

Podéis encontrar más información sobre la integración en esta entrada que hemos preparado en el Portal de Desarrollo.

Librería GIS

Se ha desarrollado una librería de GIS centrada en la representación de datos geoespaciales. Para su diseño, nos hemos basado en todo el trabajo de recopilación de necesidades de los diferentes productos y proyectos donde existen visores de mapas.

En esta primera versión se utiliza OpenLayers, pero la librería se encuentra diseñada de tal modo que permita la actualización de versiones de OpenLayers sin gran impacto, así como para contemplar en un futuro el uso de otras librerías diferentes (CesiumJS, Leaflet, etc.).

Además, cuenta con una serie de geoprocesamientos básicos por defecto con los que realizar ciertos análisis (zonas de influencia, proximidad, intersección).

Hemos preparado una entrada más detallada con las funcionalidades de esta librería.

Actualización del marco de referencia de Arquitectura

En este trimestre se ha actualizado el marco de referencia de Arquitectura con información referida a:

GeoServer como servidor GIS

Además de generar una librería de GIS para los Productos y Proyectos, en esta versión se ha trabajado en la implementación de un servidor GIS que, acorde al marco de referencia de Onesait para GIS, el servidor elegido ha sido GeoServer.

Concretamente, hemos instalado la versión 2.22.0 de GeoServer sobre un PostgreSQL en su versión 13 y la extensión de PostGIS con la versión 3.1.

El servidor se encuentra funcionando y sirviendo capas en diferentes formatos OGC: WMS, TMS, WMS-C, WMTS, WFS, WCS y WPS.

Os lo contamos con detalle en esta entrada del Portal de Desarrollo.

INTELLIGENCE

Virtualizamos y simplificamos el acceso a los datos entre organizaciones, departamentos y sistemas, logrando una visión 360º de las entidades de negocio y facilitando su explotación mediante reglas en tiempo real, ejecución de algoritmia compleja o análisis tradicional:

  • Modelo único de datos multi-repositorio.
  • Entorno colaborativo para los Data Scientists.
  • Acceso, gestión y consumo de APIs.

El trabajo de este trimestre lo hemos orientado en las siguientes funcionalidades:

Integración de Presto como motor de queries multirepositorio

En la release 3.1.0 de la Plataforma integramos Presto+MinIO como soporte para el almacenamiento tipo DataLake para escenarios de migración desde Hadoop.

En esta release, hemos soportado Presto como motor de consultas SQL multi-repositorio, lo que permitirá hacer consultas analíticas sobre todas las Entidades/Ontologías de la Plataforma independientemente del repositorio donde estén almacenadas (esto por ejemplo permitirá hacer JOINs entre un PostgreSQL y un MongoDB, o entre un MinIO y un Oracle).

Para esto hemos creado un nuevo tipo de Entidad: Presto Entity.

Este nuevo tipo de Entidad va a permitir a los usuarios conectarse a los diferentes catálogos dados de alta en Presto por el administrador de la Plataforma creando entidades PRESTO.

Una vez creadas las entidades PRESTO, se podrán hacer JOINs entre ellas de forma transparente al repositorio:

Lo explicamos con mayor detalle en esta guía del Portal de Desarrollo.

Concepto de DataClass (Gobierno del Dato)

La funcionalidad de DataClass asociada al Gobierno del Dato, permite asociar tanto a Entidades (a nivel general) como a atributos de estas. Estas reglas permiten definir reglas de validación y formato del dato, permitiendo así ejecutar un preprocesado antes de insertar los datos.

Este preprocesado permitirá definir mensajes de error que se insertarán en la entidad de auditoría del usuario, facilitando así la visualización de los datos fallidos y estadísticas de carga en un dashboard. Las reglas se pueden crear en Groovy y JavaScript.

Las reglas pueden asociarse a un atributo de una Entidad/Ontología, en cuyo caso se lanzarán para ese atributo:

O bien a nivel de la Entidad, en cuyo caso podrán usarse en la regla todos los atributos de la Entidad.

Podéis encontrar más información en este artículo del Portal de Desarrollo.

Soporte comunicación REST en Dashboard Engine

El Dashboard Engine permite crear Dashboards a partir de Gadgets construidos sobre DataSources, que se traducen en consultas sobre las Entidades/Ontologías de la Plataforma. A nivel de ejecución, el navegador establece una comunicación con el Dashboard Engine para pasarle parámetros y recuperar la información.

En las versiones anteriores la comunicación podía ser WebSockets o XHR en modo Fallback. Para el tipo de aplicación, la comunicación WebSockets es ideal porque establece un canal seguro que mantiene entre el cliente y el servidor. Sin embargo, en algunos escenarios esta comunicación plantea problemas ante los elementos de seguridad periféricos como WAFs.

Por esto se ha implementado un nuevo canal de comunicación REST en el Dashboard Engine.

Una vez activado este modo de trabajo del Dashboard Engine el funcionamiento es transparente para el desarrollador y usuario final de los dashboards.

Componente Destination en DataFlow CRUD de Plataforma

Se ha desarrollado un nuevo componente para el DataFlow que nos permite realizar un CRUD sobre una o varias entidades destino.

Con este componente, vamos a poder cargar datos a la Plataforma desde otros orígenes de forma sencilla.

Podéis consultar la documentación que hemos preparado al respecto en este enlace.

CENTER

Con Center se gestiona el despliegue y operación de nuestras Soluciones en nuestra nube preferida, y disponibiliza herramientas para facilitar la migración al Cloud de nuestros Legacies:

  • Simplifica las migraciones al Cloud.
  • Centraliza el ecosistema DevSecOps.
  • Gestiona el despliegue de aceleradores funcionales reutilizables.

Tras la versión inicial del Control Center, en este trimestre nos hemos centrado en estas líneas de trabajo:

Soporte de aplicaciones Spring Boot y aplicaciones Arquitectura Onesait

En la nueva release del Center se ha añadido al Assessment la categoría Spring Boot. Esto permite añadir a un proyecto este tipo de aplicaciones, mas modernas y en línea con la tendencia de descomposición de la aplicación en microservicios, desde la fase inicial de inventariado.

Se pueden añadir aplicaciones ya existentes, en cuyo caso indicaremos cierta información y la ruta al código fuente del proyecto en Git. Para una nueva aplicación, el Center creará el arquetipo del nuevo proyecto Spring Boot como un proyecto Maven listo para desarrollar. En este caso, para crear el arquetipo de proyecto podemos usar el Initializr de Arquitectura Onesait o el Initializr de Spring.io

Lo explicamos con detalle en esta entrada del Portal de Desarrollo.

Soporte CLI ODS

Onesait Design System (ODS) ofrece a los desarrolladores una herramienta CLI (interfaz de línea de comando) para crear arquetipos de aplicaciones Front sobre esta tecnología .

En esta release se ha incluido en el Onesait Platform Center la integración con esta herramienta para que en la fase de Asssessment se puedan generar dichos arquetipos de aplicaciones Front e incluirlos en el ciclo de contenerización y despliegue en Cloud gestionado por el Onesait Platform Center.

Diagrama de infraestructura

A través de este nuevo diagrama, desde el Center podemos de forma sencilla modelar la infraestructura de una solución, de modo que el Center se encarga de orquestar llamadas a Terraform y Ansible para desplegar la infraestructura requerida:

En este enlace podéis encontrar un vídeo con un ejemplo de despliegue de unas VMs y redes sobre GCP.

Editor de ficheros Git integrado

Los proyectos del Center tienen asociado un repositorio Git donde se almacena y versiona todo el código relativo al proyecto. Para facilitar la edición de los ficheros del proyecto, se ha integrado un editor Git en el propio proyecto, accesible desde las pestañas del proyecto:

Una vez que estamos en la sección, podemos seleccionar una rama de nuestro repositorio:

Y automáticamente se carga el árbol de directorios del editor en el que podemos elegir cualquier fichero para editar:

Lo contamos con mayor detalle en este artículo que hemos preparado en el Portal de Desarrollo.

THINGS

Esta distribución de la Plataforma da soporte al desarrollo de sistemas IoT, tanto en el ámbito Cloud como Edge.

Despliegue basado en Ansible

El despliegue de servicios en campo es un pilar principal en la gestión de nodos. Por ello, se han incluido nuevos sistemas de orquestación remota, mejorando y ampliando las capacidades de Onesait Edge.

Hasta ahora, el despliegue remoto se basaba en la utilización de docker-compose como orquestador de los servicios Edge. En esta release, Onesait Edge incorpora métodos de despliegue mediante la actualización del agente IoT (iota), permitiendo la instalación mediante Ansible.

Certificación de sistemas operativos Red Hat

Se ha trabajado con el equipo de Red Hat para la certificación de despliegue del Onesait Edge en sus sistemas operativos, tanto Cloud como en Edge.

Despliegue sobre Openshift

Se ha validado el despliegue del Onesait Edge en Openshift, realizando algunos cambios con el Helm utilizado en Kubernetes, adaptándolos a las peculiaridades de Openshift. Algunas de las imágenes utilizadas se han modificado para la utilización de sistemas certificados por Red Hat (OpenJDK, Node.js, etc.).

Soporte RHEL for Edge

Red Hat dispone de un sistema operativo ligero para la implantación en campo de manera remota.

Desde Onesait Edge se ha realizado la integración y validación completa con el Rhel for Edgeinstalación de imagen base con agente IoT (IoTA), orquestación mediante Podman, validación de hardware y software (programas específicos, módems de diversos fabricantes).

Aceleradores de campo

La facilidad de poder realizar operaciones complejas en campo e implantar inteligencia artificial es un requerimiento esencial para Onesait Edge, por ello se ha integrado el sistema con aceleradores Nvidia Jetson. Cada Nvidia Jetson es un sistema completo en módulo (SOM) que incluye GPU, CPU, memoria, administración de energía, interfaces de alta velocidad, sensores, etc.

Estas máquinas Jetson son compatibles con los frameworks de IA más populares del mercado: TensorFlow, PyTorch, Caffe, Keras, MXNet y con SDKs para nuevos desarrollos. Esta integración realizada con los sistemas Jetson permite a Onesait Edge no solo la ejecución de IA más complejas en campo, sino la evolución de la misma.

El equipo utilizado ha sido el Jetson Nano, que sus principales capacidades son:

  • Arquitectura NVIDIA CUDA®: Maxwell™ GPU 128 cores.
  • CPU Quad-core ARM® Cortex®-A57 MPCore.
  • IA: Alto rendimiento informático de IA con procesamiento mediante GPU.
  • Ideal para aplicaciones de ciudades inteligentes con IA perimetral.
  • Soporte PoE GbE 15 W para cámaras.

DEMOSTRADORES

Aquí os contamos los últimos demostradores que hemos desarrollado sobre la Plataforma, y que han servidor para enseñar a clientes algunas de las capacidades de la Plataforma.

Demostrador de ingesta, correlación y actuación sobre sistemas

Este demostrador se encarga de la detección, notificación y solución de problemas en múltiples sistemas remotos montados en una red topológica con la información dada por los logs en bruto de estos sistemas.

Para ello, se usan módulos como el DataFlow para la ingesta de los logs, Kafka:

Se usa el FlowEngine para el lanzamiento de procesos de corrección sobre sistemas remotos:

Las Entidades de Grafos para modelar la topología de servicios:

Y los Dashboards para explotación de la información:

El detalle completo sobre el demostrador lo explicamos en este enlace.

Demostrador de integración con IBM Maximo

Este demostrador permite la explotación de los datos almacenados en IBM Maximo desde la Plataforma. En el demostrador se optó por conectar con la base de datos de Maximo, para eso se usó el módulo DataFlow para conectar con las tablas de Maximo, extraer la información y almacenarla en las entidades de la Plataforma:

Posteriormente, se explota en un Dashboard:

Podéis encontrar el alcance completo del demostrador en este enlace.

Demostrador de migración al Cloud con el Center

En este demostrador partimos de una aplicación legacy desplegada de forma tradicional y pasamos a contenerizarla y aplantillarla en un clúster de Kubernetes a través de Charts Helm:

Finalmente, se despliega sobre OpenShift en Google Cloud Platform:

Contamos con más información sobre este demostrador en este artículo del Portal de Desarrollo.

EXPERIENCE

Conectamos la investigación y el diseño centrado en el usuario con la construcción y desarrollo de interfaces con las últimas tecnologías. En este cuarto Q hemos trabajado en:

Conversión de componentes del Onesait Design System a Web Components

Se ha realizado el planteamiento, diseño, adaptación y desarrollo de componentes del ODS (Onesait Design System) a Web Components, incluyendo un storybook con los para Web Components disponibles y una política de migración de los sistemas existentes.

Como primer proyecto construido sobre estos Web Components, se ha creado un Chatbot:

Evolutivos y mantenimiento del Onesait Design System

  • ODS XR, creación de un escenario de onboarding reutilizable para proyectos de realidad virtual y adaptación del Onesait Design System (ODS) y creación de recursos de interacción para proyector VR.
  • Evolución de componentes y soporte: mejoras de accesibilidad, evolución estilo, correcciones en diseño de componentes como Steps, tabs, popover, dropdown, Action menu, etc.
  • Librerías y metodología, adaptación de las librerías y documentación de nuevos procesos, covers y organización de archivos en Figma.
  • Soporte y documentación, evolución de la documentación por componentes con más detalle.
  • Planteamiento de design tokens para interacciones y animaciones.

COMMUNITY

Onesait apuesta por tecnologías Open Source para crear comunidad y asegurar independencia. A lo largo de este cuarto trimestre de 2022, hemos:

  • Alcanzamos los 1.250 usuarios en el CloudLab de la Onesait Platform, nuestro entorno gratuito y de experimentación.
  • Contamos con 175 suscriptores en nuestro canal de YouTube, sumando +830 horas totales de visualización y superando las 100.000 impresiones.
  • Nuestra versión Community de la Plataforma en GitHub supera las +1200 clonaciones, y con un total de 258 desarrolladores actualmente siguiendo el proyecto.
  • El Blog (¡aquí!) suma un total de +320.000 lecturas de nuestros artículos, aumentando este trimestre en +65.000 lecturas.
  • Superamos las +340.000 impresiones totales en Twitter, con casi 170.000 visitas a nuestro perfil, +900 retweets y casi +1400 me gustas de nuestros píos.
  • Publicado de la release 4.3.0-CE: en las próximas semanas, la versión 4.3.0 Community de la Plataforma estará disponible en nuestro repositorio de Github.

✍🏻 Author(s)

2 comentarios en «Release 4.3.0-Quest de la Onesait Platform»

Deja una respuesta

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