Haga clic aquí para instalar Silverlight*
LatinoaméricaCambiar|Todos los sitios de Microsoft
Microsoft TechNet
|Suscríbase|Descarga|Contáctenos|Simplified

Reglas de Negocio en Biz Talk Server, Parte I

Publicado: Mayo 27, 2007
Reglas de Negocio en Biz Talk Server, Parte I

Por Carlos Medina, MVP Biz Talk Server

Introducción

Reglas de Negocio en BTS

Arquitectura de Reglas de Negocio en BTS

Configuración de Reglas de Negocio en BTS

Conclusión

Introducción

Este primer artículo forma parte de una serie que explica y ejemplifica el ambiente de trabajo que provee BizTalk Server 2004/06 para el desarrollo, pruebas, despliegue y ejecución de reglas de negocio necesarias en una aplicación. Este artículo inicia con una breve introducción a la arquitectura de las reglas de negocio en BizTalk Server. Los demás artículos tendrán contenido más práctico explicando las ventajas que ofrece la implementación y administración de reglas de negocio con el ambiente de trabajo de BizTalk Server.

Reglas de Negocio en BTS

Las reglas de negocio (Business Rules ó BR) definen y controlan las políticas en el proceso de negocio en una organización; por tal razón es importante que todos los sistemas de una compañía tengan la habilidad de cumplir con los lineamientos que estas especifican.

Anteriormente cada sistema en una organización implementaba sus propias reglas de negocio, ocasionando problemas como la descentralización de las reglas de validación lo que implicaba una incorrecta sincronización en la actualización de nuevas políticas y aumento en el mantenimiento de las aplicaciones cuando una regla cambiaba.

En este escenario, BizTalk Server 2004/06 proveen un nuevo ambiente de trabajo (framework) utilizado en la implementación y ejecución de las reglas de negocio. Business Rule Framework se interpreta como un conjunto de librerías que proveen la funcionalidad necesaria para la creación, evaluación y ejecución de cada una de las reglas de negocio establecidas previamente por el proceso. A su vez, el BRF se compone de:

Un motor de ejecución (Business Rule Engine o BRE).

Una interfaz gráfica (BizTalk Rule Composer).

Un asistente para el despliegue de reglas (BizTalk Deployment).

Business Rule Engine (BRE)

BRE implementa el mecanismo de evaluación, basado en el algoritmo Rete, para las reglas de negocio. Este algoritmo se centra en la comparación de valores (denominados “facts”) mediante patrones de comparación (denominadas “rules”) en un sistema de producción (llamado “rule engine”), en este caso el sistema de producción está formado por una o más condiciones y un conjunto de acciones las cuales deben ser ejecutadas cuando las condiciones son verdaderas. De igual forma, los elementos evaluados en una condición son los facts.

En su arquitectura interna, BRE (Business Rule Engine) se está compuesto por tres componentes:

Ruleset executor: es el responsable de evaluar y ejecutar las reglas del negocio.

Ruleset translator: toma el objeto de la regla del negocio de entrada y lo traduce en una presentación ejecutable.

Rule set tracking interceptor: toma la salida generada en la ejecución de la regla del negocio, y la envía a las herramientas de monitoreo.

Una de las principales características del BRE es que está diseñado para que las reglas de negocio puedan ser invocadas desde procesos de integración (orchestration) en BTS o desde aplicaciones desarrolladas en .Net.

Cuando las reglas de negocio son invocadas desde .Net, utilizando las librerías que BRF dispone para ello, se realiza directamente su comunicación al BRE sin afectar o interferir con los procesos de BTS en ejecución. Caso contrario ocurre cuando la regla de negocio es invocada desde un proceso de integración por una orchestration, ya que la arquitectura de BTS puede interferir con la mensajería en curso (ver gráfico).

Business Rule Engine (BRE)

Business Rule Composer

El Business Rule Composer es un diseñador grafico que puede ser utilizado por desarrolladores, analistas del negocio y/o administradores de los procesos de negocio, durante el proceso de creación e implementación. Esta herramienta es usada para autorizar, crear, desplegar y definir reglas de negocio, a su vez se compone de las siguientes vistas:

Policy Explorer: se administran las políticas y reglas. Por medio de esta vista se pueden crear, modificar y eliminar políticas y reglas, además de probarlas y publicarlas en la base de datos.

Facts Explorer: se administran los elementos facts utilizados por las reglas como vocabularios, esquemas xml, bases de datos y clases de .Net.

Conditions Editor: se utiliza para ver y editar condiciones que deberán ejecutar las reglas.

Action Editor: se utiliza para ver y editar las acciones que se deben ejecutar cuando una regla es válida.

Properties Windows: se utiliza para visualizar las propiedades.

La gráfica que se muestra a continuación muestra las vistas que se comentaron previamente.

BBusiness Rule Composer

En adición, cuando se hacen pruebas de lo desarrollado una nueva ventana aparece con todos los eventos y resultados de las reglas evaluadas.

Arquitectura de Reglas de Negocio en BTS

En BTS una regla de negocio se conforma por una o varias condiciones (condition) y a su vez ésta por una o varias acciones (action) siguiendo el formato:

IF condition THEN action

Una condition es una expresión lógica: verdadero (true) o falso (false), y está formada por predicados (predicates) que son aplicados a facts. Los predicates son una combinación de operadores matemáticos y lógicos, que combinados determinan la condition. Un action es la consecuencia de la evaluación de una condition, es decir, si la condition evaluada es true la action será ejecutada. A su vez, una action puede realizar una operación, modificar el valor de uno o mas facts o introducir/remover facts.

Los facts son el principal elemento en la definición de las reglas de negocio ya que intervienen tanto en la evaluación de la condition como en la ejecución de la action. Asimismo, un fact puede ser definido como un documento XML, un objeto de .Net, o un campo dentro de una base de datos.

Una o más reglas de negocio al ser implementadas se deben agrupar en una política (policy) de acuerdo al BRF, la cual determina la versión, despliegue y actualizaciones de las reglas de negocio que esta contiene.

Otro elemento importante en BTS acerca de las reglas de negocio es el vocabulario (vocabulary). Esto es simplemente una forma de representar los facts en términos del negocio para que estos puedan ser fácilmente interpretados por los participantes en la implementación y ejecución de una regla de negocio.

Configuración de Reglas de Negocio en BTS

BTS utiliza el Registro de Windows y SQL Server 2000/05 para almacenar los datos de configuración de ejecución y los datos relacionados con las políticas respectivas.

Registro de Windows

En el Registro de Windows se encuentra la información relacionada con la configuración del BRE como dirección de la base de datos, valores de optimización en la ejecución de las reglas de negocio, y datos de instalación, entre otras. Esta información se ubica en:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\BusinessRules\3.0

SQL Server 2000/05

SQL Server es el motor de base de datos elegido por el BRF para almacenar todas las políticas y el vocabulario necesario en la ejecución de las reglas de negocio. A continuación se muestra el diagrama de las tablas que lo conforman.

QL Server 2000/05

Conclusión

BizTalk Server provee una alternativa para el desarrollo y la ejecución de reglas de negocio, las cuales ofrecen nuevas herramientas visuales administrativas y de desarrollo adecuadas tanto a analistas del negocio como a desarrolladores, además de todo un framework basado en .Net para su implementación y futura utilización desde otros sistemas.

En el próximo artículo, ejemplificaré el desarrollo de reglas de negocio utilizando el Business Rule Composer, pruebas y despliegue de éstas.



©2016 Microsoft Corporation. Todos los derechos reservados. Póngase en contacto con nosotros |Aviso Legal |Marcas registradas |Privacidad
Microsoft