Business Rules Hello World2 (ejemplo de BizTalk Server)

El ejemplo Hello World2 de reglas de negocios amplía el ejemplo Hello World1 de reglas de negocios mostrando cómo crear versiones, publicar e implementar el conjunto de reglas XML en el almacén de reglas SQL compartido y cómo ejecutar la directiva mediante el objeto Policy proporcionado por el Marco de reglas de negocios. El ejemplo también muestra las actualizaciones de directivas dinámicas en funcionamiento.

Nota

Este ejemplo da por supuesto que el usuario ha instalado el Servicio de actualización de motor de reglas y los Componentes de reglas de negocios (situados en el nodo "Software adicional") durante la instalación del producto.

Nota

Los objetos Policy se usan para integrar el motor de reglas en cualquier aplicación independiente. El objeto Policy es la abstracción a través de la cual se administran varias instancias del motor de reglas, los conjuntos de reglas se recuperan y crean instancias del almacén SQL compartido, y las actualizaciones de las directivas se recuperan y publican en la aplicación de hospedaje.

Para obtener información básica sobre el conjunto de reglas definido y los hechos de ejemplo construidos por este ejemplo, vea Business Rules Hello World1.

Descripción del ejemplo

En este ejemplo se crea un ejecutable que realiza la secuencia de pasos siguiente:

  1. Llama al método CreateRuleset para compilar el conjunto de reglas descrito en la sección Comentarios.

  2. Llama al método SaveToFile para mostrar cómo guardar un conjunto de reglas en un archivo.

  3. Llama al método LoadFromFile para mostrar cómo cargar un conjunto de reglas desde un archivo.

  4. Implementa el conjunto de reglas en un almacén de reglas SQL compartido.

  5. Ejecuta el conjunto de reglas mediante un objeto Policy y con el mismo conjunto de hechos de ejemplo usados en el ejemplo Hello World1 de reglas de negocios.

  6. Pausa, lo que le permite modificar el archivo del conjunto de reglas SampleRuleStore.xml de una manera específica.

  7. Vuelve a ejecutar el conjunto de reglas con un objeto Policy , el conjunto de reglas modificado y, de nuevo, con el mismo conjunto de hechos de ejemplo usados en el ejemplo Hello World1 de reglas de negocios.

  8. Realiza una limpieza mediante la eliminación del archivo de conjunto de reglas y de los registros del conjunto de reglas implementados en preparación de la ejecución posterior del ejemplo.

Nota

Para obtener información importante sobre todos los ejemplos de este SDK, consulte Ejemplos.

Ubicación del ejemplo

<Ruta de> acceso de ejemplos\Reglas de negocios\Reglas de negocios Hello World2\

En la tabla siguiente se enumeran los archivos del ejemplo y se describe su propósito.

Archivos Descripción
App.ico, AssemblyInfo.cs, BusinessRulesHelloWorld2.csproj, BusinessRulesHelloWorld2.sln Proyectos, soluciones y archivos relacionados para la parte de este ejemplo que crea, guarda, carga, implementa y ejecuta un conjunto de reglas.
HelloWorld2.cs Archivo de Visual C# que contiene métodos para demostrar cómo crear un conjunto de reglas, guardar un conjunto de reglas en un archivo, cargar un conjunto de reglas desde un archivo, implementar el conjunto de reglas en un almacén de reglas compartido de Microsoft SQL Server y, a continuación, ejecutar el conjunto de reglas mediante un objeto Policy.
Cleanup.bat Se utiliza para anular la implementación de ensamblados y quitarlos de la caché de ensamblados global (GAC). Quita los puertos de envío y recepción. Quita los directorios virtuales de los Servicios de Microsoft Internet Information (IIS) según sea necesario.
SampleDocumentInstance.xml El archivo de entrada de ejemplo que se ajusta al esquema definido en el archivo SampleSchema.xsd.
SampleSchema.xsd El archivo de esquema que define un esquema simple con un elemento al que hace referencia el conjunto de reglas creado en el archivo de Visual C# Class1.cs.
Setup.bat Se utiliza para crear e iniciar este ejemplo.
En la carpeta \HelloWorld2Library:

AssemblyInfo.cs, HelloWorld2Library.csproj, HelloWorld2Library.sln
Proyectos, soluciones y archivos relacionados para la parte de este ejemplo que proporciona la clase que define los objetos a los que hace referencia el conjunto de reglas creado.
En la carpeta \HelloWorld2Library:

HelloWorld2LibraryClass.cs
Archivo de Visual C# que contiene la propiedad a la que se hace referencia en la parte IF de la regla creada y el método al que se puede llamar en la parte THEN de la regla creada.

Para crear e inicializar el ejemplo Business Rules Hello World2

  1. En una ventana de comandos, desplácese a la siguiente carpeta:

    <Ruta de> acceso de ejemplos\Reglas de negocios\Reglas de negocios Hello World2\

  2. Ejecute el archivo Setup.bat que realiza las acciones siguientes:

    • Compila e implementa los proyectos de Visual Studio para este ejemplo.

    Nota

    Debe confirmar que BizTalk Server no ha notificado ningún error durante el proceso de generación e inicialización antes de intentar ejecutar este ejemplo.

    Nota

    Si decide abrir y compilar los proyectos de este ejemplo sin ejecutar el archivo Setup.bat, primero debe crear un par de claves de nombre seguro mediante la utilidad de nombre seguro (sn.exe) de .NET Framework. Utilice este par de claves para firmar los ensamblados resultantes.

    Nota

    Para deshacer los cambios realizados por Setup.bat, ejecute Cleanup.bat. Debe ejecutar Cleanup.bat antes de ejecutar Setup.bat por segunda vez.

Para ejecutar el ejemplo Business Rules Hello World2

  1. En una ventana de comandos, desplácese a la siguiente carpeta:

    <Ruta de> acceso de ejemplos\Reglas de negocios\Reglas de negocios Hello World2\bin\Debug\

  2. En la ventana de comandos, escriba el nombre del archivo para este ejemplo (BusinessRulesHelloWorld2.exe) y presione ENTRAR.

Resultado de Hello World2

En función de la naturaleza del conjunto de reglas creado, descrito en la sección Comentarios de Business Rules Hello World1, si ejecuta este ejemplo con el archivo de entrada de ejemplo proporcionado SampleDocumentInstance.xml, que tiene un valor de uno (1) definido para su elemento ID , verá la siguiente salida:

Creating a new ruleset ...  
Saving ruleset to SampleRuleStore.xml ...  
Loading ruleset ...  
Deploying the ruleset ...  
Sleeping for 60 seconds (so that the deployed ruleset becomes effective) ...  
Grabbing the policy ...  
Executing the policy...  
MySampleBusinessObject Class -- MySampleMethod executed for object 2 with parameter 5  
MySampleBusinessObject Class -- MySampleMethod executed for object 3 with parameter 5  
The major version of the policy was: 1  
The minor version of the policy was: 0  
Press the ENTER to continue after updating the policy...  

Nota

La salida que se muestra en negrita es la salida generada por el objeto de negocio de ejemplo, definida por los archivos de la carpeta HelloWorld2Library a la que hace referencia el conjunto de reglas. En este punto, la aplicación se queda esperando en este estado.

La siguiente parte de la ejecución de este ejemplo conlleva el uso del Compositor de reglas de negocios para cambiar las reglas de negocios.

Para usar el Compositor de reglas de negocios para cambiar las reglas de negocios

  1. Para abrir el Compositor de reglas de negocios, haga clic en Inicio, Todos los programas, Microsoft BizTalk Server 20xx y, a continuación, haga clic en Compositor de reglas de negocios.

    Nota

    En un sistema que admita el Control de cuentas de usuario (UAC), es posible que deba ejecutar la herramienta con privilegios administrativos. Para ello, haga clic con el botón derecho en la aplicación y seleccione Ejecutar como administrador.

  2. Si aparece un cuadro de diálogo de SQL Server en el equipo que ejecuta SQL Server, haga clic en Aceptar para conectarse al almacén de reglas.

  3. En el Explorador de directivas, debajo del nodo SampleRuleSet , haga clic con el botón derecho en el nodo Versión 1.0 – Implementada y, a continuación, haga clic en Copiar.

  4. Haga clic con el botón derecho en SampleRuleSet y, a continuación, haga clic en Pegar (versión de directiva).

  5. Puede cambiar la condición de regla y la acción en función de sus necesidades. Para este procedimiento, haga clic en rule1 en la versión 1.1 (no guardada). En el panel derecho, haga clic con el botón derecho en Condiciones y, a continuación, haga clic en Agregar NOT lógico. Agregar una operación NOT lógica a No igual a predicado equivale a usar un predicado igual .

  6. Haga clic con el botón derecho en el nodo Versión 1.1(no guardada) y, a continuación, haga clic en Guardar. Vuelva a hacer clic con el botón derecho y, a continuación, haga clic en Publicar. Haga clic con el botón derecho en una tercera vez y haga clic en Implementar.

  7. En la ventana de comandos pausada que le pide que presione cualquier tecla para continuar tras la actualización de la directiva, presione cualquier tecla.

    El resultado (dando por supuesto que ha cambiado la regla mediante la agregación de un operador lógico NOT) del archivo ejecutable BusinessRulesHelloWorld2.exe continúa de la siguiente forma:

Sleeping for 60 seconds (so that the deployed ruleset becomes effective) ...         
Grabbing the policy ...         
Executing the policy...         
MySampleBusinessObject Class -- MySampleMethod executed for object 1 with parameter 5         
The major version of the policy was: 1         
The minor version of the policy was: 1         
Press ENTER to continue after updating the policy...         

Observe cómo ha cambiado el resultado:

  • La línea de salida del método MySampleMethod solo imprime una vez ahora, para la instancia de la clase MySampleBusinessObject para la que la propiedad MyValue es igual a 1, en lugar de la regla anterior de impresión cuando la propiedad MyValue no es igual a 1.

  • El número de la versión secundaria de la directiva es ahora 1.

Consulte también

Reglas de negocio (carpeta de ejemplos de BizTalk Server)