Una Tarea Regla de Negocio permite que el Proceso se comunique con un Motor de Reglas de Negocios. Le entrega al Motor de Reglas de Negocio los datos para que éste ejecute la Regla de Negocio y recibe los resultados.
Ejemplo: proceso sencillo. Explicación del ejemplo.
Ejemplo con Tareas Regla de Negocio.
Una Tarea Regla de Negocio permite que el Proceso se comunique, vía Mensajes, con un Motor de Reglas de Negocios.
Como las demás, Actividades, se representa con un rectángulo con esquinas redondeadas, dibujado con una línea delgada.
Una Tarea Regla de Negocio tiene la figura de una tabla de decisión en la esquina superior izquierda.
¿Qué es una Regla de Negocio?
Una regla de negocio define o condiciona algún aspecto del negocio. Por ejemplo:
- Sólo se realiza calificación crediticia a los clientes nuevos.
- Los clientes que gasten más de $1.000 en 24 horas recibirán un 10 % de descuento.
- Todo estudiante debe inscribir a lo menos 15 créditos, y a lo más 25 créditos por semestre.
- Para una compra por sobre $1.000.000 debe haber por lo menos tres oferentes.
Las reglas reglas de negocio existen en una organización, ya sea que estén documentadas o no. Sin embargo, es una buena práctica que las organizaciones expliciten sus reglas de negocio.
¿Cómo describir una Regla de Negocio?
Una regla de negocio puede ser descrita usando, entre otros:
- Lenguaje natural,
- Lógica de Predicados,
- Tablas de Decisión,
- Arboles de Decisión,
- BPMN.
¿Se puede usar BPMN para modelar reglas de negocio?
En la medida que BPMN permite describir acciones y decisiones, es posible describir cualquier regla de negocio, por complicada que ésta sea. Sin embargo, BPMN no siempre es la mejor opción, a veces hay notaciones más adecuadas y simples para describir las reglas de negocio.
La especificación de BPMN (pág. 20) dice:
BPMN is constrained to support only the concepts of modeling that are applicable to Business Processes... the following are aspects that are out of the scope of this International Standard:
- Definition of organizational models and resources,
- Modeling of functional breakdowns,
- Data and information models,
- Modeling of strategy,
- Business rules models.
La especificación no se refiere a que no sea posible describir reglas de negocio con BPMN, sino que hay notaciones especializadas para crear modelos de reglas de negocio (por ej.: Tablas de Decisión) que no son parte de BPMN.
¿Cuándo no conviene usar BPMN para describir una regla de negocio?
Hay cuatro situaciones en las que no conviene describir una regla de negocio en el diagrama BPMN:
- Hay otra notación que permite crear, mantener y entender mejor la regla de negocio.
- La regla de negocio ya está descrita en una forma alternativa, que los usuarios del proceso conocen y utilizan. Por ejemplo, en una guía o instructivo de trabajo.
- La regla de negocio está sujeta a cambios frecuentes, lo que llevaría a permanentes cambios al diagrama.
- La regla de negocio ya existe en un Motor de Reglas de Negocio.
Veamos un ejemplo.
Un banco tiene políticas sobre la aprobación de préstamos que dependen de los ingresos del solicitante y de si éste es o no empleado del banco.
- Si el ingreso es menor a $1.000 la solicitud es rechazada.
- Si el ingreso está entre $1.000 y $2.000, se aprueba sólo si el solicitante es empleado del banco.
- Si el ingreso es mayor a $2.000 la solicitud es aprobada.
IMAGEN CON DIAGRAMA BPMN CON COMPUERTAS EXCLUSICAS
Una Tabla de Decisión describe estas regla de manera simple y directa.
| Ingreso | ¿Es empleado? | Aceptada |
|---|---|---|
| ingreso < $1.000 | SI/NO | NO |
| $1.000 ≤ ingreso ≤ $2.000 | SI | SI |
| $1.000 ≤ ingreso ≤ $2.000 | NO | NO |
| $2.000 < ingreso | SI/NO | SI |
Si no es en el diagrama BPMN, ¿dónde colocar la regla de negocio?
Veamos tres casos.
Caso 1: La persona encargada evalúa la solicitud siguiendo una guía de instrucciones (en una copia impresa o digital). Posteriormente, el resultado de la evaluación lo ingresa al sistema.
IMAGEN CON DIAGRAMA BPMN CON TAREA MANUAL Y LUEGO UNA USUARIO
En la documentación de la Tarea Manual, el lector del diagrama puede acceder al detalle de las reglas que hay que seguir. Si la descripción de la tabla de decisión está en la guía de instrucciones, en la documetación de la Tarea Manual basta colocar un enlace a la guía en algún repositorio documental. Hay que evitar duplicidades, sobre todo si las reglas cambian con frecuencia.
Caso 2: La persona encargada evalúa la solicitud utilizando una aplicación. Normalmente, interactuando con la aplicación a través de un formulario.
IMAGEN CON DIAGRAMA BPMN CON TAREA USUARIO
En la documentación de la Tarea Usuario el lector del diagrama accede a la descripción general de la interacción y un enlace a la aplicación. En detalle de las reglas a seguir está en la documentación de la aplicación. Como siempre, hay que evitar duplicidades, sobre todo si las reglas cambian con frecuencia.
Caso 3: La regla de negocio es ejecutada por un Motor de Reglas de Negocio.
El Motor de Reglas de Negocio (BRE - Business Rules Engine) es un sistema de software que registra, define, clasifica y administra las reglas. Puede ser parte de un BPMS o ser un sistema independiente que presta un servicio a varias aplicaciones finales: BPMS, aplicaciones legadas, etc.
El proceso es ejecutado por un Motor de Procesos (BPMS). Al llegar a la Tarea Regla de Negocio, el BPMS se comunica con el BRE, le envía los datos para ejecutar la regla (identificador de la regla, ingreso y si es empleado o no), y espera la respuesta (si la solicitud es aceptada o no).
IMAGEN CON DIAGRAMA BPMN CON TAREA REGLA DE NEGOCIO
En cierto modo, la Tarea Regla de Negocio es una Tarea de Servicio especializada: el Participante que presta el servicio es un Motor de Reglas de Negocio.
Algunos BRE puede tener acceso a los datos del proceso. En este caso bastaría con enviarle la identificación de la regla, y el identificador del solicitante, y el BRE obtendría los datos reqeridos por la regla: ingreso y si es empleado o no.
En la documentación de la Tarea Regla de Negocio se entrega un enlace a la regla dentro del BRE. También se pueden enumerar los datos requeridos por la regla, y el resultado esperado.
Diseño de Procesos guiado por Reglas de Negocio
Identificar cuándo parte de la lógica del negocio debe ser una regla de negocio separada del flujo, y cuándo es parte de éste, no es trivial. Las cuatro situaciones descritas arriba ayudan a hacer la separación.
La separación del flujo del proceso, descrito con BPMN, de las reglas de negocio conduce a modelos más flexibles, robustos y evolucionables.
Normalmente, los flujo de los procesos y las reglas de negocio evolucionan por separado. Nuevas regulaciones y cambios en las políticas organizacionales conducen a cambios en las reglas de negocio, pero no en los flujos. Así mismo, puede haber cambios en los flujos actuales o incluso nuevos procesos que utilizan las mismas reglas de negocio.
Como hemos visto, la separación de las reglas de negocio no sólo aplica cuando el proceso es ejecutado por un BPMS que se comunica con un BRE que contiene las reglas, sino también para el modelado de procesos, donde las reglas de negocio son parte de Tareas Manuales y de Usuario.
Ejemplo más elaborado. Explicación del ejemplo.
Imagen ejemplo con Tareas Regla de Negocio.
Ejemplo más elaborado. Explicación del ejemplo.
Video ejemplo con Tareas Regla de Negocio.
Marcas
Como las demás Tareas, una Tarea Regla de Negocio puede ser repetitiva: Estándar a Multi-Instancia. (Ver Actividades-Iteración.)
Ejemplo con Tareas Regla de Negocio.
Como las demás Tareas, una Tarea Regla de Negocio puede ser usada para Compensación. (Ver Compensación.)
Ejemplo con Tareas Regla de Negocio.
Una Tarea Regla de Negocio puede ser una Tarea Global. (Ver Tarea Global - Reutilizable.)
Ejemplo con Tareas Regla de Negocio.
¿Cómo funciona?
Texto explicando los dos enfoques y con referencias a otras páginas.
Texto explicando los dos enfoques y con referencias a otras páginas.
Modelado de Procesos
Semántica de ejecución en Modelado de Procesos.
Ejecución y finalización.
- Tras la activación, ...
- Una vez realizado el trabajo, la Tarea TIPO finaliza.
Video que muestra el detalle de la ejecución de la Tarea en Modelado de Procesos.
Nombre de Video.
Ejecución de Procesos
Tras la activación, la Tarea solicita al BRE que ejecute la regla de negocio y espera la respuesta. Cuando ésta llega, la Tarea es completada.
Video que muestra el detalle de la ejecución de la Tarea.
Nombre de Video.
Configuraciones
Ejemplo 1.
Ejemplo con Tareas Regla de Negocio.
Ejemplo 2.
Ejemplo con Tareas Regla de Negocio.
Temporal
Texto.Texto.
Texto.Texto.
Texto.Texto.
Texto.Texto.
Texto.Texto.
Texto.Texto.
Texto.Texto.
Texto.Texto.
Texto.Texto.
Texto.Texto.
Especificación BPMN
A Business Rule Task provides a mechanism for the Process to provide input to a Business Rules Engine and to get the output of calculations that the Business Rules Engine might provide. The InputOutputSpecification of the Task (see page 210) will allow the Process to send data to and receive data from the Business Rules Engine.
A Business Rule Task object shares the same shape as the Task, which is a rectangle that has rounded corners. However, there is a graphical marker in the upper left corner of the shape that indicates that the Task is a Business Rule Task (see Figure 10.11).
A Business Rule Task is a rounded corner rectangle that MUST be drawn with a single thin line and includes a marker that distinguishes the shape from other Task types (as shown in Figure 10.19).
Task execution and completion. Upon activation, the associated business rule is called. On completion of the business rule, the Business Rule Task completes.
Attribute implementation. This attribute specifies the technology that will be used to implement the Business Rule Task. Valid values are "##unspecified" for leaving the implementation technology open, "##WebService" for the Web service technology or a URI identifying any other technology or coordination protocol. The default technology for this task is unspecified.