Decision Model and Notation en la Onesait Platform

Header Decision Model and Notation

El Decision Model and Notation (DMN) es un estándar publicado por la Object Management Group (OMG), un consorcio que se dedica al cuidado y el establecimiento de diversos estándares de tecnologías orientadas a objetos.

Dicho estándar es un enfoque 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 por tanto 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.

Por ello, el estándar DMN se puede utilizar de forma independiente de forma eficaz, pero también es complementario de los estándares Business Process Model And Notation (BPMN) y Case Management Model and Notation (CMMN).

En el caso concreto de BPMN, se 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», lo cual se puede usar para mostrar en qué parte de un proceso BPMN se debe usar una decisión definida mediante DMN.

DMN y la Onesait Platform

Desde la versión 1.5.0-Defender de la Plataforma, tenemos integrado Camunda BPMN, al cual se puede acceder desde el menú de Desarrollo > Gestión de BPM.

Los dominios BPMN son instancias aisladas del motor BPMN, y hay una por usuario de la Plataforma, la cual se crea cuando se inicia sesión por primera vez. Este nivel de aislamiento permite la implementación y gestión de procesos de manera más eficiente.

¿Qué es lo que esto implica? Pues que si implementas un proceso que especifica un dominio (aunque no es obligatorio), este proceso sólo será visible para ti, para los usuarios con el rol Administrador y para los usuarios que tú autorices explícitamente. Por otro lado, los procesos sin dominio serán visibles por cualquier usuario.

Si os interesa conocer mejor cómo funciona todo esto, tenemos descritos unos primeros pasos en nuestro Portal del Desarrollador.

Ejemplo práctico

Imaginemos la siguiente 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 siguiente 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 a continuación.

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 y podemos llegar a la conclusión de que combinar BPMN con DMN es un buen enfoque.

¿Interesante? Pues si os ha gustado, la semana que viene os traeremos otro artículo sobre DMN donde describiremos un ejemplo práctico de como subir las tablas DMN y utilizarlas en nuestros BPMN. ¡Os esperamos!

1 Comment

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *