La tecnología detrás de nuestro BPM Engine: Camunda
Si recordáis, hace no mucho hablamos por aquí del estándar Decision Model and Notation enfoque para describir y modelar decisiones repetibles dentro de las organizaciones, y del que hacemos uso en la Onesait Platform.
Este DMN lo tenemos integrado, como decíamos, con Camunda, que es una plataforma BPM que surge como fork de Activiti, y a lo largo de estos años ha ido consiguiendo un nombre en el mundo de los BPMs, tanto es así que ahora mismo, como veremos, es una opción a considerar por lo que ofrece.
Pero, ¿de qué componentes se conforma Camunda? Veámoslo.
BPMN WorkFlow Engine
- Incluye soporte para orquestación de microservicios y gestión de tareas humanas.
- Puede funcionar embebido en una aplicación Java (tiene un starter Spring Boot).
- Soporta la mayoría del estándar BPMN 2.0.
- Ofrece un API REST para arrancar procesos, completar tareas, etc.
- Ofrece un API Java para simplificar su manejo.
- Es un motor de alto rendimiento con funcionalidad muy interesantes como cacheo, gestión de la concurrencia, savepoints, etc.
- Soporta persistencia en diferentes bases de datos relacionales.
- Ofrece funcionamiento en clústering con balanceo de carga.
- Diferencia entre modo «runtime» (lo necesario para ejecutar) e «histórico» (para informes, auditoría, etc.).
Motor de Reglas DMN
- Soporta el estándar 1.1 de Decision Model and Notation (DMN), que es el estándar en BPM para toma de decisiones de negocio.
- Soporta Tablas de Decisiones.
- Ofrece un API REST para consultar reglas:
- También soporta el lenguaje Friendly Enough Expression Language (DMN FEEL).
Modeler
- Se trata de una aplicación de escritorio muy sencilla de usar que permite crear diagramas de proceso BPMN y tablas de decisión DMN.
- Soporta BPMN 2.0, CMMN 1.1 y DMN 1.1.
- Permite crear los modelos ejecutables en el BPM Engine.
- Permite la extensión vía Templates (para por ejemplo crear un Mail Task que veríamos en la paleta).
Lista de tareas
- Se trata de una aplicación web lista para usar que permite a los usuarios finales trabajar en las tareas que se les asignan.
- El Engine crea tareas basadas en el modelo BPMN, y asigna estas a los usuarios definidos en el modelo.
- El Engine crea tareas basadas en el modelo BPMN, y asigna estas a los usuarios definidos en el modelo.
Cockpit
- Permite monitorizar flujos de trabajo y decisiones en producción para descubrir, analizar y resolver problemas técnicos.
- Es una herramienta muy interesante para las operaciones de procesos técnicos.
Administración
- Permite administrar la aplicación web y los usuarios de la API REST, asignando grupos, permisos, integrando con un LDAP para la administración de usuarios, etc.
Optimize
- Permite crear informes y organizarlos en un cuadro de mando.
- Permite configurar alertas y mapas de calor, identificar cuellos de botella, etc.
Camunda tiene licencia Apache 2.0 y ofrece una versión Community (sin Cockpit ni Optimize), y un modelo de suscripción para la versión Enterprise y sus más de 100 clientes, entre los que se encuentran AT&T, T-Mobile, Universal Music, Zalando y muchos más.
Si os interesa conocer un poco más sobre este software, echadle un ojo a este white paper comparando Camunda con otras soluciones BPM.