Consultoría & Consultores

Este artículo es un resumen del webinar “Modelado de Servicios de Decisión con notación DMN en una herramienta novedosa: Kogito” en el que contamos y mostramos cómo en la herramienta Kogito podemos modelar de forma muy completa diferentes niveles DMN y sus componentes (tablas de decisión, funciones reutilizables, código fuente java o FEEL), generar documentación semi-automatizada, y realizar ejecuciones dentro del entorno KIE de RedHat.

¿Te perdiste el webinar y te gustaría poder verlo?

Te dejamos un formulario al final del artículo para poder descargarlo.

La notación DMN: explicación, niveles y ventajas

La notación DMN es el estándar o norma que se utiliza para describir, modelar y visualizar decisiones de negocio. De esta manera las decisiones pueden ser comprendidas y compartidas por diferentes plataformas compatibles y organizaciones. Además, tener una notación común hace posible que las decisiones sean entendidas por distintos roles: tanto por dirección, como por usuarios de negocio, o perfiles de implementación y desarrollo.

Existen tres niveles de modelado que mostramos en la siguiente imagen. Un primer nivel (N1) que representa el Modelado de Procesos de negocio (BPMN), donde puede haber Servicios de Decisión. Esos Servicios de Decisión se representan en un segundo nivel (N2) con diferentes componentes o requisitos de decisión, que cuentan cada uno con una Lógica de Decisión, capturada en un tercer nivel (N3).

La intención es que DMN proporcione una tercera perspectiva: el modelado de Requisitos de Decisión (N2) formando un puente entre los Modelos de Procesos (N1) de negocio y los modelos de Lógica de Decisión (N3):

  • N1: Los Modelos de Procesos de negocio (BPMN) definirán tareas donde se requiere la toma de decisiones.
  • N2: Los Requisitos de Decisión definirán las decisiones que se tomarán en esas tareas, sus interrelaciones y sus requisitos para la Lógica de Decisión.
  • N3: La Lógica de Decisión definirá las decisiones requeridas con suficiente detalle para permitir la validación y / o automatización.

Podemos concluir entonces que la definición de un Servicio de Decisión con DMN se compone como vemos en la siguiente imagen, de: el diagrama de requisitos e interrelaciones que definen la decisión (DRD), un conjunto de expresiones encapsuladas como tablas o cajas que definen las lógicas, y el lenguaje FEEL (Friendly Expression Language) que es el que se utiliza para definir las reglas.

Elementos para el modelado de Servicios de Decisión

A continuación vamos a explicar los diferentes elementos que necesitas conocer para entender y modelar los Servicios de Decisión con la notación DMN:

Decisión: Acto de determinar un valor de salida a partir de una serie de valores de entrada utilizando una lógica que define cómo se determina la salida a partir de las entradas.

Datos de entrada: Información usada como valor de entrada para una o más decisiones.

Una decisiónrequiere” ENTRADAS para determinar una SALIDA. Una ENTRADA pueden ser datos de entrada o la SALIDA de decisión.

Conocimiento de Negocio: Denota una función o método que encierra conocimiento de negocio, como por ejemplo reglas de negocio, tablas de decisión o un modelo analítico.

La lógica de la decisión que define cómo determinar la salida puede incluir uno o más modelos de conocimiento de negocio que encapsulan el conocimiento de negocio en forma de reglas, modelos analíticos u otros formalismos.

Fuentes de conocimiento: Autoridades para tomar decisiones.

Son referencias a factores del mundo real, como expertos en el dominio, documentos fuente o conjuntos de casos de prueba con los que las decisiones deben ser consistentes.

  • Personas que definen y/o mantienen la lógica
  • Documentos
  • Organismos
  • Legislación
  • Tests

Las fuentes de conocimiento se asocian normalmente a los modelos de conocimiento de negocio para indicar cómo el conocimiento de negocio es gobernado o mantenido.

Servicio de decisión: Indica un conjunto de decisiones reutilizables. Define la lógica reutilizable. Expone una o más decisiones de un modelo de decisión como un elemento reutilizable (un servicio). Consumido internamente (decisión) / externamente (tarea BPMN).

Cualquier servicio de decisión que encapsule un modelo de decisión DMN será «stateless» y no tendrá efectos secundarios.

El nivel de requisitos de decisión de un modelo de decisión en DMN consiste en un gráfico de requisitos de decisión (DRG) representado en uno o más Diagramas de Requisitos de Decisión (DRD).

Modelando Servicios de Decisión en Kogito

Tal y como comentábamos en el artículo Primeras impresiones sobre la herramienta «Kogito», Kogito es una plataforma basada en tecnología RedHat para construir flujos de procesos de trabajo nativos en la nube, integrados con un motor de reglas y un motor de optimización.

La herramienta Kogito es OpenSource y examinando su modelador DMN sorprenden las capacidades de completitud de modelos que se pueden realizar, comparables a herramientas líderes en el mercado cuyas licencias pueden resultar muy costosas sobre todo para trabajos en consultoría.

En este webinar enseñamos cómo utilizar su modelador DMN con un ejemplo de Servicio de Decisión, modelándolo paso a paso. Si estás interesado en ver la demo, puedes rellenar el formulario más abajo y descargar el webinar.

¿Interesado en poder ver el webinar?