Compartir a través de


Cómo: Seleccionar un itinerario mediante una directiva de reglas de negocio

Objetivo

En esta sección se muestra cómo crear reglas de negocios que se pueden usar para seleccionar un itinerario en función del contenido de un mensaje recibido y cómo configurar el componente de canalización selector de itinerarios dentro de una rampa de itinerario genérica para llamar a estas reglas. En esta sección se describe un escenario empresarial en el que los mensajes se enrutan de forma diferente, en función de la región en la que reside el cliente.

En este tema de procedimientos, completará los pasos siguientes:

  • Itinerarios de modelo para las divisiones occidentales y orientales de Global Bank.

  • Cree directivas de reglas de negocios que se usarán para seleccionar un itinerario para procesar la solicitud.

  • Configure el componente de canalización Selector de itinerarios para usar una directiva de reglas de negocios para seleccionar el itinerario adecuado.

Requisitos previos

Los procedimientos de este tema de procedimientos requieren la finalización de los requisitos previos para las actividades de desarrollo.

Antes de empezar

Complete las tareas siguientes antes de realizar los pasos que se indican más adelante en este tema de procedimientos:

  • Cree el mensaje de prueba de GlobalBank West.

  • Cree el mensaje de prueba de GlobalBank East.

    En los procedimientos siguientes se describe cómo realizar cada uno de estos procedimientos.

Para crear el mensaje de prueba de GlobalBank West

  1. En el Explorador de Windows, vaya a C:\HowTos.

  2. Cree una copia de NAOrderDoc.xml y, a continuación, asigne un nombre al West.xml de copia.

  3. En el Bloc de notas, abra West.xml y cambie el valor del elemento customerName a GlobalBankWest.

  4. Guarde West.xml como UTF-8 y cierre el Bloc de notas.

Para crear el mensaje de prueba de GlobalBank East

  1. En el Explorador de Windows, vaya a C:\HowTos.

  2. Cree una copia de NAOrderDoc.xml y, a continuación, asigne un nombre al East.xml de copia.

  3. En el Bloc de notas, abra East.xml y cambie el valor del elemento customerName a GlobalBankEast.

  4. Guarde East.xml como UTF-8 y cierre el Bloc de notas.

Pasos

Para crear una directiva del motor de reglas de negocios (BRE) para seleccionar un itinerario mediante propiedades de mensaje personalizadas

  1. Haga clic en Iniciar en la barra de tareas, seleccione Todos los programas, seleccione BizTalk Server y, a continuación, haga clic en Compositor de reglas de negocios.

  2. En el Explorador de directivas, haga clic con el botón derecho en Directivasy, a continuación, haga clic en Agregar nueva directiva. Asigne un nombre a la directiva ResolveItineraryBasedOnCustomer.

    Nota

    En este tema de procedimientos se usan la misma directiva de reglas de negocio e itinerarios que los creados en el tema Cómo: Dividir un intercambio y enrutar los mensajes resultantes a varias ubicaciones de archivos mediante itinerarios distintos. Si ya ha completado esa sección, puede ir directamente al procedimiento " Para crear y configurar una rampa de ESB" más adelante en este tema.

