Dies ist ein Überblick über die Implementierung eines SOAP/JMS-Web-Service mithilfe des MQGet-Knotens; in diesem Abschnitt werden auch die Kosten und Vorteile dieser Methode beschrieben.
Bei der Verwendung eines Musters für synchrone Anforderung und Antwort würde die Anforderungsnachricht mithilfe eines MQOutput-Knotens übermittelt und die Antwort in einem MQGet-Knoten empfangen werden.
Ein Nachrichtenfluss, wie im folgenden vereinfachten Diagramm dargestellt, ermöglicht die synchrone Umsetzung von SOAP-über-HTTP in SOAP-über-JMS:
Im vorherigen Fluss wird ein einfacher Mechanismus zur Implementierung einer synchronen Umsetzung von HTTP in SOAP-über-JMS bereitgestellt, bei dem jede eingehende HTTP-Anforderung vollständig verarbeitet und beantwortet wird, bevor zur nächsten HTTP-Anforderung übergegangen wird. Damit der SOAP-über-JMS-Service nicht fehlschlägt, müssen Sie ein Zeitlimit auf dem MQGet-Knoten festsetzen. Ein Vorteil dieses Nachrichtenflussmodells liegt darin, dass die gesamte Umsetzung von der Anforderung in die Antwort in einem einzigen Vorgang ausgeführt und somit das einfache Zurücksetzen und Wiederherstellen ermöglicht wird.
Die Verwendung dieses synchronen Nachrichtenflusses ist möglicherweise nicht geeignet, wenn für die SOAP-über-JMS-Verarbeitung eine lange Ausführungszeit erforderlich ist, da die Verarbeitung von eingehenden HTTP-Anforderungen erst eingeleitet wird, wenn die aktuelle Anforderung beendet wurde. In diesem Fall sollte der Nachrichtenfluss asynchron mit getrennten Anforderungs- und Antwortflüssen erstellt werden, da hier der erforderliche Korrelationskontext in einem Speichermedium im Anforderungsfluss gespeichert und während des Antwortflusses wiederhergestellt wird. Eine mögliche Lösung hierfür ist die Verwendung einer Warteschlange, in der der erforderliche Korrelationskontext gespeichert und mithilfe eines MQGet-Knotens im Antwortfluss abgerufen wird. Mit diesem Nachrichtenfluss können HTTP-Anforderungen beim Empfang an den SOAP-über-JMS-Service gesendet und die Antworten in der Reihenfolge, in der sie empfangen wurden, an HTTP übermittelt werden. Dadurch wird beispielsweise verhindert, dass schnelle Anforderungen nach einer Anfrage durch eine längere Aktualisierungsanforderung blockiert werden.
Weitere Informationen zum Szenario der Anforderung und Beantwortung einer asynchronen Operation finden Sie im Abschnitt Szenario des Typs 'Anforderung/Antwort' unter Verwendung eines MQGet-Knotens.