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.
![https://unpocodejava.files.wordpress.com/2018/09/image005.jpg](https://unpocodejava.files.wordpress.com/2018/09/image005.jpg)
Pero, ¿de qué componentes se conforma Camunda? Veámoslo.
BPMN WorkFlow Engine
![](https://unpocodejava.files.wordpress.com/2018/09/image003.png)
- 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.
![](https://blog.onesaitplatform.com/wp-content/uploads/2020/11/image-13.png)
- Es un motor de alto rendimiento con funcionalidad muy interesantes como cacheo, gestión de la concurrencia, savepoints, etc.
![](https://unpocodejava.files.wordpress.com/2018/09/image006.png)
- 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.
![](https://unpocodejava.files.wordpress.com/2018/09/image016.jpg)
- Ofrece un API REST para consultar reglas:
![](https://unpocodejava.files.wordpress.com/2018/09/image018.jpg)
- 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.
![](https://unpocodejava.files.wordpress.com/2018/09/image022.jpg)
- 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).
![](https://unpocodejava.files.wordpress.com/2018/09/image023.jpg)
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.
![](https://unpocodejava.files.wordpress.com/2018/09/image034.jpg)
- 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.
![](https://unpocodejava.files.wordpress.com/2018/09/image038.jpg)
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.
![](https://unpocodejava.files.wordpress.com/2018/09/image046.png)
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.
![](https://unpocodejava.files.wordpress.com/2018/09/image049.jpg)
Si os interesa conocer un poco más sobre este software, echadle un ojo a este white paper comparando Camunda con otras soluciones BPM.