La Tecnología detrás de nuestro BPM Engine: Camunda
- 1 ¿Qué es?
- 2 Componentes de Camunda
- 2.1 BPMN WorkFlow Engine
- 2.2 Motor de Reglas DMN
- 2.3 Modeler:
- 2.4 Lista de tareas
- 2.5 Cockpit
- 2.6 Administración
- 2.7 Optimize
¿Qué es?
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).
Componentes de 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 funcionalidades 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 (Leer más).
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.
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.