El patrón MESSAGE BROKER
Es un componente que administra
las comunicaciones entre aplicaciones. La idea es que todas las aplicaciones se
comuniquen entre sí a través de él. Las aplicaciones envían un mensaje que
contiene dos tipos de datos, datos fuera de banda y de negocio. Los primeros
son información de contexto que es usada por el MESSAGE BROKER. Un ejemplo de
estos datos es la aplicación de destino del mensaje. Los datos de negocio se refieren
específicamente a los datos que la aplicación destino requiere para efectuar la
llamada requerida por la aplicación generadora del request.
El MESSAGE BROKER administra
información de contexto que le permite hacer un MATCH entre el contenido de los
datos fuera de banda. Un ejemplo de esto es que el mensaje dice una aplicación
de destino como “aplicación_1”, “ventas”, “666”, etc. De ese identificador de
aplicación de destino el BROKER debe determinar dónde está la aplicación y cómo
se comunica con ella. Es aquí donde utiliza la información de contexto
administrada por él. En ella encuentra correlato entre el contenido del mensaje
y una dirección física y canal de trasporte.
Las cuatro responsabilidades
básicas del BROKER son:
- Recibir mensajes desde las aplicaciones
registradas. - Determinar la aplicación de destino y el canal de
comunicaciones a usar con ella. - Administrar cualquier diferencia con la interfaz de
la aplicación de destino. - Enviar el mensaje a la aplicación destino, si
corresponde responder a la aplicación de origen.
El siguiente diagrama muestra un
esquema de este patrón de integración.
¿Cómo implementarlo en BizTalk 2004?
Para implementar un MESSAGE
BROKER con BizTalk 2004 sólo es necesario hacer uso de BizTalk MESSAGING. Esto
rompe una idea recurrente en los desarrolladores los cuales piensan que toda
solución hecha en BizTalk necesariamente involucra una “orquestación”.
BizTalk MESSAGING provee varias
formas de enrutar, procesar y enviar mensajes entre
procesos de negocio. Las tareas
principales que provee el servicio de MESSAGING son:
- Recepción de documentos (mensajes).
- PARSES de los mensajes entrantes para determinar su
tipo especifico. - Extraer las llaves de identificación y valores
usados en las reglas de ruteo. - Envío de mensajes a sus respectivos destinatarios.
- Hacer traking de los
mensajes.
BizTalk utiliza un modelo llamado
“Publish and Subscribe” que
le permite mayor escalamiento, tanto en la base de datos como en el
procesamiento de los mensajes. El concepto de suscripción es el criterio que describe que tipos de
mensajes recibirá cada destinatario.
La idea es implementar un canal
de recepción de mensajes, que en jerga BizTalk sería un “puerto de recepción”,
para que las aplicaciones envíen ahí sus mensajes. Luego, según un criterio de
suscripción, el mensaje será despachado al puerto de salida que corresponda.
Esto suena muy simple, y en rigor lo es usando BizTalk.
Los pasos necesarios para
implementar el BROKER son:
- Crear un esquema de mensaje
- Promover los valores que se usaran cómo identificadores
en el criterio de suscripción. - Crear un puerto de recepción y un lugar de
recepción. - Crear los puertos de salida.
- Configurar los filtros necesarios.
- Suscribir los puertos al mensaje.
- Iniciar los puertos de entrada y salida.
Después de esto ya se tiene listo
el BROKER para un tipo de mensajes. Aquí hay que tener claridad que lo
importante es poder definir un mensaje de negocio lo suficientemente genérico
que permita tener información fuera de banda que sea usada por BizTalk e
información del negocio que será usada por la aplicación destino.
Crear el esquema del mensaje
Usando Visual Studio creamos el siguiente esquema.
<?xml version="1.0" encoding="utf-16"
?>
– <xs:schema
xmlns="http://Liarjo.Demos.BrokerWs.Mesajeria.Schema1"
xmlns:b="http://schemas.microsoft.com/BizTalk/2003"
targetNamespace="http://Liarjo.Demos.BrokerWs.Mesajeria.Schema1"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
– <xs:element
name="Root">
– <xs:complexType>
– <xs:sequence>
– <xs:element
name="HEADER">
– <xs:complexType>
– <xs:sequence>
<xs:element name="Aplicacion" type="xs:string"
/>
<xs:element name="Usuario" type="xs:string"
/>
</xs:sequence>
</xs:complexType>
</xs:element>
– <xs:element
name="BODY">
– <xs:complexType>
– <xs:sequence>
<xs:element name="Valor1"
type="xs:string" />
<xs:element name="Valor2"
type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Este esquema sólo nos da la
estructura del mensaje. Ahora debemos “destacar” que partes del mensaje
usaremos cómo criterios de la suscripción. Esto se hace promoviendo por ejemplo
el campo APLICACIÓN del TAG HEADER.
Para esto se debe apretar el
botón derecho sobre el campo y seleccionar “QUICK PROMOTION”. Esto hace que ese
valor ahora pueda ser usado en los filtros de ruteo y
criterios de suscripción. La siguiente imagen muestra el resultado de la
promoción del campo aplicación.
Amberdigital Branch,Southern Stars Enterprises Co is specializing in the development and manufacturing of mp4 advertisement players, SD card players and advertisement LCD displays. Established in 1996, we have explored and developed the international market with professionalism. We have built a widespread marketing network, and set up a capable management team dedicated to provide beyond-expectation services to our customers.
amberdigital Contact Us
Southern Stars Enterprises Co (Hong Kong Office)
Add:3 Fl, No.2, Lane 2, Kam Tsin Tsuen, Sheung Shui, Hong Kong
Tel:+852 2681 4099
Fax:+852 2681 4586
Southern Stars Enterprises Co (Shenzhen Office)
Add:DE, 16/F, Building 2, Nanguo Tower, Sungang Road, Shenzhen, China
Tel:+86 755 2592 9100
Fax:+86 755 2592 7171
E-mail:sstar@netvigator.com
website:www.amberdigital.com.hk
alibaba:amberdigital.en.alibaba.com[baafhbeeafddbbggb]
Hi,Do you need advertising displays, screen advertisings, digital sign, digital signages and LCDs? Please go Here:www.amberdigital.com.hk(Amberdigital).we have explored and developed the international market with professionalism. We have built a widespread marketing network, and set up a capable management team dedicated to provide beyond-expectation services to our customers.
amberdigital Contact Us
website:www.amberdigital.com.hk
alibaba:amberdigital.en.alibaba.com[cfebcfgbaidfad]