Business Rule Engine (BRE) de Microsoft BizTalk Server

El Business Rule Engine (BRE) de Microsoft BizTalk Server es una nueva característica incorporada en BizTalk que permite a los usuarios de negocio crear políticas que contienen un grupo de reglas de negocio que pueden ser usadas en el procesamiento de los documentos que pasan por BizTalk. Esas políticas pueden ser llamadas de Orchestration de BizTalk, cómo también desde una aplicación independiente a través de las API. 

 

Para poder entender y usar Business Rules Framework, lo primero es entender su terminología.

 

 Business Rule

 Las reglas de negocio (Business Rule) son elementos que gobiernan el comportamiento de los procesos de negocio. Cada regla consiste en una condición (cómo una condición if) y las consecuentes acciones (el consecuente Then). La condición es evaluada, si el resultado es verdadero (true), una o más acciones son ejecutadas por el motor de reglas.

 

 Los conceptos principales a tener en cuenta para trabajar con el BRE se describen a continuación.

  1. Vocabulary.

Son los nombres definidos por los usuarios a los hechos que se usan en las condiciones de las reglas y las acciones posteriores. El uso de un vocabulario es una manera de hacer que las reglas sean más simples y se puedan comprender por todos en un dominio de negocios. En rigor con el uso de Vocabulary, el usuario construye una ontología de su dominio de negocio.

Un ejemplo,  Si tengo la siguiente regla “El cliente no puede tener menos de 10 años de edad”, para el sistema debo definir Cliente y edad. Cliente puede ser el campo idCliente de la base de datos y edad la diferencia entre el campo fecNAcCli y la fecha actual.

  1. Policy.

Las políticas son grupos lógicos de regalas. Cuando una aplicación llama al motor de reglas para validar hechos, no llama a una regla en particular sino a una política. Además, las políticas tienen la capacidad de versionarse para así poder  ir ajustándose en el tiempo.

  1. Rule Store.

El almacén de reglas es el repositorio de persistencia de las políticas y vocabulario. Por defecto, Rule Store es una base de datos MSSQL. También existe la posibilidad de usar un almacén de archivo (File Store).

  1. Rule Engine.

Es el motor encargado de aplicar las reglas a los hechos, evaluar el resultado mediante el uso de un  algoritmo de interferencia, de aplicar determina que acciones debe ejecutar y ejecutar las acciones. 

 

Rules y Fact

 

Hemos mencionado los hechos en este documento pero no hemos explicado que es lo que son. Ahora, se explicará cómo se componen una regla y sus componentes. Dentro de esos componentes se encuentra el concepto de hecho (Fact). Cómo ya se explicó, Business Rule consiste en una condición y una o más acciones.

 

Un hecho (Fact) es el dato usado por la regla para tomar la decisión. Los hechos pueden ser obtenidos de diferentes fuentes de datos y alimentado al motor de reglas a través un esquema xml, una clase .NET o un registro de la base de datos.

 

Una acción (Action) es la consecuencia funcional de la evaluación de una condición de la regla. Si la condición de la regla coincide, la correspondiente acción o acciones son iniciadas. Las acciones en BRE son objetos .NET, operaciones sobre el documento xml o una tabla de la base de datos.

 

Una condición (Condition) es una expresión booleana que se componen de uno o más predicados aplicados a los hechos. Los predicados pueden ser combinados con los operadores lógicos AND, OR y NOT para formar expresiones compuestas, pero que siempre tienen un resultado booleano.

 

Para más información, he aquí el único White Paper que he podido encontrar en Microsoft, después de googlear algunas horas.

 

http://www.microsoft.com/biztalk/techinfo/whitepapers/2004/business_rules.mspx

 

 

2 pensamientos en “Business Rule Engine (BRE) de Microsoft BizTalk Server

  1. Jorge Luis

    Hola, me parece muy interesante tu artículo pero quisiera saber cual es tu fuente de información? ya que investigando he encontrado otros conceptos de reglas del negocio.Este MsnSpaces esta demasiado inflexible, pero bueno, mi página es http://ingsoftware.blogspot.com

    Responder
  2. Juan Pablo

    Hola Jorge,  Existen varios autores en el tema de reglas de negocio.  Ahora, lo que explico en este post no es el tema conceptual, como lo trata de modelar la ingeniaría de software, sino la implementación realizada en el producto de Microsoft llamado BizTalk Server, versión 2004 y 2006.
     

    Puedes encontrar referencias del producto en el sigiente link:
     
    http://www.microsoft.com/biztalk/default.mspx
     
     

    Responder

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s