Arquitectura Basada en Modelos con Flowable
Introducción
En la actualidad, las empresas buscan de manera continua formas de optimizar sus procesos, con el objetivo de volverse más ágiles y eficientes. Flowable se destaca como una herramienta poderosa en esta búsqueda, utilizando una arquitectura basada en modelos que permite la automatización de procesos inteligentes. Este artículo explorará cómo Flowable implementa la arquitectura basada en modelos (MDA) y los beneficios que ofrece.
¿Qué es Flowable?
Flowable es un motor de procesos de negocio que permite a las organizaciones modelar, ejecutar y supervisar flujos de trabajo de manera efectiva. Su enfoque en BPMN, CMMN y DMN facilita la creación de procesos y casos complejos, así como decisiones de negocio automatizadas.
Sin embargo, Flowable no se limita únicamente a ejecutar flujos de negocio basados en estos estándares. En muchos casos, nuestros procesos necesitan interactuar con usuarios, comunicarse con sistemas o servicios externos, o publicar o recibir mensajes. Es por ello que Flowable también cuenta con un amplio abanico de modelos que nos permiten añadir mayores funcionalidades a nuestros flujos; estos modelos son interpretados y ejecutados por el motor de Flowable. Gracias a todas estas capacidades podemos crear aplicaciones complejas escribiendo menos código.
Flowable y Arquitectura Basada en Modelos (MDA)
La arquitectura basada en modelos (MDA) se centra en representar procesos y decisiones a través de modelos visuales. En Flowable, tenemos el concepto de aplicación, que puede verse como un contenedor que agrupa modelos. En él encontraremos todos aquellos modelos que utilizaremos dentro de uno o varios procesos. Esto nos permite utilizar el mismo modelo en diferentes aplicaciones.
Ahora bien, construir aplicaciones en Flowable basado en modelos se divide en cuatro etapas:
- Diseñar: Con la ayuda de Flowable Design, y aprovechando nuestro gran catálogo de modelos disponibles, podemos crear de manera visual los diferentes modelos que utilizaremos en nuestro proceso o caso. Una vez tengamos nuestros modelos listos y añadidos a nuestra aplicación, simplemente los desplegamos. Esto hace que estén disponibles para ser ejecutados por los motores de Flowable.
- Ejecutar: En esta etapa, encontramos los motores de Flowable que toman todos los modelos de un aplicación, los interpretan y ejecutan.
- Analizar: Conforme la aplicación se ejecuta, se generan y almacenan datos del mismo. Esta información recolectada puede estudiarse y analizarse, con el objetivo de encontrar cuellos de botella o puntos de mejora por ejemplo. Muchas veces, esa misma información puede utilizarse en sistemas de machine learning, y encontrar patrones de comportamiento.
- Optimizar/Adaptar: Por lo general, para actualizar una aplicación, debemos volver a la parte del diseño y puede que hasta tengamos que empezar un nuevo proyecto. Pero con las aplicaciones basadas en modelos, solo los modelos que necesitan cambios se actualizan. Una vez realizados todos los cambios requeridos, simplemente hay que desplegar nuevamente.
Beneficios de la Arquitectura Basada en Modelos (MDA) con Flowable
- Modelado Visual: Los usuarios pueden crear los diferentes modelos como lo pueden ser los diagramas de procesos utilizando herramientas gráficas, lo que hace que el diseño sea accesible incluso para aquellos sin experiencia técnica.
- Flexibilidad y Adaptabilidad: Los modelos se pueden ajustar fácilmente en respuesta a cambios en las necesidades del negocio, lo que permite una adaptación rápida sin necesidad de programación intensiva.
Casos de Éxito
Si quieres profundizar un poco más sobre las arquitecturas basadas en modelos y Flowable, puedes ver nuestra demo Arquitecturas #Flowcode.
En esta charla mostramos un ejemplo sobre la industria del Broadcasting y cómo automatizan sus procesos para ser más rápidos y ajustarse a las necesidades de su audiencia.
Explicamos el concepto de la gestión de casos digitales, soluciones basadas en BPMN, CMMN y DMN y - después de esta pequeña introducción - lo aplicaremos en directo a un caso de uso.
Conclusión
Flowable, a través de su arquitectura basada en modelos, ofrece una solución robusta para la automatización de procesos inteligentes. Con su capacidad de modelado visual, integración de decisiones automatizadas y gestión de casos, las organizaciones pueden adaptarse rápidamente a un entorno empresarial en constante cambio, mejorando su eficiencia y efectividad.