 Contenido
• Introducción
• Desarrollando Reglas de Negocio en BTS
• Probando y Desplegando Reglas de Negocio en BTS
• Invocando Reglas de Negocio en BTS
• Conclusión
Introducción Este segundo artículo explica la forma en la cual se desarrollan las Reglas de Negocio utilizando las herramientas provistas por BizTalk Server 2004/2006, a su vez, el artículo explica como estas Reglas de Negocio una vez desarrolladas pueden ser invocadas desde los procesos de negocio (orquestaciones) de BizTalk Server. Desarrollando Reglas de Negocio en BTS Business Rule Composer es el editor para el desarrollo de reglas de negocio que provee BizTalk Server 2004/2006. En el Business Rule Composer se puede definir, versionar y desplegar todas las políticas de negocio y vocabularios utilizados en la implementación de la regla de negocio a la plataforma de BizTalk Server.
Cuando se desarrollan las reglas de negocio, se recomienda seguir los siguientes pasos que se explican a continuación. Primer paso: Definir el vocabulario La definición del vocabulario que se utilizará en la implementación de las reglas de negocio es el primer paso, esta definición se puede hacer en el tab de Vocabulary ubicado en la sección Facts Explorer. Al crear el vocabulario nuevos facts son adicionados, estos facts representan la fuente de datos de los términos que van a ser evaluados y están basado en elementos xml, bases de datos o miembros públicos de clases de .Net.
Una vez creado y definido el vocabulario, éste debe de ser salvado y publicado para ser utilizado posteriormente por una regla de negocio.  Adicional al tab Vocabulary, la sección Facts Explorer contiene tres opciones: Xml Schemas, Databases y .Net Classes. Estas opciones son utilizadas cuando nuevos facts que no han sido previamente publicados en el vocabulario deben ser utilizados en la regla de negocio.  Segundo Paso: Definir la política y reglas El segundo paso en la implementación de la regla es la definición de la política, para este proceso se utiliza la sección Policy Explorer. En BizTalk Server todas las reglas de negocio están lógicamente agrupadas en políticas, y estas políticas están definidas en base a un concepto del negocio en el contexto de la aplicación que las consumirá. Una vez es definida la política, las reglas que estarán contenidas en ella deberán ser creadas. Cada una de las reglas de negocio definidas deberá evaluar las condiciones establecidas y en base a esta evaluación deberá ejecutar una determinada acción.  De igual forma, al definir las reglas de negocio en la política es posible establecer la prioridad en la cual éstas se deben ejecutar. Para lograr esto se debe establecer un nuevo valor a la propiedad Priority (por defecto es 0) de cada regla creada; las reglas serán ejecutadas en orden descendente, es decir, la regla que tenga la prioridad más alta será la primera en ejecutarse y la regla que tenga la prioridad más baja será la última en ejecutarse.  Tercer Paso: Definir la lógica de la regla de negocio El tercer paso es definir la lógica para cada regla de negocio. En el editor Business Rule Componser cada regla de negocio creada se basa en una condición y una acción para su ejecución. En la condición se definen los operadores lógicos (AND, OR, NOT) que serán aplicados a los predicados, éstos corresponden a funciones u operadores que por defecto BizTalk Server provee o definidos previamente por el usuario y que evaluaran los facts previamente definidos. La siguente tabla lista los predicados provistos por defecto por BizTalk Server: Establecida la condición, se debe proceder con la definición de la acción que será ejecutada en caso que la condición evaluada sea verdadero. Una acción contempla la ejecución de una funcionalidad en específico provista por BizTalk Server, una funcionalidad previamente definida por el usuario o con la asignación de un valor a un fact previamente definido. La siguiente tabla lista las funciones provistas por defecto por BizTalk Server: Una vez implementada la lógica de la regla de negocio, el editor Business Rule Composer mostrara la definición gráficamente así:  Probando y Desplegando de Reglas de Negocio en BTS Cuando la política estÉ completa y antes de ser desplegada se recomienda hacer una prueba unitaria sobre la misma para garantizar su funcionalidad, para ello el editor Business Rule Composer ofrece la interfaz para ejecutar esta prueba unitaria. Antes de realizar la prueba es necesario especificar los valores iniciales para todos los facts definidos en el vocabulario y que son utilizados por las reglas definidas, esta especificación se realiza en una interfaz de configuración y contempla archivos XML, librerías de .Net y bases de datos.  Una vez estos valores son previstos se ejecuta la prueba y el resultado es desplegado en el mismo editor Business Rule Composer. Por último, y luego de una prueba unitaria satisfactoria se procede a desplegar la nueva política. Este procedimiento también puede realizarse desde el editor Business Rule Composer y basta con primero publicar la política y luego hacer el despliegue de la misma desde la sección Policy Explorer.  Invocando de Reglas de Negocio en BTS Una vez la regla de negocio ha sido desplegada puede ser invocada desde un proceso de negocio (orquestación) mediante un Call Rules Shape. En este shape se debe especificar cual política se va a invocar y que parámetros son necesarios para la ejecución de la política. Dichos parámetros establecen los valores iniciales de todos los facts utilizados en la ejecución de la política y pueden ser mensajes, constantes u otro tipo de fact utilizado. A continuación se muestra gráficamente como se utiliza el shape en la orquestación.  En adición a la utilización del Call Rules Shape, una política también puede ser invocada en forma programáticamente desde una orquestacion, para ello sería necesario utilizar un Expression Shape o Message Assigment Shape. Sin embargo, esta forma seria mucho más larga y complicada que la provista por el Call Rules Shape. Conclusión El editor Business Rule Composer provee un ambiente integrado para la definición, desarrollo, pruebas y despliegue de reglas de negocio. De igual forma, este editor es fácil de usar y es instalado al instalar BizTalk Server. El próximo artículo ejemplariza el desarrollo de reglas de negocio y su invocación desde una aplicación Win32 de .Net sin necesidad de utilizar una orquestación.
|