Para agregar una regla de selección para el cliente GlobalBank West

  1. En la directiva ResolveItineraryBasedOnCustomer , haga clic con el botón derecho en Versión 1.0 (no guardada) y, a continuación, haga clic en Agregar nueva regla. Asigne a la regla el nombre SetGlobalBankWestItinerary.

  2. En el Explorador de hechos, haga clic en la pestaña Esquemas XML , haga clic con el botón derecho en Esquemas y, a continuación, haga clic en Examinar.

  3. En el cuadro de diálogo Archivos de esquema , vaya a C:\Projects\Microsoft.Practices.ESB\Source\Samples\DynamicResolution\Source\ESB. DynamicResolution.Schemas, seleccione NAOrderDoc.xsd y, a continuación, haga clic en Abrir.

    Nota

    Este es el esquema que define el mensaje de NAOrderDoc.xml, que se usó para crear los mensajes de Oeste y Este que se usarán para las pruebas.

  4. En el Explorador de hechos, haga clic en NAOrderDoc.xsd, haga clic en la propiedad Tipo de documento en el panel Propiedades y, a continuación, escriba GlobalBank.ESB.DynamicResolution.Schemas.NAOrderDoc.

    Nota

    Este es el nombre completo del esquema.

  5. En el Explorador de hechos, expanda NAOrderDoc.xsd y, a continuación, expanda OrderDoc.

  6. En la ventana Regla, haga clic con el botón derecho en Condiciones, seleccione Predicadosy, a continuación, haga clic en Igual.

  7. En el Explorador de hechos, arrastre el elemento customerName al nodo argument1 en Condiciones.

  8. Haga clic en el nodo argument2 y escriba GlobalBankWest.

  9. En el Explorador de hechos, haga clic en la pestaña Vocabularios . Expanda la ESB. Vocabulario de itinerarios , expanda Versión 1.1 y, a continuación, arrastre la definición Establecer nombre de itinerario a Acciones.

  10. Haga clic en <cadena> vacía y escriba GlobalBankWestItinerary.

    Nota

    Más adelante en este tema de procedimientos, creará este itinerario para procesar mensajes de GlobalBank West.

Para agregar una regla de selección para Customer GlobalBank East

  1. En el Explorador de directivas, haga clic con el botón derecho en la regla SetGlobalBankWestItinerary y, a continuación, haga clic en Copiar.

  2. Haga clic con el botón derecho en Versión 1.0 (no guardada) y, a continuación, haga clic en Pegar.

  3. En el cuadro de diálogo Nuevo nombre de regla , escriba SetGlobalBankEastItinerary y, a continuación, haga clic en Aceptar.

  4. En el Explorador de directivas, haga clic en la regla SetGlobalBankEastItinerary .

  5. En la sección Condiciones , haga clic con el botón derecho en GlobalBankWest y, a continuación, haga clic en Restablecer argumento.

  6. Haga clic en argument2 y, a continuación, escriba GlobalBankEast.

  7. En la sección Acciones , haga clic con el botón derecho en GlobalBankWestItinerary y, a continuación, haga clic en Restablecer argumento.

  8. Haga clic en <cadena> vacía y escriba GlobalBankEastItinerary.

    Nota

    Más adelante en el tema De procedimientos, creará este itinerario para procesar mensajes de GlobalBank East.

Para publicar e implementar la directiva

  1. En el Explorador de directivas, en la directiva ResolveItineraryBasedOnCustomer , haga clic con el botón derecho en Versión 1.0 (no guardada) y, a continuación, haga clic en Publicar.

  2. En el Explorador de directivas, en la directiva ResolveItineraryBasedOnCustomer , haga clic con el botón derecho en Versión 1.0 - Publicada y, a continuación, haga clic en Implementar.

Para crear un modelo de lenguaje específico del dominio (DSL) de ESB para los mensajes de GlobalBank West

  1. En Visual Studio, abra C:\HowTos\Patterns\Patterns.sln.

  2. En Explorador de soluciones, haga clic con el botón derecho en el proyecto ItineraryLibrary, seleccione Agregar y, a continuación, haga clic en Nuevo itinerario.

  3. En el cuadro de diálogo Agregar nuevo elemento , en el panel Plantillas, haga clic en ItinerarioDsl.

  4. En el cuadro Nombre , escriba GlobalBankWestItinerary y, a continuación, haga clic en Agregar.

Para configurar las propiedades del itinerario de GlobalBank West

  1. En Visual Studio, haga clic en la superficie de diseño de GlobalBankWestItinerary.itinerary. En el ventana Propiedades GlobalBankWestItinerary, configure las siguientes propiedades:

    1. En la lista desplegable Exportador de modelos, haga clic en Exportador de itinerarios de base de datos.

    2. Haga clic en el botón de puntos suspensivos (...) situado junto a la propiedad Base de datos de itinerarios .

    3. En el cuadro de diálogo Propiedades de conexión, elija el SQL Server que hospeda la base de datos del repositorio de itinerarios y, a continuación, especifique el nombre de la base de datos (el nombre predeterminado es EsbItineraryDb).

  2. En la lista desplegable Estado del itinerario , haga clic en Implementado.

    Nota

    Este paso le permite exportar el itinerario a un repositorio central; los itinerarios se pueden seleccionar y adjuntar desde este repositorio tras la recepción de mensajes. Más adelante configurará el componente de canalización selector de itinerarios para usar la resolución del motor de reglas de negocios (BRI) para evaluar los mensajes entrantes y seleccionar el itinerario adecuado de este repositorio.

