Вы находитесь на странице: 1из 20

Introducción a los patrones en WebSphere Message Broker

V7
Ant Phillips 29-07-2011
Software Developer
IBM

WebSphere Message Broker V7 introduce los patrones en el desarrollo de flujos de mensajes. Un


patrón es una solución reutilizable que representa un enfoque probado para resolver una tarea común de
arquitectura, diseño o implementación en un contexto en particular.

Introducción
El patrón captura una solución recurrente para un problema determinado atendiendo a las metas y objetivos
buscados. La especificación de un patrón describe el problema que se aborda, la causa de la importancia
de este y las limitaciones que existen respecto de su solución. Por lo general, los patrones se derivan del
uso común y de la aplicación de un producto o tecnología en particular. Es posible usarlos para generar
soluciones personalizadas para un problema recurrente de manera eficaz.

IBM® WebSphere® Message Broker V7 proporciona patrones que:

• lo ayudan a implementar soluciones;


• aumentan la eficacia del desarrollo ya que los recursos se generan a partir de un conjunto de plantillas
predeterminadas;
• y mejorar la calidad mediante la reutilización de activos y la implementación común de funciones (p.
ej., control de errores y registro).

Patrones: generalidades
El primer paso que se debe dar al usar patrones es seleccionar el patrón adecuado. Message Broker Toolkit
cuenta con una nueva vista llamada Patterns Explorer (Explorador de patrones), que ofrece un catálogo de
patrones con ayuda detallada. Esta ayuda lo guiará hacia un patrón adecuado para resolver un problema
específico. Por ejemplo, si usted desea implementar un front-end de servicio web en el cual las solicitudes
se escriban en una cola de WebSphere MQ, Patterns Explorer lo guiará a una categoría de patrones llamada
Service Facade.

Cada uno de los patrones tiene parámetros conocidos como parámetros de patrón. Los parámetros de
patrón que usted configure dependerán del patrón en cuestión y de las opciones que se habiliten para

© Copyright IBM Corporation 2011 Marcas


Introducción a los patrones en WebSphere Message Broker V7 Pagina 1 de 20
developerWorks® ibm.com/developerWorks/ssa/

ese patrón. Un ejemplo de parámetro de patrón es un nombre de cola desde donde se leen mensajes. Los
patrones proporcionan valores predeterminados para casi todos los parámetros de patrón y vienen con ayuda
explicativa.

Una vez configurados los parámetros de patrón, genere un proyecto de instancia de patrón, que es un
proyecto de Message Broker que contiene un archivo de configuración de instancia de patrón. Este archivo
de configuración almacena los parámetros de patrón que usted configuró. La generación también crea uno
o más proyectos de Message Broker adicionales que, por lo general, contienen flujos de mensajes y otros
artefactos de Message Broker que implementan el patrón.

Es posible abrir el archivo de configuración de instancia de patrón en cualquier momento para visualizar los
valores de los parámetros de patrón. Una vez reabierto el archivo de configuración del patrón, usted podrá
regenerar los proyectos de Message Broker. Esta regeneración elimina los proyectos de Message Broker
generados y los vuelve a crear desde cero. Recuerde que, como los proyectos se eliminan por completo y se
vuelven a crear, se perderán los cambios introducidos en los proyectos.

El último paso consiste en crear un archivo de Broker Archive (BAR) para los proyectos generados y luego
implementar el archivo BAR y probar los flujos. También puede ser necesario crear recursos adicionales
como colas de WebSphere MQ. El proyecto de instancia de patrón contiene un archivo de resumen HTML
así como el archivo de configuración de instancia de patrón. El archivo de resumen tiene una sección que
explica cualquier tarea adicional que fuera necesaria, tal como la creación de colas.

Algunos de los parámetros de patrón producen cambios fundamentales en los artefactos generados. Por
ejemplo, si usted opta por habilitar el registro y el control de errores, los proyectos generados contendrán
flujos de mensajes adicionales y scripts ESQL. En este ejemplo, también será necesario crear colas de
WebSphere MQ adicionales donde los flujos de mensajes de error y de registro escribirán sus mensajes.

