Hacía mucho que no me refería a un BPM aquí, y de hecho el último post fue presentando este BPM: https://unpocodejava.com/2013/01/11/camunda-fox-plataforma-bpm-sobre-activiti/
Camunda 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 (leer 5 Reasons to switch from Activiti to Camunda).
El stack de Camunda se compone de estos componentes:
BPMN WorkFlow Engine:
· Con 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 (ver soporte)
· Ofrece un API REST para arrancar procesos, completar tareas,… Ver API REST
· 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,… leer más
· Soporta persistencia en diferentes bases de datos relacionales
· Funcionamiento en clustering con balanceo de carga
· Diferencia entre Runtime (lo necesario para ejecutar) e histórico (para reporting, auditoría,..)
Motor de Reglas DMN
· Soporta el estándar 1.1 de DMN (Decision Model and Notation) que es el estándar en BPM para toma de decisiones de negocio
· Soporta Tablas de Decisiones (https://docs.camunda.org/manual/7.9/reference/dmn11/decision-table/)
· Ofrece un API REST para consultar reglas:
· También soporta el lenguaje DMN FEEL (Friendly Enough Expression Language)
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): ver templates
· Soporta el concepto de plugins para extender la funcionalidad: ver plugins
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
Cockpit:
· Permite monitorizar flujos de trabajo y decisiones en producción para descubrir, analizar y resolver problemas técnicos.
· Cockpit 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, integrar con un LDAP para la administración de usuarios,…
Optimize
· Permite crear informes y organizarlos en un cuadro de mando
· Permite configurar alertas, identificar cuellos de botella, mapas de calor,…
Camunda tiene licencia Apache 2.0 y ofrece una versión Community (sin todo Cockpit ni Optimize) y un modelo de suscripción para la versión Enterprise y sus más de 100 clientes, entre ellos AT&T, T-Mobile, Universal Music, zalando,…
Aquí podéis encontrar un whitepaper comparando Camunda con otras soluciones BPM.