Para definir la estructura del itinerario

  1. En el Cuadro de herramientas, arrastre un elemento modelo on-Ramp a la superficie de diseño. En el ventana Propiedades OnRamp1, configure las siguientes propiedades:

    1. Haga clic en la propiedad Name y escriba ReceiveNAOrder.

    2. En la lista desplegable Extender , haga clic en Extensión de servicio ESB de rampa.

    3. En la lista desplegable Aplicación de BizTalk , haga clic en Microsoft.Practices.ESB.

    4. En la lista desplegable Puerto de recepción , haga clic en OnRamp.Itinerary.

  2. Desde el Cuadro de herramientas, arrastre un elemento modelo Off-Ramp a la superficie de diseño y colóquelo a la derecha del elemento de modelo ReceiveNAOrder . En el ventana Propiedades OffRamp1, configure las siguientes propiedades:

    1. Haga clic en la propiedad Name y escriba SendNAOrder.

    2. En la lista desplegable Extender , haga clic en Extensión de servicio ESB fuera de rampa.

    3. En la lista desplegable Aplicación de BizTalk , haga clic en GlobalBank.ESB.

    4. En la lista desplegable Puerto de envío, haga clic en DynamicResolutionOneWay.

  3. En el Cuadro de herramientas, arrastre un elemento de modelo de Servicio de itinerarios a la superficie de diseño y colóquelo entre el elemento de modelo ReceiveNAOrder y el elemento del modelo SendNAOrder . En el ventana Propiedades ItineraryService1, configure las siguientes propiedades:

    1. Haga clic en la propiedad Name y escriba RouteMessage.

    2. En la lista desplegable Extender servicio de itinerarios , haga clic en Extensión del servicio de itinerarios fuera de rampa.

    3. En la lista desplegable Off-Ramp ,expanda SendNAOrdery, a continuación, haga clic en Send Handlers (Enviar controladores).

  4. Haga clic con el botón derecho en la colección Resolver del elemento de modelo RouteMessage y, a continuación, haga clic en Agregar nuevo solucionador. En el ventana Propiedades Resolver1, configure las siguientes propiedades:

    1. Haga clic en la propiedad Name y escriba StaticResolver.

    2. En la lista desplegable Implementación del solucionador , haga clic en Extensión de resolución estática.

    3. En la lista desplegable Nombre de transporte, haga clic en ARCHIVO.

    4. Haga clic en la propiedad Ubicación de transporte y escriba C:\HowTos\Out\West%MessageID%.xml.

  5. En el cuadro de herramientas, haga clic en Conector. Arrastre una conexión desde el elemento del modelo ReceiveNAOrder al elemento de modelo RouteMessage .

  6. En el cuadro de herramientas, haga clic en Conector. Arrastre una conexión desde el elemento de modelo RouteMessage al elemento de modelo SendNAOrder .

Para exportar el modelo a la base de datos de itinerarios

  1. En Visual Studio, haga clic con el botón derecho en la superficie de diseño del itinerario GlobalBankWestItinerary y, a continuación, haga clic en Exportar modelo.

    Nota

    El itinerario se ha exportado a la base de datos de itinerarios y ahora puede ser utilizado por el componente Selector de itinerarios.

  2. Guarde todos los artefactos del proyecto.

