Este tema sólo se aplica a la configuración de IBM Business Process Manager Advanced.

Reglas de negocio

Una regla de negocio es una condición que se debe satisfacer cuando se realiza una actividad de negocio. Una regla puede imponer una política de negocio, tomar una decisión o inferir nuevos datos de datos existentes.

Si utiliza IBM® Integration Designer, puede formar soluciones de negocio integrativas sin programar habilidades y desarrollar reglas de negocio en un entorno de programación gráfica.

Ejemplo de una regla de negocio

Un proveedor establecer el estado preferido de cada cliente y crea una regla de negocio para determinar cuánto cuesta a cada cliente el mismo objeto. A continuación, se indican términos básicos que definen los bloques de creación de cada regla de negocio:
Condiciones
Una condición describe una situación o estado que se debe colocar en orden para que ocurra una acción determinada. En este ejemplo, la condición es el estado del cliente.
Acciones
Una acción es el suceso resultante de la evaluación de la condición. Cada acción se enlaza únicamente con la condición que le precede. En este ejemplo, la acción es la cotización del precio; es diferente para cada una de las condiciones que se encuentran.
Tabla 1. Regla de negocio para cotizar precios determinados para los clientes en función del estado del cliente.
Estado del cliente Precio de cotización
Bronce 5$
Plata 4$
Oro 3$

La interacción entre las condiciones y las acciones determina la forma de la regla de negocio. Si la condición se cumple, se realiza la acción. Hay dos posibles formas, conjuntos de reglas y tablas de decisiones, las cuales se describen a continuación.

Conceptos clave

Antes de empezar a utilizar este editor, debe comprender y conocer los conceptos claves relacionados con las reglas de negocio:
Nota: Las reglas de negocio sólo se pueden desplegar en IBM Business Process Manager.

Grupos de reglas

Un grupo de reglas es el componente de implementación de nivel más elevado de una regla de negocio. El grupo de reglas actúa como una pasarela para las reglas de negocio debido a que está expuesto como un componente SCA en el entorno de ejecución. El grupo de reglas define la interfaz y la operación que implementarán las reglas de negocio. Los conjuntos de reglas y las tablas de decisiones que comparten un enfoque de negocio común se pueden recopilar bajo un único grupo de reglas. Los conjuntos de reglas y las tablas de decisiones no se pueden invocar directamente y sólo se podrían invocar a través de un grupo de reglas. Una de las funciones más importantes del grupo de reglas es definir un rango de hora y fecha durante el cual se utilizará un conjunto de reglas o una tabla de decisiones determinada.

Conjuntos de reglas

Un conjunto de reglas es un conjunto de reglas de negocio que se evalúan de forma secuencial. Hay dos tipos de reglas que se pueden utilizar en un conjunto de reglas.

Regla If-then
Regla en la que if es la condición y then es la acción. Sólo se realiza la acción si la condición se evalúa en true.
Reglas de acción
Una regla de acción es una regla en la que la acción siempre se realiza.

Un conjunto de reglas if-then es un conjunto de reglas o sentencias textuales en las que if es la condición de la regla y then es la acción.

En el primer ejemplo que mostraremos se utiliza un conjunto de reglas if-then:

Tabla 2. Regla de negocio para cotizar precios determinados para los clientes en función del estado del cliente.
Estado del cliente Precio de cotización Regla If-then
Bronce 5$ If el cliente tiene el estado bronce then el precio es 5.
Plata 4$ If el cliente tiene el estado plata then el precio es 4.
Oro 3$ If el cliente tiene el estado oro then el precio es 3.

En el entorno de ejecución, cada regla se evalúa de forma secuencial y se lleva a cabo cada condición que se evalúa en true, lo cual podría resultar en más de una acción. Un ejemplo de ello puede ser un esquema de fidelidad de cliente en el que un cliente que realiza una compra siete semanas de cada diez recibe un regalo y un cliente que realiza una compra en todas las diez semanas recibe un descuento adicional de 10% para futuras compras. Los clientes que realizaron la compra en todas las diez semanas evalúan en true ambas condiciones y reciben ambos incentivos.

Tablas de decisiones

Otra forma que puede tener una regla de negocio es una tabla de decisiones.

Igual que el conjunto de reglas if-then, la tabla de decisiones es controlada por la interacción de condiciones y acciones. No obstante, en una tabla de decisiones, más de una condición decide la acción. La lógica condicional está representada en una tabla donde las filas y las columnas se cruzan para determinar la acción apropiada. Cada columna representa una condición. En una tabla de decisiones, se pueden evaluar distintas condiciones pero sólo actúa una acción.

Por ejemplo, en este ejemplo el estado del cliente está representado por las filas de la tabla, y la cantidad potencial de dinero que el cliente gasta está representada por las columnas. Durante la transacción, el cliente recibe un descuento mayor cuando él o ella compran más elementos. El descuento dependen del estado del cliente. La tabla de decisiones impone este comportamiento de regla de negocio a través de la intersección del estado (filas) y elementos comprados (columnas). La primera columna muestra que los resultados de cada intersección es el mismo que el del conjunto de reglas if-then: si el cliente con el estado bronce compra menos de 20 elementos, paga 5 dólares por cada elemento; si el cliente con el estado plata compra menos de 20 elementos, paga 4 dólares por cada elemento; mientras que el cliente con el estado oro paga 3 dólares por cada elemento.

Tabla 3. Regla de negocio definida por una tabla de decisiones.
Estado del cliente Compra menos de 20 elementos Compra más de 20 elementos Compra más de 30 elementos Compra más de 40 elementos
Bronce 5$ por elemento 4.50$ por elemento 4$ por elemento 3.50$ por elemento
Plata 4$ por elemento 3.50$ por elemento 3$ por elemento 2.50$ por elemento
Oro 3$ por elemento 2.50$ por elemento 2$ por elemento 1.50$ por elemento

A continuación se describen algunos conceptos exclusivos de las tablas de decisiones:

Condición Otherwise (de lo contrario)
Si utiliza una condición Otherwise, puede planificar por adelantado al diseñar la tabla de decisiones y anticipar situaciones en las que las condiciones no produzcan una acción. Por ejemplo, si un cliente no tiene un estado, al menos según la tabla, puede cambiar la fila bronce para que utilice la condición otherwise, de modo que el cliente que no tenga un estado plata u oro reciba automáticamente los precios que normalmente recibe el cliente bronce.
Regla de acción de inicialización
Si utiliza una regla de acción de inicialización, automáticamente se lleva a cabo una operación determinada cuando los datos pasan a una tabla de decisiones. También puede crear reglas de acción de inicialización en plantillas de modo que pueda modificar la regla en el tiempo de ejecución.

Roles de negocio en el desarrollo de reglas de negocio

Debido a que varios usuario desarrollan y mantienen las reglas de negocio, debe crear roles que indiquen las distintas maneras en las que los distintos usuarios crean, implementan y modifican reglas de negocio y cómo estos usuarios interactúan al trabajar con una regla de negocio.

Hay dos roles principales para trabajar con reglas de negocio:
Analista de negocio
El analista de negocio debe tener conocimientos sobre lenguajes de programación de sistemas para poder crear reglas de negocio. El analista aplica sus conocimientos sobre cómo funciona el negocio para crear políticas de negocio y reglas de negocio. Cuando se hayan desplegado estas reglas en un servidor, el analista aplica sus conocimientos sobre el entorno de negocio y utiliza herramientas de gestión basadas en web para las reglas sigan siendo relevantes.
Desarrollador de integración
El desarrollador de integración utiliza sus conocimientos de programación de sistemas para implementar y desplegar las reglas que el analista de negocio ha creado. Durante la implementación de reglas, el desarrollador de integración utiliza plantillas para determinar los detalles que puede modificar posteriormente otro analista de negocio y escribe mensajes que ayudarán a dicho usuario a hacer las anotaciones.
Figura 1. Cómo interactúan dos roles distintos cuando se trabaja con una regla de negocio
Diagrama que muestra dos roles distintos que interactúan para crear y mantener reglas de negocio.

Plantillas

Una de las responsabilidades del analista de negocio es hacer que las reglas de negocio sigan siendo relevantes. Esto es especialmente necesario cuando un entorno de negocio debe ser dinámico para satisfacer las necesidades de negocio siempre cambiantes. Por ejemplo, su empresa puede tener que ajustar periódicamente los precios de venta para que sean equiparables a los precios de la competencia. Después del despliegue, es posible que todavía necesite modificar los precios u otras propiedades. Casi nunca es factible o rentable obtener un desarrollador de integración para realizar cada ajuste.

Para poder crear reglas de negocio que se pueden modificar dinámicamente en el tiempo de ejecución, las reglas de negocio se deben basar en plantillas. Las tablas de decisiones también se podrían modificar dinámicamente en el tiempo de ejecución si se basan las condiciones o acciones de la tabla de decisiones en plantillas.

Una plantilla define las partes de una regla de negocio desplegada que pueden modificar un usuario autorizado. La plantilla utiliza parámetros y restricciones para proporcionar dinamismo. Los parámetros y las restricciones definen qué valores que se pueden modificar y en qué medida.

Parámetros
Los parámetros son elementos de la regla de negocio que se pueden modificar dinámicamente. "price" (precio) sería un parámetro si desea ajustar el precio de venta para equipararse a un competidor.
Restricciones
Se trata de una restricción en una plantilla que limita por cuánto se puede modificar un parámetro determinado. Hay dos tipos principales de restricciones:
  • Restricciones de rango
  • Las restricciones de rango se aplican a parámetros numéricos utilizados en reglas. Un usuario autorizado puede ajustar un parámetro pero dicho parámetro se debe mantener dentro de un determinado rango numérico. Por ejemplo, si sabe que su producto cuesta 100 al fabricante, el rango de precios podría estar entre 105 y 500.
  • Restricciones de enumeración
  • Las restricciones de enumeración se encuentran en una lista que puede ser numérica o textual. El usuario autorizado debe elegir una de las opciones de la lista. Por ejemplo, el usuario podría mejorar la capacidad de crédito de un cliente de "plata" a "oro".
Figura 2. Ejemplo de una plantilla que restringe una regla de negocio
Ejemplo de cómo una plantilla se puede utilizar para ajustar una regla de negocio.

En este ejemplo, el Proveedor A puede utilizar la plantilla de regla de negocio para ajustar el precio del elemento para superar los precios del Proveedor B. No obstante, cuando el Proveedor B intenta hacer algo similar, la restricción de la plantilla de regla de negocio no lo permitirá. La restricción no permite que haya un precio inferior al precio que hay actualmente.

Planificación

Cuando los cambios realizados en las reglas de negocio son obligatorios y esperados, también puede diseñar reglas y desplegarlas en el servidor, de modo que pasen a ser activas cuando sean necesarias. Esta funcionalidad es importante cuando, por ejemplo, los analistas de negocio tienen que estar preparados para los cambios en regulaciones de tasas gubernamentales que no entrarán en vigor hasta el primer día del año, o (tal como se muestra en el ejemplo siguiente), cuando un precio especial entra en vigor sólo durante un día especial.

Figura 3. Ejemplo de cómo una regla de negocio se puede crear para ser utilizada posteriormente
Ejemplo de una regla de negocio de planificación.