Richiamo del broker di un servizio Web esistente

In questo scenario, il broker richiama l'implementazione di un servizio Web esistente.

Nel diagramma viene descritto un file WDSL associato a un servizio Web importato in una serie di messaggi. La serie di messaggi viene distribuita a un flusso in un broker.

Legenda dei simboli:

Nel diagramma vengono descritti i simboli utilizzati negli altri diagrammi, che non vengono riportati perché dispongono ciascuno delle proprie descrizioni.

Possibili utilizzi

Procedura di progettazione

  1. Importare WSDL per creare una serie di messaggi in cui sono contenute definizioni per i messaggi SOAP descritti dal WSDL.
  2. Creare un flusso di messaggi per richiamare il servizio Web. Se il canale di trasmissione del servizio Web è HTTP, verrà utilizzato un nodo HTTPrequest. Se il canale di trasmissione del servizio Web è JMS, verrà utilizzato il JMS appropriato o nodi WebSphere MQ.

Runtime

Il flusso di messaggi crea una richiesta di servizio Web formattata in modo appropriato, richiama il servizio Web e analizza la risposta del servizio Web.

Esempio 1

In questo esempio il broker agisce come intermediario per il servizio Web.

  1. Creare un flusso di messaggi con nodi: HTTPInput, HTTPRequest e HTTPReply.
  2. Il client del servizio Web crea una richiesta del servizio Web. Questa viene indirizzata al nodo HTTPInput dal broker.
  3. Il flusso di messaggi elabora il messaggio.
  4. Il nodo HTTPRequest invia una richiesta al servizio Web originale e riceve la risposta.
  5. Il flusso crea una risposta del servizio Web e la inserisce nel nodo HTTPReply. E' possibile che la risposta sia basata completamente o in parte sulla risposta ricevuta dal nodo HTTPRequest.
  6. Il broker invia la risposta al client del servizio Web.

Se le informazioni vengono richieste in un formato differente da un'altra applicazione abilitata per WebSphere MQ, il flusso di messaggi è in grado di impostare l'invio del messaggio prima a un nodo MQOutput per consentirne la trasmissione a tale applicazione prima di continuare fino al termine del flusso e al nodo HTTPReply che invia la risposta del servizio Web prevista. I nodi Compute appropriati vengono richiesti per trasformare il messaggio (se necessario) e per manipolare le intestazioni del messaggio (ad esempio, aggiungendo un'intestazione MQMD).

Esempio 2

In questo esempio il broker fornisce il controllo per un servizio Web.

  1. Si progetta un flusso di messaggi che comprende un nodo HTTPInput connesso al nodo Warehouse.
  2. Il messaggio di input ricevuto dal client del servizio Web viene memorizzato nel database dal nodo Warehouse.
  3. Il nodo Warehouse trasmette il messaggio a un nodo HTTPRequest, che interagisce con il servizio Web.
  4. Quando viene ricevuta la risposta, il nodo HTTPRequest la trasmette al nodo HTTPReply.
  5. Il nodo HTTPReply crea la risposta per il client del servizio Web.

Esempio 3

Il flusso di WebSphere MQ interagisce con un servizio Web
Si progetta un flusso di messaggi di WebSphere MQ con accesso a un servizio Web su connessione HTTP. Ad esempio, si crea un flusso di messaggi che supporta un'elaborazione per il reparto Risorse umane dell'azienda. E' necessario che l'elaborazione recuperi i numeri ID dei dipendenti e migliori il messaggio con queste informazioni. Gli ID dei dipendenti sono mantenuti nella directory dei dipendenti dell'azienda a cui si accede mediante un servizio Web.
Rappresenta un flusso di messaggi con i nodi MQInput, Compute1, HTTPRequest, Compute2 e MQOutput. Il nodo HTTPRequest interagisce con il server delle directory aziendale su una connessione HTTP.

In questo scenario, si sostituisce la casella di spunta Sostituisci messaggio di input con risposta ai servizi Web nelle proprietà del nodo HTTPRequest e si sposta la risposta dal server delle directory aziendale in una posizione temporanea nell'albero dei messaggi specificato nella proprietà Rispondi a richiesta della posizione dei messaggi nella struttura nello stesso nodo. In Compute2, si codifica la decompressione del risultato e il miglioramento del messaggio finale mediante ESQL come appropriato.

Esempio 4

Il flusso di messaggi agisce come intermediario del servizio Web
Si progetta un flusso di messaggi che interagisce con un servizio Web che ha aggiornato l'interfaccia per conto dei client del servizio Web che non sono consapevoli della nuova interfaccia. Questo nuovo flusso di messaggi consente ai client più vecchi di accedere al server utilizzando le nuove interfacce senza aggiornare le proprie interfacce.
Rappresenta un flusso di messaggi con i nodi HTTPInput, Compute1, HTTPRequest, Compute2 e HTTPReply. Il nodo HTTPRequest interagisce con il server delle directory aziendale su una connessione HTTP.

Codificare ESQL in modo da mappare la richiesta del client a una richiesta del server in Compute1 e la risposta del server alla risposta del client in Compute2. E' possibile definire la richiesta, la risposta e i messaggi di risposta nel dominio MRM per semplificare la trasformazione da un formato all'altro.

E' possibile configurare il nodo HTTPRequest in modo da creare intestazioni HTTP dalle intestazioni ricevute dal nodo HTTPInput, che consente di far passare cookie e altri tipi di intestazioni di applicazioni. Il nodo HTTPReply è in grado di fornire un'attività equivalente per estrarre intestazioni dalla risposta proveniente dal servizio Web da restituire al client di origine. Se si desidera effettuare tale operazione, selezionare la casella di spunta Crea intestazioni HTTP predefinite da... appropriata in entrambi i nodi HTTPRequest e HTTPReply.

Nella maggior parte degli scenari, la richiesta originale non ha valore ed è necessaria solo la risposta dal servizio per essere in grado di creare il messaggio di risposta del client. In tal caso, selezionare la proprietà Sostituisci messaggio di input con risposta ai servizi Web nel nodo HTTPRequest. Se si desidera conservare i dati dalla richiesta di input, è possibile memorizzarli in LocalEnvironment in Compute1 e recuperarli in Compute2 per includerli nella risposta.

Concetti correlati
Servizi Web, flussi di messaggi e WSDL
Implementazione del broker di un'interfaccia del servizio Web nuova
Implementazione del broker di un'interfaccia del servizio Web esistente
Implementazione del broker di un'interfaccia di un servizio diverso da Web per un servizio Web nuovo
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ac34530_