Desarrollo de software automatizado: Low Code y MDA

netzima

El desarrollo de software ha experimentado desde sus inicios una búsqueda constante para mejorar la productividad y la calidad de todos los procesos, jugando un papel clave la generación de herramientas de desarrollo más eficientes. 

En este contexto, han aparecido en tiempos recientes alternativas como el low code y el MDA. ¿Qué son estas iniciativas y por qué permiten acelerar el desarrollo de software, la creación de herramientas personalizadas y, en última instancia, facilitan la transformación digital de los negocios? Te lo contamos.

Low Code

El low code se ha convertido en una verdadera revolución dentro del contexto del desarrollo de software. 

Es más, se calcula que para 2025, el 70% de las nuevas aplicaciones habrá sido construida utilizando herramientas de desarrollo low code, según cifras de Gartner (un crecimiento espectacular teniendo en cuenta que en 2020 menos del 25% de las aplicaciones se creó mediante low code).

¿Qué es y cuándo se utiliza?

El concepto low code nace de la necesidad de acelerar el desarrollo de software y parte de una premisa sencilla: gran parte del código de las aplicaciones es repetitivo y, por tanto, puede ser generado de forma automática. 

Así, el desarrollo low code (en inglés, Low-code App Development o LCAD) se basa en el empleo de patrones para generar código orientado a mejorar la productividad en el desarrollo de software. 

A diferencia de la perspectiva tradicional (que se basa en la introducción de código por desarrolladores expertos y de forma manual), el desarrollo low code busca reducir las operaciones manuales para el desarrollo de una aplicación específica. 

De este modo, el código queda escrito “behind the scenes”, es decir, detrás de módulos, que pueden emplearse para generar un software de forma más rápida e intuitiva. Derivativos, gradientes y optimizaciones son gestionadas de forma automática, de modo que el trabajo de los desarrolladores se reduce significativamente. Además, entre los beneficios adicionales del low code para el desarrollo de software destacan:

  • Minimización de tiempos de desarrollo y de mantenimiento, potenciando una perspectiva iterativa y ágil que incorpora de forma sencilla las preferencias cambiantes de los usuarios y de los propios ejecutivos del proyecto, que se ven empoderados para participar en el proceso de desarrollo.
  • Disminución de costes vinculados a la creación, implementación y mantenimiento.
  • Aumento de la productividad 
  • Reducción de posibles errores humanos. Al convertirse en gran medida en un proyecto automatizado, el papel del equipo humano a menudo se reduce a realizar ajustes, buscando un software más personalizado.

MDA

El desarrollo de software basado en MDA (Model-Driven Architecture) también ha supuesto una revolución imparable al reducir los plazos y recursos necesarios en estos procesos.

¿Qué es el MDA y cuándo se utiliza?

El concepto de MDA o Model Driven Architecture® supone un enfoque para el desarrollo de software y su implementación creado por el consorcio OMG (Object Management Group), de nuevo con el objetivo de acelerar y simplificar procesos.

Parte de los procesos de ingeniería de dominio, busca realizar abstracciones a todos los niveles de los sistemas, para después producir código desde estos diagramas abstractos y generados por humanos.

Para ello, se proporcionan modelos o pautas de estructuración que pueden aplicarse al desarrollo de software empresarial más allá de la plataforma tecnológica elegida. Así, se diseñan sistemas basados solo en el modelado de dominio, transformando elementos técnicos para su funcionamiento dentro de diferentes plataformas de software. 

Así, el modelo de objetos de dominio del MDA se conoce como PIM (Platform Independent Model) o modelo independiente de plataforma. Éste se realiza de forma independiente a cualquier tecnología o lenguaje de programación, que después se transforma en modelos específicos que reciben el nombre de Platform Specific Model (modelo específico de plataforma).

El modo de funcionamiento es el siguiente: el modelo de aplicación se crea cuando se especifican la lógica de la aplicación y sus semánticas. A partir de este momento, es posible generar la aplicación creando un código ejecutable o interpretando el modelo. En cualquier caso, será el meta-modelo el que gobierna el código y qué componentes lo componen, además de los elementos que deberán ser especificados.

Desarrolladores Low Code vs. MDA

Tanto low code como MDA suponen dos propuestas para simplificar el desarrollo de software. 

No obstante, es importante comprender la diferencia entre ambas iniciativas: así, el low code es un modelo de desarrollo que utiliza el paradigma MDA.

En otras palabras, el MDA podría ser considerado como las raíces que posibilitan los desarrollos low code que, a su vez, también se basan en sistemas adicionales, como las interfaces de usuario gráficas, entre otros.

Ambos modelos de desarrollo se basan en la constatación de que la productividad de los desarrolladores (y su agilidad en el desarrollo de software) podía experimentar grandes mejoras si se lograba una mayor abstracción de los procesos y lenguajes de dominio específicos de mayor calidad.

Así, el low code genera lenguajes específicos para el dominio a partir de la abstracción basada en modelos del MDA.

Lean factory: tecnología icaria para empresas

Lean factory es la tecnología de icaria para desarrollos de software low code, orientada a facilitar los procesos para grandes sistemas de información.

A través de esta herramienta de low code, que emplea el MDA como paradigma, ayudamos a las empresas a reducir costes y tiempos en el desarrollo de estructuras de información.

Si bien uno de los miedos que surgen ante paradigmas low code y MDA es que únicamente sirven para el desarrollo de aplicaciones sencillas, en icaria Lean Factory nos hemos asegurado de garantizar una máxima usabilidad. 

Para ello, esta plataforma se autogenera, basándose a partir de una versión previa en el core de su código. Esto habilita al desarrollador para extender el código base de forma sencilla, pudiendo poner su atención en la complejidad del algoritmo. Adicionalmente, nuestras plataformas icaria TDM e icaria GDPR también usan Lean Factory como core en su código, también en busca de extender las capacidades low code.

Algunas de las características clave de Lean Factory incluyen:

  • Desarrollo software sin programar, permitiendo la construcción de sistemas desde perspectivas funcionales
  • Capacidad para cubrir el ciclo de vida completo, aplicando un mantenimiento evolutivo y sencillo
  • Facilidad para el trabajo en equipo, pudiendo incorporarse todos los departamentos que tengan interés en el desarollo 
  • Generación automática de código que resulta en una mayor calidad del software y en la reducción de tiempos de desarrollo
  • Aplicación multiplataforma, tanto web como de movilidad o en la nube

De este modo, Lean factory facilita a las empresas el desarrollo de software más rápido y personalizado, haciendo uso de los modelos low code más avanzados.

Compartir:

Compartir en facebook
Compartir en twitter
Compartir en pinterest
Compartir en linkedin