Para crear un modelo DSL de itinerarios de ESB para globalBank East message

  1. En Visual Studio, abra C:\HowTos\Patterns.sln.

  2. En Explorador de soluciones, haga clic con el botón derecho en el proyecto ItineraryLibrary, seleccione Agregar y, a continuación, haga clic en Nuevo itinerario.

  3. En el cuadro de diálogo Agregar nuevo elemento , en el panel Plantillas, haga clic en ItinerarioDsl.

  4. En el cuadro Nombre , escriba GlobalBankEastItinerary y, a continuación, haga clic en Agregar.

Para configurar las propiedades del itinerario de GlobalBank East

  1. En Visual Studio, haga clic en la superficie de diseño de GlobalBankEastItinerary.itinerary. En el ventana Propiedades GlobalBankEastItinerary, configure las siguientes propiedades:

    1. En la lista desplegable Exportador de modelos, haga clic en Exportador de itinerarios de base de datos.

    2. Haga clic en el botón de puntos suspensivos (...) situado junto a la propiedad Base de datos de itinerarios .

    3. En el cuadro de diálogo Propiedades de conexión, elija el SQL Server que hospeda la base de datos del repositorio de itinerarios y, a continuación, especifique el nombre de la base de datos (el nombre predeterminado es EsbItineraryDb).

  2. En la lista desplegable Estado del itinerario , haga clic en Implementado.

    Nota

    Este paso le permite exportar el itinerario a un repositorio central; los itinerarios se pueden seleccionar y adjuntar desde este repositorio cuando se reciben mensajes. Más adelante configurará el componente de canalización Selector de itinerarios para usar la resolución BRI para evaluar los mensajes entrantes y seleccionar el itinerario adecuado de este repositorio.

Para definir la estructura del itinerario

  1. En el Cuadro de herramientas, arrastre un elemento modelo on-Ramp a la superficie de diseño. En el ventana Propiedades OnRamp1, configure las siguientes propiedades:

    1. Haga clic en la propiedad Name y escriba ReceiveNAOrder.

    2. En la lista desplegable Extender , haga clic en Extensión de servicio ESB de rampa.

    3. En la lista desplegable Aplicación de BizTalk , haga clic en Microsoft.Practices.ESB.

    4. En la lista desplegable Puerto de recepción , haga clic en OnRamp.Itinerary.

  2. Desde el Cuadro de herramientas, arrastre un elemento modelo Off-Ramp a la superficie de diseño y colóquelo a la derecha del elemento de modelo ReceiveNAOrder . En el ventana Propiedades OffRamp1, configure las siguientes propiedades:

    1. Haga clic en la propiedad Name y escriba SendNAOrder.

    2. En la lista desplegable Extender , haga clic en Extensión de servicio ESB fuera de rampa.

    3. En la lista desplegable Aplicación de BizTalk , haga clic en GlobalBank.ESB.

    4. En la lista desplegable Puerto de envío, haga clic en DynamicResolutionOneWay.

  3. En el Cuadro de herramientas, arrastre un elemento de modelo de Servicio de itinerarios a la superficie de diseño y colóquelo entre el elemento de modelo ReceiveNAOrder y el elemento del modelo SendNAOrder . En el ventana Propiedades ItineraryService1, configure las siguientes propiedades:

    1. Haga clic en la propiedad Name y escriba RouteMessage.

    2. En la lista desplegable Extender servicio de itinerarios , haga clic en Extensión del servicio de itinerarios fuera de rampa.

    3. En la lista desplegable Off-Ramp ,expanda SendNAOrdery, a continuación, haga clic en Send Handlers (Enviar controladores).

  4. Haga clic con el botón derecho en la colección Resolver del elemento de modelo RouteMessage y, a continuación, haga clic en Agregar nuevo solucionador. En el ventana Propiedades Resolver1, configure las siguientes propiedades:

    1. Haga clic en la propiedad Name y escriba StaticResolver.

    2. En la lista desplegable Implementación del solucionador , haga clic en Extensión de resolución estática.

    3. En la lista desplegable Nombre de transporte, haga clic en ARCHIVO.

    4. Haga clic en la propiedad Ubicación de transporte y, a continuación, escriba C:\HowTos\Out\East%MessageID%.xml.

  5. En el cuadro de herramientas, haga clic en Conector. Arrastre una conexión desde el elemento del modelo ReceiveNAOrder al elemento de modelo RouteMessage .

  6. En el cuadro de herramientas, haga clic en Conector. Arrastre una conexión desde el elemento de modelo RouteMessage al elemento de modelo SendNAOrder .

