Este apartado proporciona una visión general de la implementación de un servicio web SOAP/JMS utilizando el nodo MQGet y describe los costes y las ventajas de esta propuesta.
Si se utiliza un patrón de petición-respuesta síncrono, se enviará el mensaje de solicitud utilizando un nodo MQOutput y, a continuación, la respuesta se recibirá incorporada con un nodo MQGet.
Un flujo como el del diagrama simplificado siguiente permitirá la conversión síncrona de SOAP sobre HTTP a SOAP sobre JMS:
El flujo anterior proporciona un mecanismo simple para implementar una conversión síncrona de HTTP a SOAP sobre JMS en la que cada petición HTTP de entrada se procesa completamente y se responde antes de pasar a la siguiente. La anomalía del servicio SOAP sobre JMS la manejará el valor de un tiempo de espera en el nodo MQGet. Otra ventaja de este modelo de flujo es que la conversión completa de petición-respuesta se maneja en una sola transacción lo que permite una restitución y recuperación simples.
Es posible que este flujo síncrono no sea apropiado en casos donde el proceso SOAP sobre JMS tenga una ejecución larga, dado que el proceso de otras peticiones HTTP de entrada no se iniciará hasta que se haya completado la petición actual. En estos casos, el flujo de mensajes se diseñará mejor de forma asíncrona, con flujos de peticiones y respuestas independientes y con el contexto de correlación necesario guardado en un soporte de almacenamiento del flujo de peticiones y restaurado durante el flujo de respuestas. Una posible solución consiste en utilizar una cola para almacenar el contexto de correlación necesario y utilizar un nodo MQGet del flujo de respuestas para recuperarlo. Este diseño de flujo permite despachar las peticiones HTTP al servicio SOAP sobre JMS a medida que se reciben y devolver las respuestas a HTTP entregándolas en el orden en que se reciben. Esto evitará, por ejemplo, que las peticiones de consulta de ejecución rápida queden bloqueadas por una petición de actualización de ejecución más larga.
El escenario de petición-respuesta asíncrono se describe en Utilización de un nodo MQGet en un flujo de petición-respuesta.
El escenario de petición-respuesta asíncrono se detalla también en el ejemplo de Ejemplo de respuesta de petición coordinada que se puede adaptar para el uso de servicio web.
Se describe otro escenario de servicios web en el ejemplo: Ejemplo Sistema principal de servicio web.