WebSphere Message
Broker unterstützt
Web Services Reliable Messaging (WS-RM), das einen zuverlässigen Nachrichtenaustausch zweier Systeme ermöglicht.
Das folgende Beispiel zeigt einen typischen zuverlässigen Nachrichtenaustausch zwischen zwei Systemen. Es handelt sich hier lediglich um eine Übersicht, in der nicht alle möglichen Nachrichten dargestellt sind. So können beispielsweise auch zusätzliche Protokollnachrichten übermittelt werden.
Die folgenden Schritte beschreiben den
Ablauf der Ereignisse in diesem Beispiel:
- Die Protokollvorbedingungen sind erfüllt. Dazu gehören Richtlinienaustausch, Endpunktauflösung
und Aufbau einer Vertrauensstellung.
- Die Reliable Messaging-Quelle (RM-Quelle) fordert mit einer CreateSequence-Anforderung die Erstellung einer neuen
Sequenz an.
- Das Reliable Messaging-Ziel (RM-Ziel) erstellt eine Sequenz und gibt deren eindeutige Kennung
zurück.
- Die RM-Quelle beginnt mit dem Senden der Nachrichten der Sequenz (ab Nachrichtennummer 1). Im
gezeigten Beispiel sendet die RM-Quelle drei Nachrichten in der Sequenz.
- Die zweite Nachricht (m2) in der Sequenz geht bei der Übertragung verloren.
- Die dritte Nachricht ist die letzte in der Sequenz und die RM-Quelle fügt einen AckRequested-Header hinzu, um sicherzustellen, dass sie eine
Sequenceacknowledgment-Nachricht für die Sequenz erhält.
- Das RM-Ziel bestätigt als Antwort auf den AckRequested-Header von der RM-Quelle den Erhalt der
Nachrichten mit den Nummern 1 und 3.
- Die RM-Quelle sendet die nicht bestätigte Nachricht erneut mit Nachrichtennummer 2. Die
zugrunde liegende Transportschicht behandelt sie wie eine neue Nachricht, aber sie hat dieselbe
Sequenzkennung und Nachrichtennummer, um sicherzustellen, dass das RM-Ziel sie als Duplikat der
früheren Nachricht erkennt und behandelt. Falls sowohl die ursprüngliche Nachricht als auch das
Duplikat empfangen werden, übermittelt das RM-Ziel nur eine an die empfangende Anwendung. Die
RM-Quelle fügt einen AckRequested-Header in die erneut übertragene Nachricht ein, damit das RM-Ziel
eine sofortige Bestätigung sendet.
- Das RM-Ziel empfängt die erneut übertragene Nachricht mit der Nachrichtennummer 2 und bestätigt
den Erhalt von Nachrichten mit den Nummern 1, 2 und 3.
- Die RM-Quelle erhält diese Bestätigung und sendet eine TerminateSequence-Nachricht an das RM-Ziel, um mitzuteilen, dass die Sequenz abgeschlossen ist. Die TerminateSequence-Nachricht zeigt
an, dass die Nachricht mit der Nummer 3 die letzte Nachricht in der Sequenz war. Das RM-Ziel kann
alle für die Sequenz zugeordneten Ressourcen freigeben.
- Das RM-Ziel empfängt die TerminateSequence-Nachricht, die anzeigt, dass die RM-Quelle keine
weiteren Nachrichten sendet. Das RM-Ziel sendet eine TerminateSequenceResponse-Nachricht an die
RM-Quelle.
Verwenden Sie WS-RM in Verbindung mit WS-Security, um sicherzugehen, dass nur CreateSequence-Anforderungen vertrauenswürdiger Quellen akzeptiert werden. Der Abschnitt WS-Security enthält weitere
Informationen hierzu.