SOAP su JMS utilizzando il nodo MQGet

Questa è una panoramica dell'implementazione di un servizio Web SOAP/JMS utilizzando il nodo MQGet e vengono descritti i costi e i benefici di tale approccio.

Quando si utilizza un modello di risposta-richiesta sincrono, il messaggio di richiesta viene inviato utilizzando un nodo MQOutput e la risposta viene ricevuta con inlining con un nodo MQGet.

Un flusso uguale a quello nel diagramma semplificato riportato di seguito abilita la conversione di SOAP-su-HTTP in SOAP-su-JMS sincrona:

Nel diagramma viene descritto un flusso composto dai seguenti nodi, da sinistra a destra; l'output di ciascun nodo viene immesso nell'input del nodo successivo: HTTPInput, Compute 1, MQOutput, MQGet, Compute 2 e HTTPReply.

Il flusso riportato sopra fornisce un meccanismo semplice per implementare una conversione sincrona di HTTP in SOAP-su-JMS in cui ciascuna richiesta HTTP in entrata viene elaborata in modo completo; a tale richiesta viene inoltre fornita una risposta prima di procedere a quella successiva. Un errore del servizio SOAP-su-JMS è gestito impostando un timeout nel nodo MQGet. Inoltre, tale modello di flusso comporta il vantaggio che la conversione completa richiesta-risposta viene gestita in una transazione singola che consente il ripristino e il rollback semplice.

E' possibile che tale flusso sincrono non sia appropriato nei casi in cui l'elaborazione di SOAP-su-JMS sia prolungata poiché l'elaborazione di altre richieste HTTP in entrata non viene avviata fino al completamento della richiesta corrente. In questi casi progettare il flusso di messaggi in modo asincrono, con flussi di richiesta e di risposta separati e con il salvataggio di qualsiasi contesto di correlazione richiesto in un supporto di memorizzazione nel flusso di richiesta e il relativo ripristino durante il flusso di risposta. Una possibile soluzione è l'utilizzo di una coda per memorizzare il contesto di correlazione richiesto e di un nodo MQGet nel flusso di risposta per recuperarlo. Tale progettazione del flusso consente di inviare richieste HTTP al servizio SOAP-su-JMS poiché vengono ricevute e restituite nuovamente all'HTTP nell'ordine in cui vengono ricevute. Effettuando tale operazione è possibile, ad esempio, impedire che le richieste di rapida esecuzione siano bloccate da una richiesta di aggiornamento di esecuzione prolungata.

Lo scenario di richiesta-risposta asincrona è descritto in Utilizzo di un nodo MQGet in un flusso di richiesta-risposta.

Lo scenario di richiesta-risposta asincrona è inoltre descritto nei dettagli in esempio Richiesta/Replica coordinate, adattabile all'utilizzo del servizio Web.

Un altro scenario dei servizi Web è descritto in: esempio Host servizio Web.

Concetti correlati
Panoramica dei flussi di messaggi
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ac34660_