Web-Services, WSDL und Nachrichtenflüsse

Der Begriff Web-Service bezieht sich hier auf eine Schnittstelle, die durch eine WSDL-Definition beschrieben wird und auf die über eine der vom Broker unterstützten Transportmethoden, z. B. HTTP, JMS oder MQ, zugegriffen werden kann.

Beschreibungen der Transportmethoden finden Sie in folgenden Abschnitten:

WSDL

Der logische Teil einer WSDL-Definition beschreibt das Format der Geschäftsnachrichten, die ausgetauscht werden sollen, und kann vom Broker importiert werden, um zur Entwicklungszeit ein Nachrichtenmodell zu erstellen (Siehe Aus WSDL-Datei importieren.)

Der physische Teil einer WSDL-Definition beschreibt die tatsächlichen Endpunkte für den Service und das für den Austausch von Nachrichten verwendete Protokoll. Die physischen Binding-Informationen werden zur Entwicklungszeit nicht importiert. Sie müssen das Protokoll und die Endpunktdetails wie folgt in einem Nachrichtenfluss implementieren:
  • Mit Hilfe der Binding-SOAP/HTTP; in diesem Fall implementieren Sie einen Nachrichtenfluss unter Verwendung von HTTP-Knoten (HTTPEmpfangs- und HTTPAntwortknoten, wenn ein Nachrichtenfluss einen Web-Service implementiert, bzw. HTTPAnforderungsknoten, wenn ein Nachrichtenfluss einen Web-Service aufruft).
  • Mit Hilfe der Binding-SOAP/JMS; in diesem Fall implementieren Sie einen Nachrichtenfluss unter Verwendung von JMS- oder MQ-Knoten.
  • Sie können Nachrichtenflüsse konfigurieren, die Eingabenachrichten von Clients über eine der Transportmethoden empfangen und über eine andere mit einem Web-Service oder einer traditionellen Anwendung interagieren.
  • Sie können eine Nachricht an mehrere Zieladressen weitergeben, z. B. kann die Web-Service-Antwort, die von einem HTTPAntwortknoten an einen Client zurückgegeben werden soll, zuerst über einen MQSendeknoten (der erforderliche Anpassungen der Nachrichtenheader durchführt) an eine Überwachungsanwendung gesendet werden.

Sie können eine WSDL-Definition auch auf Basis eines vorhandenen Nachrichtenmodells generieren. In diesem Fall müssen Sie die physischen Binding-Information selbst bereitstellen (Siehe Web-Service-Definition aus einer Nachrichtengruppe generieren.)

Bei den hier beschriebenen WSDL-Bindings handelt es sich um spezielle Bindings, die direkt vom WSDL-Generator-Assistenten unterstützt werden:
  • SOAP/HTTP
  • SOAP/JMS
Das heißt, es sind Bindings, in denen SOAP, das in der MRM-Domäne als XML ausgewertet werden kann, als Nachrichtenformat verwendet wird. Es ist jedoch zu beachten, dass die allgemeine Definition eines Web-Services breiter gefasst ist und auch andere Nachrichtenformate als SOAP (z. B. XML-RPC) und andere Transportmethoden als HTTP oder JMS (z. B. SMTP) zulässt.
Der Ausgangspunkt ist normalerweise:
  • ein vorhandenes Nachrichtenmodell, das einem Client zugänglich gemacht werden muss (WSDL-Generierung erforderlich)
  • eine vorhandene WSDL-Definition, die es dem Broker ermöglicht, mit einem Web-Service zu interagieren (WSDL-Import erforderlich)

In beiden Fällen empfängt der Broker Nachrichten zur Laufzeit auf Basis der WSDL-Definition, die zur Entwicklungszeit generiert oder importiert wurde.

(Weitere Informationen zu WSDL finden Sie unter Beziehung zwischen WSDL-Definition und Nachrichtenmodell und WSDL-Gültigkeitsprüfung).

Szenarios

Ein Broker-Nachrichtenfluss kann
  • externe Web-Services aufrufen
  • einen Web-Service implementieren
  • beide der genannten Aktionen ausführen
Wenn der Broker mit einem bestehenden Web-Service interagieren muss:
Für diesen Service kann mit Hilfe des neuen WSDL-Importprogramms eine WSDL-Definition in eine Nachrichtengruppe importiert werden. Die resultierende Nachrichtengruppe enthält Nachrichtendefinitionen, die die SOAP-Rahmenanweisung und den Inhalt der entsprechenden SOAP-Nachrichten modellieren. Diese Definitionen können von den Entwicklern von Nachrichtenflüssen zur Auswertung und Handhabung einer eingehenden Nachricht herangezogen werden - beispielsweise bei der Definition einer Zuordnung, mit der eine SOAP-Anforderungsnachricht in eine SOAP-Antwortnachricht umgewandelt wird.
Falls der Broker bereits über bestehende Nachrichtendefinitionen verfügt, die im Kontext von Web-Services verwendet werden sollen:
Der Broker kann diese Definitionen als WSDL-Datei exportieren, die dann von anderen Toolkits wie .NET verwendet werden kann.
So importieren Sie WSDL:
Verwenden Sie die Option 'Neu' im Assistent für neue Nachrichtendefinitionsdateien oder den Befehl mqsicreatemsgsetsfromwsdl. (Siehe Datenstrukturen importieren.)
So exportieren Sie WSDL:
Richten Sie mit Hilfe des Assistenten für Nachrichtenkategoriedateien und des Editors für Nachrichtenkategorien (siehe Mit Nachrichtenkategoriedateien arbeiten) sowie mit Hilfe des Aufrufs des WSDL-Generatorassistenten (siehe Web-Service-Definition aus einer Nachrichtengruppe generieren) Kategorien ein.

In diesem Abschnitt erhalten Sie einen Überblick über die wichtigsten Technologien der Web-Services:

Zugehörige Konzepte
WebSphere MQ Web Services Transport
WSDL generieren
Nachrichtenflüsse - Übersicht
Zugehörige Tasks
Nachrichtenflüsse entwickeln
Implementieren
Zugehörige Verweise
Integrierte Knoten
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ac34520_