Soporte DMN en BPM Engine
DMN (Decision Model Notation) es un estándar publicado por Object Management Group.
Es un enfoque estándar para describir y modelar decisiones repetibles dentro de las organizaciones para garantizar que los modelos de decisión sean intercambiables entre organizaciones.
El estándar DMN proporciona a la industria una notación de modelado para decisiones que respaldarán la gestión de decisiones y las reglas comerciales. La notación está diseñada para ser legible tanto por empresas como por usuarios de TI. Esto permite que varios grupos colaboren de manera efectiva en la definición de un modelo de decisión:
Los empresarios que gestionan y supervisan las decisiones,
Los analistas de negocios o analistas funcionales que documentan los requisitos de decisión iniciales y especifican los modelos de decisión detallados y la lógica de decisión,
Los desarrolladores técnicos responsables de la automatización de los sistemas que toman las decisiones.
El estándar DMN se puede utilizar de forma independiente de forma eficaz, pero también es complementario de los estándares BPMN y CMMN . BPMN define un tipo especial de actividad, la Tarea de reglas comerciales, que "proporciona un mecanismo para que el proceso proporcione información a un motor de reglas comerciales y obtenga el resultado de los cálculos que el motor de reglas comerciales podría proporcionar" que se puede usar para mostrar en qué parte de un proceso BPMN se debe usar una decisión definida mediante DMN.
Desde la release Defender de la onesait Platform, está integrado Camunda BPMN.
Os dejamos un enlace para dar los primeros pasos con él y unos ejemplos para tomar un primer contacto:
https://onesaitplatform.atlassian.net/l/c/P34cCVS0
Aquí tenemos una tabla de decisión de ejemplo
En un BPMN si no las usáramos tendríamos que usar puertas de enlace como las que vemos en el diagrama:
Es por eso que BPMN incluye la llamada tarea de reglas de negocio, que debería denominarse mejor tarea de decisión en una versión posterior del estándar BPMN: esa tarea se refiere a una decisión que debe tomarse, y el resultado de la decisión permite la posterior puerta de enlace exclusiva para enrutar el flujo, como puede ver en el ejemplo siguiente.
Durante el modelado y la ejecución, podemos vincular la tarea "Choose Activity" a la tabla de decisiones de DMN, que se ejecutará cuando se deba tomar la decisión, y el resultado determinará el flujo adicional en BPMN.
En este ejemplo particular, podría cuestionar el uso del enrutamiento de flujo de todos modos. Hay seis tareas relacionadas con la preparación de una actividad , la única diferencia es la actividad. No hay ninguna ventaja aparente en tener esas seis tareas distintas. Un patrón alternativo sería el siguiente:
En este caso, vemos como se simplifica bastante el flujo utilizando DMN podemos llegar a la conclusión de que combinar BPMN con DMN es un buen enfoque.