Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Objetivo
En esta sección se muestra cómo crear un itinerario que determine los puntos de conexión del mensaje, en función de las propiedades del contexto del mensaje, mediante una directiva del Motor de reglas de negocio (BRE) de BizTalk Server y, a continuación, enruta el mensaje mediante el adaptador de ARCHIVOS de BizTalk Server.
En este tema de cómo-hacer, realizarás los siguientes pasos:
Cree una directiva de reglas de negocios para evaluar el tipo de mensaje.
Cree una hoja de ruta para enrutar dinámicamente mediante una política de normas empresariales.
Pruebe el itinerario mediante la aplicación de ejemplo Cliente de prueba de itinerarios.
Prerrequisitos
Los procedimientos de este tema de cómo hacerlo requieren completar los requisitos previos para las actividades de desarrollo.
Pasos
Para crear una directiva BRE para enrutar un mensaje mediante propiedades de contexto de mensaje
Haga clic en Iniciar en la barra de tareas, seleccione Todos los programas, BizTalk Server y, a continuación, haga clic en Business Rule Composer.
En el Explorador de directivas, haga clic con el botón derecho en Directivasy, a continuación, haga clic en Agregar nueva directiva. Nombre la política RouteBasedOnMessageType.
Para agregar una regla de enrutamiento para pedidos de Norteamérica
En la directiva RouteBasedOnMessageType , 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 un nombre a la regla SetNAOrderEndpoint.
En la ventana Regla, haga clic con el botón derecho en Condiciones, seleccione Predicadosy, a continuación, haga clic en Igual.
En el Explorador de hechos, expanda el ESB.ContextInfo, expanda Versión 1.0 y, a continuación, arrastre el hecho Tipo de mensaje de contexto al nodo argument1 bajo Condiciones.
Nota:
Microsoft BizTalk ESB Toolkit incluye varios vocabularios que se pueden usar para crear reglas. Algunos de estos deben ser reemplazados o complementados con sus propios vocabularios. Por ejemplo, la directiva DynamicRunTimeMaptypes tiene definiciones para los mapas proporcionados en los ejemplos de GlobalBank .
Haga clic en el nodo argument2 y escriba http://globalbank.esb.dynamicresolution.com/northamericanservices/#OrderDoc
En el Explorador de hechos, expanda el vocabulario ESB.EndPointInfo, expanda Versión 1.0 y, a continuación, arrastre la definición de Establecer ubicación de transporte saliente del punto de conexión a Acciones.
Haga clic en <cadena> vacía y escriba C:\HowTos\Out\NorthAmerica%MessageID%.xml
En el Explorador de hechos, arrastre la definición de Establecer tipo de transporte saliente de punto de conexión a Acciones.
En el Explorador de hechos, expanda el ESB.TransportTypes, expanda Versión 1.0 y, a continuación, arrastre la definición Proveedores de Adaptadores a <cadena vacía>.
En el panel Acciones, expanda la lista desplegable Proveedores de adaptadores y, a continuación, haga clic en ARCHIVO.
Para publicar e implementar la directiva
En el Explorador de directivas, en la directiva RouteBasedOnMessageType , haga clic con el botón derecho en Versión 1.0 (no guardada) y, a continuación, haga clic en Publicar.
En el Explorador de directivas, en la directiva RouteBasedOnMessageType , 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 DSL (lenguaje específico del dominio) para ESB
En Visual Studio, abra C:\HowTos\Patterns\Patterns.sln.
En el 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.
En el cuadro Nombre , escriba MessageType y, a continuación, haga clic en Agregar.
Para configurar las propiedades del itinerario
En Visual Studio, haga clic en la superficie de diseño de MessageType.itinerary. En la ventana Propiedades de MessageType , configure las siguientes propiedades:
En la lista desplegable Exportador de modelos, haga clic en Exportador de itinerarios XML.
En la sección Configuración del extensor , junto a la propiedad Archivo XML de itinerario , haga clic en el botón de puntos suspensivos (...).
En el cuadro de diálogo Seleccionar archivo XML , en el cuadro Nombre de archivo , escriba C:\HowTos\Itineraries\MessageType y, a continuación, haga clic en Guardar.
Nota:
Este paso le permite exportar el itinerario como XML a una ubicación de archivo local. La exportación de un itinerario a una ubicación de archivo local, en lugar de a la base de datos de itinerarios, permite realizar pruebas del itinerario mediante la aplicación cliente de prueba de ESB. Completará este proceso más adelante en este tema de instrucciones.
Para definir la estructura del itinerario
En el cuadro de herramientas, arrastre un elemento de modelo On-Ramp a la superficie de diseño. En la ventana Propiedades de OnRamp1 , configure las siguientes propiedades:
Haga clic en la propiedad Name y escriba ReceiveOrders.
En la lista desplegable Extender , haga clic en On-Ramp ESB Extender.
En la lista desplegable Aplicación de BizTalk , haga clic en Microsoft.Practices.ESB.
En la lista desplegable Puerto de recepción , haga clic en OnRamp.Itinerary.
En el Cuadro de herramientas, arrastre un elemento de modelo de Servicio de itinerarios a la superficie de diseño y colóquelo a la derecha del elemento modelo On-Ramp . En la ventana Propiedades de ItineraryService1 , configure las siguientes propiedades:
Haga clic en la propiedad Name y escriba BreRoute.
En la lista desplegable Extensión del servicio de itinerario, haga clic en Extensión de mensajería.
Nota:
Esta propiedad define que el proceso tendrá lugar en una tubería de procesamiento de un sistema de mensajería. Como alternativa, si el proceso tendrá lugar en una orquestación, establezca la propiedad Itinerary Service Extender en Orchestration Extender.
En la lista desplegable Contenedor, despliegue ReceiveOrders y, a continuación, seleccione Controladores de recepción.
En la lista desplegable Nombre del servicio , haga clic en Microsoft.Practices.ESB.Services.Routing.
Haga clic con el botón derecho en la colección Resolver del elemento de modelo BreRoute y, a continuación, haga clic en Agregar nuevo solucionador. En la ventana Propiedades de Resolver1 , configure las siguientes propiedades:
Haga clic en la propiedad Name y escriba ByMessageType.
En la lista desplegable Implementación del solucionador, haga clic en Extensión Bre del solucionador.
En la lista desplegable Política, haga clic en RouteBasedOnMessageType v 1.0.
En el cuadro de herramientas, haga clic en Conector. Arrastre una conexión desde el elemento de modelo ReceiveOrders al elemento del modelo BreRoute .
Desde el Cuadro de herramientas, arrastre un elemento de modelo Off-Ramp a la superficie de diseño y colóquelo a la derecha del elemento del modelo BreRoute . En la ventana Propiedades de OffRamp1 , configure las siguientes propiedades:
Haga clic en la propiedad Name y escriba SendBasedOnType.
En la lista desplegable Extender , haga clic enOff-Ramp extensor ESB.
En la lista desplegable Aplicación de BizTalk , haga clic en GlobalBank.ESB.
En la lista desplegable Puerto de envío , haga clic en DynamicResolutionOneWay.
En el Cuadro de herramientas, arrastre un elemento de modelo Itinerary Service a la superficie de diseño y colóquelo entre el elemento de modelo BreRoute y el elemento de modelo SendBasedOnType. En la ventana Propiedades de ItineraryService1 , configure las siguientes propiedades:
Haga clic en la propiedad Name y escriba SendPortFilter.
En la lista desplegable Extender del servicio de itinerarios , haga clic enOff-Ramp Extender.
En la lista desplegable Off-Ramp, expanda SendBasedOnType, y a continuación, haga clic en Send Handlers.
En el cuadro de herramientas, haga clic en Conector. Arrastre una conexión desde el elemento de modelo BreRoute al elemento de modelo SendPortFilter .
En el cuadro de herramientas, haga clic en Conector. Arrastre una conexión desde el elemento de modelo SendPortFilter al elemento de modelo SendBasedOnType .
Para exportar el modelo para su uso con el cliente de prueba de itinerarios
En Visual Studio, haga clic con el botón derecho en la superficie de diseño del itinerario MessageType y, a continuación, haga clic en Exportar modelo.
Nota:
La versión XML del itinerario se abre en Visual Studio.
Guarde todos los artefactos del proyecto.
En el Explorador de Windows, vaya a C:\HowTos\Itineraries and notice the creation of your itinerary XML (MessageType.xml).
Para probar el itinerario
Abra la aplicación de ejemplo Cliente de Prueba de Itinerarios mediante el acceso directo creado durante los prerrequisitos para las actividades de desarrollo (C:\HowTos\ESB.Itinerary.Test.exe - acceso directo).
En el cliente de prueba de itinerarios, desactive la casilla Usar servicio WCF y, a continuación, haga clic en Cargar itinerario.
En el cuadro de diálogo Abrir archivo de itinerario , vaya a C:\HowTos\Itinerarios. Seleccione MessageType.xmly haga clic en Abrir para cargar el itinerario.
Haga clic en Aceptar para borrar el mensaje Itinerario cargado correctamente .
En el cliente de prueba de itinerarios, haga clic en el botón de puntos suspensivos (...) situado junto al cuadro Cargar mensaje .
En el cuadro de diálogo Seleccionar documento XML que se va a cargar , vaya a C:\HowTos. Seleccione NAOrderDoc.xmly haga clic en Abrir para cargar el mensaje de prueba.
Haga clic en el botón Enviar solicitud . Cuando finalice la prueba, haga clic en Aceptar para descartar la confirmación que aparece.
En el Explorador de Windows, vaya a C:\HowTos\Out\. Compruebe que el mensaje%MessageID%.xml NorthAmerica se ha escrito en el directorio.
Recursos adicionales
Para obtener más información, vea los siguientes temas relacionados: