Onesait Platform como Plataforma Low Code

Onesait Platform como Plataforma Low Code



¿Qué es una Plataforma Low Code?

Una Plataforma Low Code (LCAP: Low Code Application Platform) es una plataforma que soporta el desarrollo rápido, el despliegue automatizado, la ejecución y la gestión de aplicaciones utilizando abstracciones de programación de alto nivel (Visuales o declarativas).
Estas Plataformas soportan el desarrollo de interfaces de usuario, lógica empresarial y servicios de datos, y mejoran la productividad en comparación con las plataformas de aplicación convencionales.
Un LCAP empresarial debe soportar el desarrollo de aplicaciones empresariales, estas requieren un alto rendimiento, escalabilidad, alta disponibilidad, recuperación antes desastres, seguridad, SLAs, seguimiento del uso de los recursos y soporte técnico del proveedor, y acceso a servicios locales y cloud.

Propuesta de Valor de Onesait Platform como Plataforma Low Code

Onesait Platform se sustenta sobre 4 pilares, uno de ellos alude al desarrollo ágil de soluciones:


Onesait Platform aporta capacidades en las 4 fases de un proyecto: Arranque (Arquitectura, Provisión,..) , Desarrollo, Despliegue/Operación y Gestión del cambio.
A continuación, veremos las diferencias a la hora de abordar estas fases con un desarrollo tradicional o con un desarrollo basado en Onesait Platform:

 

Arranque

Desarrollo

Operación

Gestión del cambio

Desarrollo tradicional

-Elección y pruebas tecnologías.
-Necesidad proveer infra y software base.
-Complejidad para compartir entornos e infra entre diferentes sistemas.

-Gran cantidad de código.
-Varios equipos desarrollando por capa.
-Más complicada reutilización.

-Esfuerzo para desplegar en Entornos.
-Entornos de desarrollo diferente del de ejecución.
-Provisión de infra y componentes base.
-Dificultad para desplegar On Premise y en Cloud.

-Complejidad en entendimiento y evolución de código pasado tiempo.
-Dependencia del desarrollador concreto.
-Complejidad para modificar la infra.

Desarrollo
con OP

-Provisión automática de entornos.
-Tecnologías contrastadas integradas y listas para usar.
-Entorno web que centraliza el desarrollo y administración.
-Gestión de varios proyectos y equipos en un único entorno.

-Desarrollo visual sobre componentes preparados para usar.
-Plataforma común para todas las capas.
-Reutilización entre proyectos.

-Despliegue automatizado.
-Independencia a nivel de despliegue.
-Infra y componentes base desplegados y soportados.

-Desarrollo visual más mantenible.
-Menos dependencia en desarrollador.
-Escalable automáticamente.
-Soporte en desarrollo y producción pudiendo priorizar.

Algunas capacidades Low Code de Onesait Platform

En este punto detallaremos algunas de las capacidades que ofrece la Plataforma entendida como Plataforma Low Code, no son todas pero dan una idea del valor añadido que ofrece esta.
Como además Onesait Platform es una Plataforma Data-Centric que permite gestionar el ciclo de vida de la información, habilitando la construcción de aplicaciones con el "dato en el centro" analizaremos estas capacidades en base al tratamiento del dato:

En la Capa de Persistencia

En esta capa la plataforma nos aporta capacidades como el modelado multistore donde la plataforma suministra independencia de la base de datos usada o la importación desde fichero.

Veamos en detalle alguna de estas capacidades.

Modelado multistore

La plataforma permite manejar de forma prácticamente transparente bases de datos de diferente tipo, desde cualquier base de datos relacional con driver JDBC a bases de datos NoSQL como Mongo, Elasticsearch, repositorios Big Data como HIVE y Kudu, ... También es capaz de tratar un API REST o un Digital Twin como otra fuente de datos.
Esta abstracción se hace a través del concepto de ontología, que independiza de la base de datos subyacente, ofreciendo siempre un motor SQL para acceder a esta (incluso cuando usan bases de datos NoSQL como Mongo o Elasticsearch)


Como puede verse:

  • El modelado de las entidades se hace desde el propio Control Panel de la plataforma y cuando creo la entidad en plataforma (las famosas ontologías), esta se encarga de crear las tablas o elementos necesarios en la base de datos seleccionada.

  • La plataforma se encarga de provisionar o conectarse con las bases de datos seleccionadas aislando de esta complejidad al equipo de desarrollo.

  • La plataforma también permite conectarse a bases de datos ya existentes y crear las ontologías a partir de las tablas existentes.

  • La ontología se representa como un JSON-Schema y las instancias de las ontologías son JSONs, esto es independiente del motor de almacenamiento seleccionado, y la plataforma se encarga de convertir hacia y desde este modelo.


Más información sobre el concepto de Ontologías aquí.

Importación desde fichero 

La plataforma ofrece una UI para cargar de forma sencilla un fichero en formato JSON, CSV o XML, la plataforma detectará el formato del fichero y generará automáticamente la ontología en el repositorio seleccionado y cargará los datos en esta:

En la capa de Ingesta

En esta capa la plataforma ofrece diversas capacidades, donde destacan el Data Refiner y el Data Flow.

Data Refiner

El objetivo de este componente es "refinar" la información que se carga o que se extrae de plataforma. Para esto la herramienta ofrece un interfaz Excel-like que permite:

  • Que un usuario final cargue desde una UI datos desde diversos lugares, por ejemplo desde su propio PC, desde una URL o bien desde información residente en la propia plataforma.

  • La herramienta permite cargar datos en los principales formatos, entre ellos Excel, XML, JSON, CSV,…

  • El usuario puede trabajar con estos datos con un interfaz "Excel-like" realizar un perfilado de los datos, incluyendo limpieza, mejora, reestructuración o conciliación de estos.

  • Los datos "refinados" podrán descargarse como ficheros o bien cargarse en plataforma como Ontología.


Más información sobre este componente aquí.

Data Flow

Este módulo permite crear y configurar flujos de datos entre orígenes y destinos de forma visual tanto para procesos tipo ETL/ELT como flujos en Streaming, incluyendo en estos flujos transformaciones y procesos de calidad del dato.
Vemos un par de ejemplos:

  • Ingesta hacia Hadoop del tail de un fichero con proceso de eliminación de campos:

  • Ingesta desde un endpoint REST y carga hacia el Semantic DataHub de plataforma con proceso de calidad del dato:


Además de esto:

  • Ofrece una gran cantidad de conectores para comunicaciones específicas, tanto de entrada como de salida, además de procesadores (en el Portal del Desarrollador de Plataforma se pueden ver todos los 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,…

  • Toda la creación, desarrollo, despliegue y monitorización de los flujos se realiza desde la consola web de la plataforma (Control Panel), por ejemplo aquí se ve un DataFlow en ejecución: