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.