WebSphere® Message
Broker は Web サービス高信頼性メッセージング (WS-RM) をサポートします。
これを使用すると、2 つのシステムは信頼性の高い方法で互いにメッセージを交換できます。
以下の例は、2 つのシステム間における標準的で信頼性のあるメッセージ交換について示しています。 この概念的な概要では、送信可能なすべてのメッセージが網羅されているわけではありません。 例えば、外部プロトコル・メッセージなどもその一例です。
以下のステップは、この例でのイベントの順序を説明しています。
- プロトコル前提条件が確立されます。 これにはポリシー交換、エンドポイント解決、および信頼の確立が含まれます。
- 高信頼性メッセージング・ソース (RM ソース) は CreateSequence 要求を使って新しいシーケンスの作成を要求します。
- 高信頼性メッセージング宛先 (RM 宛先) はシーケンスを作成して、その固有 ID を戻します。
- RM ソースは、MessageNumber 1 から始めて、シーケンス内のメッセージを送り始めます。ここに示す例では RM ソースが 3 つのメッセージをシーケンスで送ります。
- シーケンス内の (m2 という名前で示される) 2 番目のメッセージが転送中に失われます。
- 3 番目のメッセージはシーケンス内の最後のメッセージです。RM ソースはシーケンスに関する Sequenceacknowledgment メッセージを受け取る目的で AckRequested ヘッダーを組み込みます。
- RM 宛先は、RM ソースから AckRequested ヘッダーを受け取った応答として、メッセージ番号 1 および 3 の受信を確認応答します。
- RM ソースは確認応答のないメッセージを MessageNumber 2 として再び送ります。基礎となるトランスポートはこれを新しいメッセージとして扱いますが、そのシーケンス ID と MessageNumber は同じです。このため RM 宛先は以前のメッセージの重複としてそれを扱います。 元のメッセージと重複メッセージの両方が受信された場合、RM 宛先は受信側アプリケーションに 1 つだけを送ります。 RM ソースは再送されるメッセージに AckRequested ヘッダーを組み込みます。これにより RM 宛先は直ちに確認応答を送ります。
- RM 宛先は再送されたメッセージ (MessageNumber 2) を受け取り、MessageNumber 1、2、3 のメッセージ受信を確認応答します。
- RM ソースはこの確認応答を受け取り、シーケンスの完了を示すために TerminateSequence を RM 宛先に送ります。 TerminateSequence メッセージは、シーケンス内の最後のメッセージが MessageNumber 3 であったことを示します。 RM 宛先はシーケンスに関連するリソースをすべて解放することができます。
- RM 宛先は、RM ソースがこれ以降のメッセージを送らないことを示す TerminateSequence メッセージを受け取ります。 RM 宛先は TerminateSequenceResponse メッセージを RM ソースに送信します。
WS-RM を WS-Security と共に使用すると、信頼できるソースからのみ、CreateSequence 要求を受け入れるようにすることができます。 詳しくは、WS-Securityを参照してください。