Introducción a los patrones en WebSphere Message Broker V7

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.

Ant Phillips, Software Developer, IBM

Photo: Ant PhillipsAnt 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.



29-07-2011

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 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.

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
    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).
    Figura 2. Vista Broker Development
    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:
    Figura 3. Navegación hasta la vista Patterns Explorer
    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 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
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).

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
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:

Figure 6. Archivo de resumen de la instancia de patrón
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:
    Figura 7. Colas ERROR y PROVIDER
    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
    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:
    Figura 9. Implementación del flujo de mensajes generados en el broker local
    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
    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.
    Figura 11. Configuración de WebSphere MQ
    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
    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 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
    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
    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.
    Figura 15. Mensaje escrito en la cola PROVIDER
    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
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:
    Figura 17. Selección de mensaje de la cola PROVIDER para su visualización
    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.
  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
    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
    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:
    Figura 20. Instancia de patrón implementada en el broker
    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
    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:
    Figura 22. Actividad de las colas una vez enviada la solicitud de servicio web
    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
    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.
  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
    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
    Evento de mensajes de respuesta en el Cliente de prueba de Message Broker

    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
    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).

Recursos

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=WebSphere
ArticleID=463055
ArticleTitle=Introducción a los patrones en WebSphere Message Broker V7
publish-date=07292011