Lanzamos la versión 2.0.0-Fireball de la Onesait Platform
El pasado 6 de abril publicamos la release 2.0.0 de la onesait Cloud Platform (versión fireball, siguiendo nuestra política de versiones: Version Policy onesait Cloud Platform).
Esta versión viene cargada de novedades a diferentes niveles:
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.
En esta release se han incorporado las siguientes funcionalidades:
- Integración completa de Ontologías con Bases de datos relacionales: a partir de esta release además de poder conectarte a una base de datos relacional y crear la ontología que representa una tabla (más info) puedes crear una Ontología a partir del asistente o de un JSON-schema y que la plataforma cree las tablas, FKs sobre las base de datos que se haya configurado en la conexión JDBC.
- Soporte GeoJson en Ontologías sobre PostGIS: complementando la funcionalidad anterior, en esta versión se permite tanto conectarse con una base de datos PostGIS y crear una ontología a partir de una tabla con columnas tipo GEOMETRY o bien crear la tabla a partir de la ontología seleccionada.
- Soporte SQL sobre Mongo 4.X en Semantic DataHub: hasta esta versión de Plataforma el soporte para ejecutar consultas en SQL a MongoDB estaba limitado a versiones 3.X de Mongo. En esta versión de la plataforma se ha incluido un nuevo SQL Engine que funciona con versiones 4.X de Mongo. Este engine se basa en la librería open-source sql-to-mongo-db-query-converter con la que hemos colaborado para ampliar y mejorar su funcionalidad y a su vez aportar estas mejoras a la comunidad.
- Arquitectura Plugins en módulo Identity Manager: empezando en esta versión los sistemas construidos sobre Plataforma pueden aprovechar su arquitectura de plugins que permite añadir funcionalidades y extensiones a los diferentes módulos de plataforma simplemente añadiendo una librería Java (JAR) siguiendo unas normas. Esta funcionalidad forma parte de la versión Enterprise de Plataforma, y se publicará en la próxima versión (Q2 de 2020) aunque ya se puede testar en PREVIEW en el módulo Identity Manager.
- Suscripciones SQL a través del Digital Broker: esta funcionalidad permite que un cliente de plataforma pueda suscribirse a «cambios» sobre ontologías, de modo que cuando se cumpla una condición se nos notificará al cliente suscrito.
- Generación de Microservicios desde ZIP o repositorio Git: a partir de esta versión se puede seleccionar la creación de un microservicio desde un ZIP o desde un repositorio Git. Esto permite tener un catálogo de plantillas de microservicios que pueden usarse como plantilla.
- Gestión avanzada de credenciales de usuarios de Plataforma: en esta versión se han incluido numerosas mejoras en la gestión de las credenciales de un usuario de plataforma entre las que pueden destacarse:
- Configuración de longitud mínima de una contraseña y de la complejidad requerida.
- Bloqueo de contraseña tras número de intentos.
- Comprobación de passwords ya usadas previamente.
- Forzar el cambio de contraseña cada X días.
- Integración completa de Kafka con seguridad de plataforma: la plataforma soporta Kafka como uno de los protocolos para la ingesta, hasta ahora la seguridad se centraba en la autenticación del cliente conectado. En esta versión se ha añadido al control de seguridad el uso de ACLs para gestionar la autorización de los datos cuando usamos tópicos Kafka de ingesta. De esta forma al crear un cliente e indicar permisos a las ontologías se aplican las mismas autorizaciones (lectura/escritura/ambas) a los tópicos Kafka. Todo esto se gestiona por la plataforma sobre el Bus Kafka integrado.
- Migración Flow Engine a NodeRED 1.0.3: se ha actualizado el motor de ejecución del FlowEngine a la última versión de Node-RED (la 1.0.3), esto aporta numerosas mejoras al componente, tanto a nivel del editor de flujos, paso de mensajes asíncronos,.. Podéis revisar las novedades de esta versión en el siguiente enlace: https://nodered.org/blog/2019/09/30/version-1-0-released
- Gestión de la ConfigDB desde Query Tool: se ha habilitado una opción a nivel de despliegue (por defecto sólo habilitada en Entornos de Desarrollo) que permite que un usuario con rol Administrador en el Control Panel pueda hacer una gestión completa de la ConfigDB desde el propio QueryTool.
Aparte de todo esto, se han llevado a cabo un gran número de correcciones y de mejoras de performance identificadas a través de las peticiones al buzón de soporte de Plataforma, que nos ayudan a mejorar día a día.
Intelligence
Esta versión de la Plataforma se centra 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. En este trimestre nos hemos centrado en:
- Integración BigQuery con Ontologías: en esta versión se ha incorporado al Semantic DataHub el soporte de BigQuery, lo que nos permite manejar ontologías persistidas sobre esta base de datos de Google.
- Arquitectura Agentes para conexiones JDBC: La Plataforma ha incorporado una nueva Arquitectura de Agentes JDBC que permite conectar con diversas tecnologías de persistencia ofreciendo un interfaz JDBC hacia plataforma. La plataforma permite a través de esta conexión JDBC ofrecida por el agente la creación de ontologías, lo que habilitar la posibilidad de usar muchas bases de datos con diferente tipología, drivers o incluso con versiones incompatibles de la misma base de datos.
- Soporte despliegue Dashboard Engine en cluster: se ha actualizado la librería Javascript que gestiona la conexión con el Dashboard Engine para que en funcionamientos en cluster del Dashboard si alguno d elos nodos queda inoperativo restablezca la conexión de forma transparente contra uno de los nodos.
- Soporte inclusión de recursos adicionales en Reports: a partir de esta versión asociado a un Report se pueden añadir recursos adicionales, que puede ser subreports, datasources, fuentes, etc.
- Soporte creación de Ontologías sobre tablas con mismo nombre: a partir de ahora cuando cree una ontología a partir de una conexión JDBC.
Things
Esta versión de la Plataforma se centra en dar soporte al desarrollo de sistemas IoT, tanto en el ámbito Cloud como Edge. Nos hemos centrado en:
- Revisión completa de Sinópticos: dentro de esta tarea hemos resuelto diversos bugs e incorporado mejoras identificadas por nuestros compañeros (gracias Sergio). Este motor se está usando ya en varios de nuestros productos.
- Integración Kafka con seguridad de Dispositivos: se ha mejorado la integración de Kafka con la plataforma, de modo que al clientes Devices en Plataforma que manejan ontologías estos permisos se trasladan a ACLs de Kafka.
DevOps
Dentro de esta categoría incluímos todas las herramientas que ayudan en el Desarrollo y la Operación de la plataforma. En este trimestre hemos incorporado estas nuevas herramientas:
- K8s Deployment with Helm Charts: se han creado unos charts Helm que permiten automatizar el despliegue de la Plataforma sobre OpenShift.
- Despliegue de Kafka sobre Red Kubernetes y no sobre red anfitrión: en esta versión se han modificada las imágenes referentes a servicios Kafka de plataforma (Zookeeper, Kafka, KSQL, monitorización) para que hagan uso de la red de Docker. Además hemos simplificado la configuración de todas ellas, permitiendo configurar los servicios con las mismas variables de entorno que Kafka indica en sus imágenes base.
- Revisión y mejoras en la 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.
- Uso de MariaDB como base de datos por defecto en ConfigDB: a partir de la versión 2.0 de Plataforma se usa como tecnología de referencia para la ConfigDB MariaDB. Esto no impide usar otras bases de daos, incluida MySQL, ya que la plataforma puede soportar otras bases de datos para almacenar los datos de configuración.
- APIS de gestión para Proyectos Web y DataSources: se han creado nuevas APIS REST para la gestión de elementos como los Proyectos Web y DataSources, esto permite por ejemplo subir un ZIP con nuestro proyecto web desde un entorno de integración continua invocando a este API.
Como véis, las novedades son muchas y muy variadas. Como de costumbre, podéis acceder a todas las novedades desde nuestro Confluence.