Para exportar el modelo a la base de datos de itinerarios

  1. En Visual Studio, haga clic con el botón derecho en la superficie de diseño del itinerario GlobalBankEastItinerary y, a continuación, haga clic en Exportar modelo.

    Nota

    El itinerario se ha exportado a la base de datos de itinerarios y ahora puede ser utilizado por el componente Selector de itinerarios.

  2. Guarde todos los artefactos del proyecto.

Para crear y configurar una rampa de ESB

  1. Haga clic en Iniciar en la barra de tareas, seleccione Todos los programas, BizTalk Server y, a continuación, haga clic en Administración de BizTalk Server.

  2. En la consola de administración de BizTalk Server, expanda Grupo de BizTalk, expanda Aplicaciones y, a continuación, expanda Microsoft.Practices.ESB.

  3. Haga clic con el botón derecho en Ubicaciones de recepción, seleccione Nuevoy, a continuación, haga clic en Ubicación de recepción unidireccional.

  4. En el cuadro de diálogo Seleccionar un puerto de recepción , haga clic en OnRamp.Itinerary y, a continuación, haga clic en Aceptar.

  5. En el cuadro de diálogo Propiedades de ubicación de recepción , en el cuadro Nombre , escriba OnRamp.Itinerary.HowTo.

  6. En la lista desplegable Tipo , haga clic en ARCHIVO y, a continuación, haga clic en Configurar.

  7. En el cuadro de diálogo Propiedades de transporte de archivos , en el cuadro Carpeta de recepción , escriba C:\HowTos\DropFolder y, a continuación, haga clic en Aceptar.

Para configurar el componente de canalización selector de itinerarios

  1. En el cuadro de diálogo Propiedades de ubicación de recepción, en la lista desplegable Canalización de recepción, haga clic en ItinerarySelectReceiveXml y, a continuación, haga clic en el botón de puntos suspensivos (...).

  2. Use el cuadro de diálogo Configurar canalización para configurar las siguientes propiedades del componente Selector de itinerarios :

    1. Haga clic en la propiedad ItineraryFactKey y, a continuación, escriba Resolver.Itinerary.

    2. Haga clic en la propiedad ResolverConnectionString y, a continuación, escriba BRI:\\policy=ResolveItineraryBasedOnCustomer; useMsg=true; recognizeMessageFormat=true;

    3. Haga clic en Aceptar para cerrar el cuadro de diálogo Configurar canalización .

  3. Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades de ubicación de recepción .

  4. En la consola de administración de BizTalk Server, haga clic con el botón derecho en la ubicación OnRamp.Itinerary.HowTo receive location (Cómo recibir) y, a continuación, haga clic en Habilitar.

Para probar el selector de itinerarios y las reglas de negocios

  1. En el Explorador de Windows, vaya a C:\HowTos.

  2. Copie (no mueva) los archivos East.xml y West.xml a la carpeta DropFolder.

  3. Vaya a C:\HowTos\Out. Compruebe que los mensajes East%MessageID%.xml y West%MessageID%.xml se han escrito en el directorio.

    Nota

    Aunque idéntico excepto el valor del elemento customer, los mensajes se procesaron mediante itinerarios diferentes, en función de la resolución del componente de canalización selector de itinerarios.

  4. En la consola de administración de BizTalk Server, haga clic con el botón derecho en la ubicación OnRamp.Itinerary.HowTo receive y, a continuación, haga clic en Deshabilitar.

  5. Después de deshabilitar la ubicación de recepción onRamp.Itinerary.HowTo , haga clic con el botón derecho en ella y, a continuación, haga clic en Eliminar. En el cuadro de diálogo Confirmar ubicación de recepción de eliminación , haga clic en .

Recursos adicionales

Para obtener más información, vea los siguientes temas relacionados: