CBRSample (ejemplo de BizTalk Server)
El ejemplo CBRSample muestra cómo aplicar filtros y una asignación de salida para transformar y enrutar mensajes de instancias basándose en su contenido.
Descripción del ejemplo
Este ejemplo muestra el enrutamiento de un mensaje que contiene nombre, dirección e información de contacto de una de dos carpetas basándose en el código de país. En concreto, este ejemplo realiza lo siguiente:
Define un formato de mensaje de ejemplo que contiene información básica de una persona, incluida la identidad con Id. de usuario y nombre completo, dirección con código de país e información de contacto telefónico.
Promueve la propiedad CountryCode en el documento de entrada para que se pueda usar en un filtro de puerto para controlar la transformación y el enrutamiento.
Transforma el mensaje en una versión canadiense cuando CountryCode es igual a 200 o una versión de EE. UU. cuando CountryCodees igual a 100. Ambas transformaciones pasan a través de todos los datos excepto la inicial central (inicial). La versión canadiense también asigna State a Province y ZipCode a PinCode.
Enruta los mensajes estadounidenses al directorio US y los mensajes canadienses al directorio CAN.
Cómo se ha diseñado este ejemplo y por qué
El diseño se basa en las canalizaciones XML de envío y recepción predeterminadas, la promoción de propiedades, los filtros de suscripción y las asignaciones de salida en BizTalk Server para enrutar los mensajes. En la tabla siguiente se muestran los elementos de diseño y su justificación.
Elemento de diseño | Razones seleccionadas |
---|---|
Canalización de recepción XML predeterminada | - La canalización XMLReceive admite la promoción de propiedades; La canalización PassThruReceive no. - El mensaje entrante ya está en formato XML y no requiere el procesamiento más allá del desensamblaje básico y la resolución de entidad. |
Promoción de propiedades | - BizTalk Serverdepends en los campos de propiedad para realizar el enrutamiento. Los campos distintivos los utilizan las orquestaciones y no se pueden usar para enrutamiento. |
Filtro de suscripción | - El filtro de suscripción realiza el enrutamiento real mediante la captura de mensajes que cumplen uno o varios criterios basados en campos de propiedad. |
Asignación de salida | - Asigna la transformación de datos de un formato a otro. El ejemplo asigna un mensaje entrante a un formato estadounidense o canadiense. |
XMLTransmit | - Realiza un ensamblado básico de mensajes XML salientes; La canalización PassThruTransmit no proporciona compatibilidad adicional. |
Este patrón básico puede ampliarse y utilizarse para escenarios más complejos.
Ubicación del ejemplo
Este ejemplo se encuentra en <Samples Path>
\Messaging\CBRSample\.
En la tabla siguiente se enumeran los archivos del ejemplo y se describe su propósito.
Archivos | Descripción |
---|---|
CBRDataCAN.Xml, CBRDataUS.Xml | Los archivos de entrada de ejemplo que se ajustan al esquema definido en el archivo CBRInputSchema.xsd. |
CBRInput2CANMap.btm, CBRInput2USMap.btm | Archivos de asignación para las transformaciones de formato canadiense y estadounidense, respectivamente. |
CBRInputSchema.xsd, CBROutputSchemaCAN.xsd, CBROutputSchemaUS.xsd | Archivos de esquema para el formato de entrada, el formato de salida canadiense y el formato de salida estadounidense, respectivamente. |
CBRPromotedPropertySchema.xsd | Archivo de esquema para la propiedad promocionada que corresponde al elemento CountryCode en los archivos de entrada XML. |
CBRSample.btproj, CBRSample.sln | Proyecto de BizTalk y archivos de solución para este ejemplo. |
Cleanup.bat | Se utiliza para anular la implementación de ensamblados y quitarlos de la caché de ensamblados global. Quita los puertos de envío y recepción. Quita los directorios virtuales de Internet Information Services (IIS) según sea necesario. |
Setup.bat | Se utiliza para crear e iniciar este ejemplo. |
Uso del ejemplo
Use este ejemplo como ejemplo de trabajo de las acciones necesarias para enrutar un mensaje basándose en el contenido.
Crear e inicializar este ejemplo
Para crear e inicializar el ejemplo CBRSample, deberá crear e implementar el proyecto de BizTalk para este ejemplo, configurar la ubicación y el puerto de recepción, así como configurar dos puertos de envío diferentes.
Para crear e implementar el proyecto de BizTalk para este ejemplo
En una ventana de comandos, desplácese a la siguiente carpeta:
<Samples Path>
\Messaging\CBRSampleEjecute Setup.bat, que realiza las siguientes acciones:
Crea las carpetas de entrada (In) y de salida (US y CAN) para este ejemplo.
Compila e implementa el proyecto de Microsoft Visual Studio para este ejemplo.
Crea y enlaza la ubicación de recepción de BizTalk Server y los puertos de envío y recepción.
Nota:
Este ejemplo muestra la siguiente advertencia al crear y enlazar los puertos:
Advertencia: No se ha especificado el controlador de recepción para la ubicación de recepción "CBRReceiveLocation"; actualizando con el primer controlador de recepción con el tipo de transporte coincidente.
Puede omitir esta advertencia sin problemas. (Para dar cabida a posibles diferencias de nombre en las instalaciones de usuario, se han omitido del archivo de enlace el nombre del host y el controlador de recepción).
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 selecciona abrir y crear el proyecto de este ejemplo sin ejecutar Setup.bat, debe crear, en primer lugar, un par de claves de nombre seguro mediante la utilidad de nombre seguro de .NET Framework (sn.exe). Utilice este par de claves para firmar el ensamblado resultante.
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 preparar la configuración de la ubicación y el puerto de recepción, así como de los puertos de envío
En Microsoft SQL Management Studio, seleccione la base de datos de administración de BizTalk correcta.
Nota:
La base de datos de administración de BizTalk también se denomina la base de datos de configuración de BizTalk.
Para configurar, dé de alta e inicie el puerto de envío estadounidense
En la consola de administración de BizTalk Server, expanda Puertos de envío, haga clic con el botón derecho en CBRUSSendPorty, a continuación, haga clic en Editar.
En el cuadro de diálogo Propiedades de puerto de envío de One-Way estática , en el árbol de carpetas situado a la izquierda del cuadro de diálogo, seleccione Filtros & Asignación | Filtra y, a continuación, agrega una nueva fila estableciendo Property en CBRSample.CountryCode, dejando la columna Operador establecida ==en y estableciendo la columna Valor en 100.
En el árbol de carpetas situado a la izquierda del cuadro de diálogo, seleccione Filtros & Asignación | Mapas salientes, establezca map para aplicar la propiedad a CBRSample.CBRInput2USMap y, a continuación, haga clic en Aceptar. Puede que tenga que hacer clic en el botón de desplazamiento para ver la asignación.
Para configurar, dé de alta e inicie el puerto de envío canadiense
En la consola de administración de BizTalk Server, expanda Puertos de envío, haga clic con el botón derecho en C APARECERÁNSendPort y, a continuación, haga clic en Editar.
En el cuadro de diálogo Propiedades de puerto de envío de One-Way estática , en el árbol de carpetas situado a la izquierda del cuadro de diálogo, seleccione Filtros & Asignación | Filtra y, a continuación, agrega una nueva fila estableciendo Property en CBRSample.CountryCode, dejando la columna Operador establecida ==en y estableciendo la columna Valor en 200.
En el árbol de carpetas situado a la izquierda del cuadro de diálogo, seleccione Filtros & Asignación | Mapas salientes, establezca map para aplicar la propiedad a CBRSample.CBRInput2CANMap y, a continuación, haga clic en Aceptar.
Mediante estos pasos se conecta el puerto de envío al puerto de recepción. El ejemplo utiliza las propiedades promocionadas para enrutar los documentos.
Ahora, el servidor BizTalk Server estará preparado para trabajar con este ejemplo.
Ejecución del ejemplo
Utilice el siguiente procedimiento para ejecutar el ejemplo CBRSample.
Para ejecutar el ejemplo
Copie los archivos de entrada, CBRDataCAN.xml y CBRDataUS.xml, en la siguiente carpeta de entrada:
<Samples Path>
\Messaging\CBRSample\InObserve cómo cada uno de estos archivos se transforma y enruta a una de las dos carpetas de salida siguientes en función del valor de su elemento CountryCode (100 frente a 200):
BizTalk Server transforma y enruta el archivo de entrada CBRDataCAN.xml a la carpeta :
<Samples Path>
\Messaging\CBRSample\CANBizTalk Server transforma y enruta el archivo de entrada CBRDataUS.xml a la carpeta :
<Samples Path>
\Messaging\CBRSample\US
Clases o métodos usados en el ejemplo
Ninguno.
Consulte también
Canalizaciones predeterminadas
Cómo configurar asignaciones de salida para un puerto de envío
Messaging (carpeta de ejemplos de BizTalk Server)