Antes de empezar
Este artículo presupone un conocimiento básico de WebSphere Message Broker. Se requiere la instalación
de Message Broker V7, el tiempo de ejecución de Message Broker, Message Broker Toolkit y Message
Broker Explorer (MBX). El artículo le mostrará cómo instalar el administrador de colas de WebSphere MQ
y el grupo de ejecución de Message Broker.

En este artículo, usted usará la nueva vista Brokers en Message Broker Toolkit para crear y configurar un
broker.

Explorará los patrones disponibles en Message Broker V7. En particular, se centrará en el patrón Service
Facade to WebSphere MQ: one-way with acknowledgement, que crea una fachada de servicio web en la
que los mensajes de solicitud se escriben en una cola de WebSphere MQ. Implementará una instancia de este
patrón en el broker y ejercitará la instancia de patrón usando Message Broker Test Client.

Asimismo, implementará una instancia del patrón Service Facade to WebSphere MQ: request-response,
que también escribe solicitudes de servicio web en una cola de WebSphere MQ. A diferencia del patrón
unidireccional, este patrón espera un mensaje de respuesta de WebSphere MQ antes de responder a la
solicitud de servicio web. Para ejercitar este patrón, deberá descargar rfhutil, un conocido paquete de soporte
de IBM.

Introducción a los patrones en WebSphere Message Broker V7 Pagina 2 de 20


ibm.com/developerWorks/ssa/ developerWorks®

Por último, creará y supervisará colas de WebSphere MQ con Message Broker Explorer (MBX).

Creación de un broker local


La primera tarea consiste en crear un broker y un grupo de ejecución para probar los patrones. Message
Broker V7 ya no tiene una perspectiva Message Broker Administration en Toolkit, y todas las funciones
administrativas se realizan en Message Broker Explorer (MBX). Para complementar MBX, Toolkit cuenta
con una nueva vista (Brokers) para el desarrollo de aplicaciones, que puede crear, iniciar y detener brokers e
implementar archivos BAR.

En esta sección, usted creará un broker local mediante la vista Brokers:

1. Inicie Message Broker Toolkit y seleccione la perspectiva Message Broker Application Development.
2. En la vista Brokers, haga clic con el botón derecho en Brokers y seleccione New (Nuevo) => Local
Broker (Broker local).
3. Ingrese un nombre para el broker y el administrador de colas de broker. En Microsoft® Windows®,
también debe ingresar un nombre de usuario y una contraseña, que se usarán para configurar un
servicio de Windows a fin de ejecutar el broker.
4. Haga clic en Finish para crear el broker. Podrá visualizarlo en la vista Brokers:
Figura 1. Broker local en la vista Brokers

5. Inicie MBX. El broker local broker está visible en el Navegador.

¡Felicitaciones! Ha creado con éxito un broker local para probar patrones. En la siguiente sección creará una
instancia de un patrón y la implementará en el broker local.

Exploración de patrones
La vista Broker Development (Desarrollo de brokers) muestra los proyectos del espacio de trabajo actual,
como se puede ver en la figura 2. Esta vista está dividida en tres secciones:

• La sección superior muestra el nombre del conjunto de trabajo actual, o <all resources> (<todos los
recursos>) si no hay ningún conjunto de trabajo activo.
• La sección media muestra los proyectos de instancia de patrón, que son proyectos de Message Broker
que contienen la información de configuración una vez que se genera un patrón. En breve podrá
apreciar su funcionamiento.
• La sección inferior muestra proyectos de Message Broker estándar, tales como proyectos de flujo de
mensajes y proyectos de Java. Si el espacio de trabajo no contiene ningún proyecto estándar, en la
sección inferior se podrá ver Quick Starts (Inicios rápidos).

Introducción a los patrones en WebSphere Message Broker V7 Pagina 3 de 20


developerWorks® ibm.com/developerWorks/ssa/

Figura 2. Vista Broker Development

Los patrones de Message Broker se pueden visualizar en la vista Patterns Explorer (Explorador de patrones).
Existen diversas maneras de navegar hasta la vista Patterns Explorer:

1. Haga clic en la pestaña Patterns Explorer.


2. Haga clic en New en la sección Pattern Instances (Instancias de patrón) de la vista Broker
Development.
3. Haga clic en Start from patterns (Iniciar desde patrones) en la sección Quick Starts de la vista
Broker Development:

Introducción a los patrones en WebSphere Message Broker V7 Pagina 4 de 20


ibm.com/developerWorks/ssa/ developerWorks®

Figura 3. Navegación hasta la vista Patterns Explorer

Especificaciones de los patrones


En Patterns Explorer, haga clic en la etiqueta Patterns (Patrones), ubicada en la parte superior del árbol:
aparecerá información introductoria sobre los patrones. En la etiqueta Patterns encontrará las categorías de
patrones de nivel superior, como Application Integration (Integración de aplicaciones) y File Processing
(Procesamiento de archivos). El siguiente nivel contiene categorías más específicas. Por ejemplo, en File
Processing hay una categoría llamada Record Distribution (Distribución de registros). Por último, las
etiquetas de hoja en Patterns Explorer contienen patrones de los cuales se puede crear una instancia. Los
íconos son diferentes en el caso de los patrones de hoja; esto indica que se puede crear una instancia de ellos.

Haga clic en el patrón MQ one-way with acknowledgment. La especificación del patrón se muestra en
Message Broker Toolkit, con su nombre completo: Service Facade to WebSphere MQ: one-way with
acknowledgment, e información acerca del patrón (cuándo y por qué usarlo, limitaciones).

Patterns Explorer es un excelente punto de partida a la hora de solucionar un problema. Su diseño jerárquico
permite navegar desde las categorías de patrones de nivel superior (patrones abstractos) hasta los patrones
concretos de los cuales se puede crear una instancia.

Creación de una instancia de patrón


Para crear una instancia del patrón Service Facade to WebSphere MQ: one-way with acknowledgment,
haga clic en Create New Instance (Crear nueva instancia) en la parte superior de la especificación del
patrón. Ingrese OneWay como nombre de la instancia del patrón y haga clic en OK (Aceptar).

Aparecerá un editor de configuración de patrones denominado Pattern Configuration Editor, donde podrá
configurar la instancia del patrón. Los parámetros de patrón se encuentran agrupados en diferentes secciones
como Service Information (Información de servicio), Logging (Registro) y Error Handling (Control de
errores). Use el triángulo azul para abrir cada una de estas secciones. En la figura 4 se puede observar

Introducción a los patrones en WebSphere Message Broker V7 Pagina 5 de 20


developerWorks® ibm.com/developerWorks/ssa/

que uno de los parámetros del patrón (Service WSDL) debe ser rellenado. Las verificaciones verdes que
aparecen en los otros parámetros del patrón indican que sus valores predeterminados son válidos.

Figura 4. Configuración de los parámetros de instancia de patrón

El patrón respecto del cual se crea una instancia genera una fachada de servicio web en una cola de
WebSphere MQ. Las solicitudes de servicio web que lleguen al flujo de mensajes generado se ubicarán en
una cola. Esto representa un problema habitual que debe resolverse usando Message Broker. Los servicios
web se describen mediante el Lenguaje de descripción de servicios web (WSDL), y será necesario un
archivo WSDL para crear una instancia del patrón. Para comenzar a usar los patrones rápidamente, Patterns
Explorer proporciona un archivo WSDL de muestra:

1. En la parte inferior del editor de configuración de patrones, haga clic en Specification


(Especificación).
2. Seleccione Related tasks (Tareas relacionadas) y haga clic en Resources to get you started with the
pattern (Recursos para comenzar a usar el patrón).
3. Haga clic en Import the sample resources into your workspace (Importar los recursos de muestra
al espacio de trabajo).
4. Use el asistente para crear un nuevo proyecto de conjunto de mensajes en el espacio de trabajo. Este
proyecto contiene un archivo WSDL llamado OrderService.wsdl.
5. Vuelva a la pestaña Configuration (Configuración) del editor y haga clic en Browse (Examinar).
6. Seleccione OrderService.wsdl de la lista de archivos WSDL disponibles.
7. Por último, genere la instancia de patrón haciendo clic en Generate (Generar).

Introducción a los patrones en WebSphere Message Broker V7 Pagina 6 de 20


ibm.com/developerWorks/ssa/ developerWorks®

Proyectos y archivos generados


Dos proyectos se crean en el espacio de trabajo, como se puede ver en la figura 5. El primero es un proyecto
de instancia de patrón llamado OneWay, que contiene un archivo XML con los parámetros de patrón que
usted configuró en el editor de configuración de patrones:

Figura 5. Proyectos de instancia de patrón generados

El proyecto de instancia de patrón también contiene un archivo de resumen llamado


OneWay_summary.html, que ofrece una descripción del proyecto de instancia de patrón. En este archivo de
resumen también están incluidas las tareas que se deben realizar antes que la instancia de patrón pueda ser
implementada con éxito:

Introducción a los patrones en WebSphere Message Broker V7 Pagina 7 de 20


developerWorks® ibm.com/developerWorks/ssa/

Figure 6. Archivo de resumen de la instancia de patrón

Debajo del proyecto de instancia de patrón hay un segundo proyecto denominado OneWay_Flows,
que contiene artefactos de Message Broker como flujos de mensajes y scripts ESQL. Estos artefactos
implementan el patrón y están listos para ser implementados en un broker. Pero primero observe con mayor
atención el archivo de resumen. La sección Tasks to Complete (Tareas a completar) indica que es necesario
crear dos colas de WebSphere MQ denominadas ERROR y PROVIDER. Estos nombres de cola son
parámetros de patrón, de modo que se los podría haber cambiado en el editor de configuración de patrones.

Creación de colas
Antes de implementar flujos de mensajes, cree las colas requeridas por el patrón:

1. Acceda a MBX.
2. En el administrador de colas PATTERNSQMGR, haga clic con el botón derecho en Queues (Colas) y
seleccione New => Local Queue (Cola local).
3. Ingrese ERROR como nombre de la cola y haga clic en OK.
4. Repita estos pasos para la segunda cola llamada PROVIDER. Ahora debería haber dos colas locales:

Introducción a los patrones en WebSphere Message Broker V7 Pagina 8 de 20


ibm.com/developerWorks/ssa/ developerWorks®

Figura 7. Colas ERROR y PROVIDER

Implementación del flujo de mensajes generado


El próximo paso consiste en implementar el flujo de mensajes generado. Para ello necesitará un archivo
BAR:

1. Haga clic con el botón derecho en OneWay_Flows y seleccione New => Message Broker Archive
(Archivo de Message Broker).
2. Configure Project (Proyecto) y Name (Nombre) del archivo BAR y haga clic en Finish (Finalizar).
3. En el editor del archivo BAR, seleccione el flujo de mensajes y los conjuntos de mensajes:
Figura 8. Selección de recursos para Message Broker Archive

4. Genere y guarde el archivo BAR. ¡El flujo de mensajes está listo para su implementación!
5. Arrastre y coloque el archivo BAR en el grupo de ejecución, en la vista Brokers. El archivo BAR queda
implementado en el grupo de ejecución creado anteriormente:

Introducción a los patrones en WebSphere Message Broker V7 Pagina 9 de 20


developerWorks® ibm.com/developerWorks/ssa/

Figura 9. Implementación del flujo de mensajes generados en el broker local

Cliente de prueba de Message Broker


Para ejercitar en el servicio web, use el Cliente de prueba de Message Broker:

1. Haga clic en File (Archivo) => New (Nuevo) y seleccione Message Broker Test Client (Cliente de
prueba de Message Broker)desde la categoría Message Broker.
2. Configure el Project y el Name del Cliente de prueba de Message Broker y haga clic en OK. Se creará
un nuevo archivo de Cliente de prueba de Message Broker y se abrirá un editor.
3. Ahora es necesario configurar el flujo de mensajes para la prueba. En la pestaña Configure
(Configurar), ubicada en la parte inferior del editor, haga clic en Message Flows (Flujos de mensajes)
y luego en Add (Agregar).
4. En el diálogo Resources (Recursos), seleccione Request.msgflow y haga clic en OK.
5. Haga clic en Deployment (Implementación) y seleccione la opción para implementar el archivo BAR
manualmente. También deberá seleccionar el archivo BAR correspondiente haciendo clic en Browse:
Figura 10. Selección de implementación manual de Message Broker Archive

6. Por último, es necesario definir la configuración de WebSphere MQ. Haga clic en MQ Settings
(Configuración de MQ) y deseleccione Stop when the first MQ message is received (Detener
cuando se recibe el primer mensaje de MQ). Seleccione Browse message from MQ output queue
(Examinar mensaje desde cola de salida de MQ). Estas opciones definen cómo reaccionará el
Cliente de prueba cuando ve que llegan mensajes en las colas ERROR y PROVIDER. Como los flujos
se prueban mediante una solicitud y respuesta de servicio web, solamente es necesario que el Cliente de
prueba supervise las colas.

Introducción a los patrones en WebSphere Message Broker V7 Pagina 10 de 20


ibm.com/developerWorks/ssa/ developerWorks®

Figura 11. Configuración de WebSphere MQ

7. Vuelva a la pestaña Events (Eventos). Podrá observar que se ha configurado una solicitud de servicio
web, como se puede ver en la figura 12. El Cliente de prueba lo hizo observando el flujo que usted
configuró para las pruebas. El Cliente analizó el archivo WSDL configurado en el flujo de mensajes y
generó una solicitud de servicio web adecuada para enviar el flujo, lo cual resulta muy útil. Los detalles
de la solicitud de servicio web representan un pedido de compra que se envía para iniciar una solicitud
de pedido:
Figura 12. Solicitud de servicio web: orden de compras

8. Es posible ver una versión de texto de la solicitud seleccionando Edit as text (Editar como texto) en
la lista desplegable.
9. A continuación, envíe la solicitud de servicio web al flujo de mensajes. Haga clic en Start (Iniciar), en
la barra de herramientas Test Client, y luego haga clic en Finish (Finalizar) cuando se abra el diálogo

Introducción a los patrones en WebSphere Message Broker V7 Pagina 11 de 20


developerWorks® ibm.com/developerWorks/ssa/

Deployment Location (Ubicación de implementación). Debería aparecer la siguiente secuencia de


eventos:
Figura 13. Eventos del Cliente de prueba de Message Broker

10. Haga clic en Received HTTP Reply message (Mensaje de respuesta HTTP recibido). Se podrá
visualizar el mensaje de respuesta devuelto por el flujo de mensajes. Como podrá observar, el pedido
de compra fue aceptado:
Figura 14. Mensaje de respuesta del flujo de mensajes

11. Ahora haga clic en el evento MQ Queue Monitor PROVIDER. El Cliente de prueba muestra un
mensaje colocado en la cola PROVIDER por el flujo de mensajes, como se puede ver en la figura 15.
El flujo de mensajes aceptó la solicitud de servicio web y colocó el mensaje de solicitud en la cola
PROVIDER. En una implementación real, habría una aplicación que supervisa la cola PROVIDER y
que acciona las solicitudes de pedido de compra a medida que van llegando.

Introducción a los patrones en WebSphere Message Broker V7 Pagina 12 de 20


ibm.com/developerWorks/ssa/ developerWorks®

Figura 15. Mensaje escrito en la cola PROVIDER

¡Felicitaciones! Ha implementado y ejercitado con éxito el patrón Web service facade to a WebSphere
MQ queue.

Exploración de las colas en MBX


Figura 16. Profundidades de cola una vez finalizada la ejecución de prueba

1. En MBX, haga clic con el botón derecho en la cola PROVIDER y seleccione Browse Messages
(Examinar mensajes). En el diálogo Message browser (Explorador de mensajes), podrá visualizar una
lista de los mensajes de la cola:

Introducción a los patrones en WebSphere Message Broker V7 Pagina 13 de 20


developerWorks® ibm.com/developerWorks/ssa/

Figura 17. Selección de mensaje de la cola PROVIDER para su visualización

2. Haga clic con el botón derecho del mensaje y seleccione Properties (Propiedades) => Data (Datos).
La ventana de propiedades muestra la solicitud de servicio web que usted envió usando el Cliente de
prueba.
3. También es posible borrar los mensajes de la cola PROVIDER. Haga clic con el botón derecho en el
nombre de la cola y seleccione Clear Messages (Borrar mensajes). Seleccione Queue will be cleared
using MQGET API calls (La cola se borrará al usar llamadas API MQGET) y luego haga clic en
Clear (Borrar). Borrar las colas evitará confusión al momento de probar y depurar flujos.

Eliminación del proyecto de instancia de patrón


Antes de pasar a la próxima sección de este artículo, borre sus recursos. Haga clic con el botón derecho en
el grupo de ejecución y seleccione Delete (Eliminar) => All Flows and Resources (Todos los flujos y
recursos). En la vista Broker Development, haga clic con el botón derecho en el proyecto de instancia de
patrón y seleccione Delete. En el diálogo, elimine el proyecto de instancia de patrón y el proyecto de flujo de
mensajes.

Creación de un patrón de solicitud-respuesta de servicio web


El patrón Service Facade to WebSphere MQ: one-way with acknowledgement que usted ha
implementado tomó la solicitud de servicio web y la escribió en una cola de WebSphere MQ. En esta
sección se usará un patrón más sofisticado llamado Service Facade to WebSphere MQ: request-response.
Este patrón también escribe la solicitud de servicio web en una cola de WebSphere MQ, pero, a diferencia
del anterior, espera un mensaje de respuesta en una cola de respuesta antes de enviar la respuesta de servicio
web.

1. Haga clic con el botón derecho en el patrón MQ request-response de Patterns Explorer y seleccione
Create New Instance.

Introducción a los patrones en WebSphere Message Broker V7 Pagina 14 de 20


ibm.com/developerWorks/ssa/ developerWorks®

2. Ingrese RequestResponse como nombre de la instancia de patrón.


3. En el editor de configuración de patrones, haga clic en Browse en Service WSDL y seleccione
OrderService.wsdl.
4. Seleccione Content and value (Contenido y valor) como parámetros de validación. De esta manera se
le indicará a los flujos de mensajes generados que validen todas las solicitudes y respuestas de servicio
web.
5. Abra la sección Logging y seleccione Logging required (Registro requerido).
6. Haga clic en Generate (Generar) para crear la instancia de patrón y los flujos de mensajes generados.
Figura 18. Configuración de los parámetros de la instancia de patrón

El archivo de resumen de la instancia de patrón muestra las colas adicionales que usted deberá crear:
RESPONSE, STORE, ERROR, LOG y PROVIDER.

Implementación de flujos de mensajes generados


1. Cree las colas adicionales (RESPONSE, STORE y LOG) en MBX:
Figura 19. Colas adicionales requeridas por el patrón solicitud-respuesta

2. Cree un archivo BAR que incluya los flujos de mensajes generados e impleméntelos en el broker local:

Introducción a los patrones en WebSphere Message Broker V7 Pagina 15 de 20


developerWorks® ibm.com/developerWorks/ssa/

Figura 20. Instancia de patrón implementada en el broker

Ejercitación de los flujos generados


Ahora ejercite los flujos de mensajes generados.

1. Cree otro archivo de Cliente de prueba de Message Broker.


2. Es necesario configurar el flujo de mensajes para la prueba. En la pestaña Configure, ubicada en la
parte inferior del editor, haga clic en Message Flows y luego en Add.
3. En el diálogo Resources, seleccione Request.msgflow y haga clic en OK.
4. Haga clic en Deployment y seleccione la opción para implementar el archivo BAR manualmente.
También deberá seleccionar el archivo BAR correspondiente haciendo clic en Browse:
5. Haga clic en MQ Settings y deseleccione Stop when the first MQ message is received. Seleccione
Browse message from MQ output queue. Estas opciones definen cómo reaccionará el Cliente de
prueba cuando ve que llegan mensajes en las colas ERROR y PROVIDER. Como los flujos se prueban
mediante una solicitud y respuesta de servicio web, solamente es necesario que el Cliente de prueba
supervise las colas.
6. Haga clic en Start. Aparecerá una secuencia de eventos similar a la anterior. Sin embargo, esta vez
no se recibe ningún mensaje de respuesta, ya que los flujos de mensaje esperan a que un mensaje de
respuesta llegue a una cola de WebSphere MQ antes de enviar la respuesta de servicio web:
Figura 21. Ejercitación de la instancia de patrón con un Cliente de prueba de
Message Broker

7. En MBX, observe la actividad de las colas. Podrá visualizar que se ha enviado un mensaje a las colas
PROVIDER, STORE y LOG:

Introducción a los patrones en WebSphere Message Broker V7 Pagina 16 de 20


ibm.com/developerWorks/ssa/ developerWorks®

Figura 22. Actividad de las colas una vez enviada la solicitud de servicio web

El mensaje de PROVIDER es la solicitud de servicio web enviada desde el Cliente de prueba (este
comportamiento es igual al del patrón unidireccional anterior). El mensaje de LOG es creado por los flujos
de mensaje generados cada vez que se completa un flujo de mensajes.

El concepto principal de este patrón consiste en comprender que los procesamientos de solicitudes y
de respuestas están desacoplados. El flujo de mensajes de solicitud recibe la solicitud de servicio web,
la escribe en la cola PROVIDER y finaliza (después de escribir un mensaje en la cola LOG). El flujo
de mensajes de respuesta espera en la cola de mensajes RESPONSE. Cada vez que llega un mensaje,
correlaciona los mensajes de solicitud y de respuesta (gracias a la cola STORE) y envía la respuesta.
También el flujo de mensajes de respuesta, al terminar el procesamiento, envía un mensaje a la cola LOG.

En una implementación real, habría una aplicación que procesa los mensajes de la cola PROVIDER y que
envía las respuestas a la cola RESPONSE. Para simular este comportamiento, use rfhutil:

1. Inicie rfhutil e ingrese PATTERNSQMGRcomo Queue Manager (Administrador de colas).


2. Ingrese PROVIDER como Queue Name (Nombre de cola).
3. Haga clic en Read Q (Leer cola) para leer el mensaje de la cola PROVIDER.
4. Haga clic en la pestaña Data para visualizar la solicitud de servicio web enviada por el Cliente de
prueba:
Figura 23. Mensaje escrito en la cola PROVIDER

El mensaje de la cola PROVIDER contiene un identificador de mensaje, que es usado por los flujos de
mensajes generados para correlacionar las solicitudes y las respuestas. El mensaje que se enviará a la
cola RESPONSE debe tener el mismo identificador.
5. Haga clic en Ids (Identificadores) => Save Msg Id (Guardar identificador de mensaje) para
almacenar el identificador de mensaje de PROVIDER.

Introducción a los patrones en WebSphere Message Broker V7 Pagina 17 de 20


developerWorks® ibm.com/developerWorks/ssa/

6. Copie y pegue el siguiente XML en un archivo de texto y guárdelo en el disco:


Listado 1. Mensaje de respuesta de servicios web
<test:submitPOResponse
xmlns:test="http://www.acmeOrders.com/OrderService">
<orderStatus>OK</orderStatus>
<orderAmt>999</orderAmt>
<partNo>1234</partNo>
<partQuantity>5</partQuantity>
</test:submitPOResponse>
7. En la página Main (Principal), haga clic en Open File (Abrir archivo) y abra el archivo recién
creado.
8. Haga clic en Ids => Restore Msg Id (Restaurar identificador de mensaje) para restaurar el
identificador de mensaje de PROVIDER.
9. Haga clic en la pestaña MQMD y verifique que el identificador de mensaje haya sido restaurado:
Figura 24. Identificador de mensaje de RESPONSE

10. En la pestaña Main, cambie Queue Name a RESPONSE.


11. Haga clic en Write Q (Escribir cola) y vuelva a la vista Test Client Events (Eventos de Cliente de
prueba):
Figura 25. Evento de mensajes de respuesta en el Cliente de prueba de Message
Broker

Introducción a los patrones en WebSphere Message Broker V7 Pagina 18 de 20


ibm.com/developerWorks/ssa/ developerWorks®

Podrá observar que el Cliente de prueba ha recibido un mensaje de respuesta. Si tardó más de tres
minutos entre el envío de la solicitud del servicio web y la escritura del mensaje de respuesta en la cola
RESPONSE, es posible que se haya agotado el tiempo de espera del Cliente de prueba. En este caso,
será necesario reenviar la solicitud de servicio web y repetir las acciones en rfhutil.
12. Haga clic en Received HTTP Reply message. Recibirá el siguiente mensaje de respuesta:
Figura 26. Mensaje de respuesta de la instancia de patrón

Este mensaje se corresponde con el mensaje XML que usted guardó en el archivo y escribió en la cola
RESPONSE. El flujo de mensajes de respuesta leyó su mensaje desde la cola RESPONSE. El flujo
comparó el mensaje de solicitud enviado a la cola PROVIDER. Esto se logró gracias a la cola STORE.
Luego, el flujo de mensajes de respuesta envió la respuesta al Cliente de prueba.

¡Felicitaciones! Ha creado, implementado y ejercitado con éxito el patrón Service Facade to WebSphere
MQ: request-response. Ya trabajó con dos de los patrones de Message Broker... anímese a usar algunos
más. Tal vez desee conocer los detalles de los flujos generados que implementan el patrón Service Facade to
WebSphere MQ: request-response.

Conclusión
En este ejercicio, usted:

1. Conoció los patrones de Message Broker y Pattern Explorer.


2. Creó un broker local con la nueva vista Brokers.
3. Creó una instancia del patrón Service Facade to WebSphere MQ: one-way with acknowledgement.
4. Implementó y ejercitó el patrón mediante el Cliente de prueba de Message Broker.
5. Creó una instancia del patrón Service Facade to WebSphere MQ: request-response.
6. Implementó y ejercitó el patrón mediante el Cliente de prueba de Message Broker y rfhutil.
7. Creó y supervisó colas con Message Broker Explorer (MBX).

Introducción a los patrones en WebSphere Message Broker V7 Pagina 19 de 20


developerWorks® ibm.com/developerWorks/ssa/

Sobre el autor
Ant Phillips

Ant Phillips es Software Developer en el Java Technology Centre de IBM en Hursley, Reino
Unido. Actualmente, su atención se centra en WebSphere sMash, un entorno simple que
permite crear aplicaciones Web dinámicas. Antes de formar parte de IBM, Ant era el jefe
técnico de un innovador emprendimiento con sede en Newbury, Reino Unido. En sus vidas
pasadas, trabajaba para Sony® y para Microsoft® y disfrutaba mucho de sus visitas a Tokio,
Seattle y otros lugares del planeta. En su tiempo libre, hace tanto deporte como su esposa y sus
dos hijos se lo permiten.

© Copyright IBM Corporation 2011


(www.ibm.com/legal/copytrade.shtml)
Marcas
(www.ibm.com/developerworks/ssa/ibm/trademarks/)

Introducción a los patrones en WebSphere Message Broker V7 Pagina 20 de 20

Вам также может понравиться