Webサービス間でのメッセージ交換は、ネットワーク、システム、ソフトウェア・コンポーネントのエラーや異常など、様々なエラーによって中断されることがあります。Webサービスまたはクライアントがメッセージを送信した後で、そのメッセージが正常に配信されたか、配信が失敗して再送信が必要か、あるいは一連のメッセージが正しい順序で到着したかどうかをすぐに判断するためには、ネットワークレベルの例外やSOAPフォルト・メッセージを調べる以外に方法はありません。
これらの問題を解決するために、Oracle Infrastructure Webサービスでは、http://docs.oasis-open.org/ws-rx/wsrm/v1.2/wsrm.pdf
のWebサービスの信頼性のあるメッセージング(WS-ReliableMessaging)仕様で定義されているメッセージング・プロトコルをサポートしています。この仕様は、信頼性のあるメッセージ交換を行うためのプロトコルを記述したものです。信頼性のあるとは、2つのWebサービス間でのメッセージの配信を保証できるということです。ソフトウェア・コンポーネント、システムまたはネットワークの障害に関係なく、分散アプリケーション間でメッセージの信頼性のある配信が確実に行われる必要があります。順序付き配信が保証されているため、クライアント・アプリケーションごとに、失敗したメッセージの自動再送信をコーディングする必要はありません。
信頼性のあるWebサービスには、次の配信保証が備わっています。
表5-1 信頼性のあるメッセージングの配信保証
配信保証 | 説明 |
---|---|
最大1回 |
メッセージは最大で1回、重複なしに配信されます。メッセージによっては、一度も配信されない可能性もあります。 |
最低1回 |
すべてのメッセージが、少なくとも1回配信されます。メッセージによっては、2回以上配信されることもあります。 |
1回のみ |
すべてのメッセージが、必ず1回重複なしに配信されます。 |
順序どおり |
メッセージは、送信された順序で配信されます。この配信保証は、上記の3種類と組み合せて指定できます。 |
Webサービスで次の問題が発生している場合は、信頼できるメッセージングの使用を検討してください。
ネットワーク障害または接続切断が発生します。
メッセージが送信中に消失します。
メッセージが間違った順序で宛先に到着します。
信頼性のあるメッセージングは、ポリシーおよびポリシー・フレームワークによって実施されます。「Oracle Infrastructure Webサービスへのポリシーのアタッチ方法の理解」で説明されているように、OWSMには、Oracle Fusion Middlewareをインストールすると自動的に使用可能になる一連の事前定義済ポリシーが用意されています。表5-2にリストされている信頼性のあるメッセージング・ポリシーは、この事前定義済セットで使用できます。
表5-2 事前定義済の信頼性のあるメッセージング・ポリシー
信頼性のあるメッセージング・ポリシー | 説明 |
---|---|
|
エンドポイントに直接アタッチされている場合、または下位スコープでグローバルにアタッチされている場合、グローバルにアタッチされたWeb Services Reliable Messagingポリシーを上位スコープで効率よく無効化します。 |
|
Webサービスおよびクライアントで、Webサービスの信頼性のあるメッセージングを構成します。 |
事前定義済の信頼性のあるメッセージング・ポリシーの詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』の信頼性のあるメッセージング・ポリシーに関する説明を参照してください。
Oracle Infrastructure Webサービスまたはクライアントに信頼性のあるメッセージング・ポリシーをアタッチします。設計時にはOracle JDeveloperを使用して、実行時にはFusion Middleware Controlを使用して行います。
詳細は、「Oracle Infrastructure Webサービスへのポリシーのアタッチ方法の理解」を参照してください。