Oracle® Fusion Middleware Oracle Infrastructure Webサービス・コンセプト・ガイド 11g リリース1(11.1.1) B61390-01 |
|
前 |
次 |
この項では、Webサービスの信頼性のあるメッセージング(WS-ReliableMessaging)を使用して安全にメッセージを交換する方法について説明します。
Webサービス間でのメッセージ交換は、ネットワーク、システム、ソフトウェア・コンポーネントのエラーや異常など、様々なエラーによって中断されることがあります。Webサービスまたはクライアントがメッセージを送信した後で、そのメッセージが正常に配信されたか、配信が失敗して再送信が必要か、あるいは一連のメッセージが正しい順序で到着したかどうかをすぐに判断するためには、ネットワークレベルの例外やSOAPフォルト・メッセージを調べる以外に方法はありません。
これらの問題を解決するために、Oracle Infrastructure Webサービスでは、http://docs.oasis-open.org/ws-rx/wsrm/200702/wsrm-1.1-spec-os-01.pdf
のWebサービスの信頼性のあるメッセージング(WS-ReliableMessaging)仕様で定義されているメッセージング・プロトコルをサポートしています。この仕様は、信頼性のあるメッセージ交換を行うためのプロトコルを記述したものです。信頼性のある、とは2つのWebサービス間でのメッセージの配信を保証できるということです。ソフトウェア・コンポーネント、システムまたはネットワークの障害に関係なく、分散アプリケーション間でメッセージの信頼性のある配信が確実に行われる必要があります。順序どおりの配信が保証されているため、失敗したメッセージを自動再送信するためのコードを各クライアント・アプリケーションで記述する必要はありません。
信頼性のあるWebサービスには、次の配信保証が備わっています。
表5-1 信頼性のあるメッセージングの配信保証
配信保証 | 説明 |
---|---|
最大1回 |
メッセージは最大1回、重複なしに配信されます。メッセージによっては、一度も配信されないこともあります。 |
最低1回 |
すべてのメッセージが、少なくとも1回配信されます。メッセージによっては、2回以上配信されることもあります。 |
1回のみ |
すべてのメッセージが、必ず1回重複なしに配信されます。 |
順序どおり |
メッセージは、送信された順序で配信されます。この配信保証は、前述の3つの保証と組み合わせることもできます。 |
Webサービスに次のような問題があるときは、信頼性のあるメッセージングを使用することを検討してください。
ネットワーク障害または接続切断が発生します。
メッセージが送信中に消失します。
メッセージが間違った順序で宛先に到着します。
信頼性のあるメッセージングは、ポリシーおよびポリシー・フレームワークによって実施されます。第2章「Oracle Infrastructure Webサービスへのポリシーのアタッチ」で説明されているように、Oracle WSMには、Oracle Fusion Middlewareをインストールすると自動的に使用可能になる一連の事前定義済ポリシーが用意されています。
表5-2にリストされている信頼性のあるメッセージング・ポリシーは、即時に利用可能です。
表5-2 事前定義済の信頼性のあるメッセージング・ポリシー
信頼性のあるメッセージング・ポリシー | 説明 |
---|---|
oracle/wsrm11_policy |
Webサービスの信頼性のあるメッセージング・プロトコルのバージョン1.1をサポートします。 |
oracle/wsrm10_policy |
Webサービスの信頼性のあるメッセージング・プロトコルのバージョン1.0をサポートします。 |
事前定義済の信頼性のあるメッセージング・ポリシーの詳細は、Web Servicesのセキュリティおよび管理者ガイドの信頼性のあるメッセージング・ポリシーに関する項を参照してください。
信頼性のあるメッセージング・ポリシーは、設計時にOracle JDeveloperを使用して、あるいは実行時にOracle Enterprise Managerを使用して、Oracle Infrastructure Webサービスにアタッチできます。詳細は、第2章「Oracle Infrastructure Webサービスへのポリシーのアタッチ」を参照してください。
信頼性のあるメッセージング・ポリシーを環境内で使用するには、あらかじめ構成する必要があります。次のものを構成する必要があります。
配信保証(表5-1を参照)
メッセージ・ストア情報(タイプや名前など)
再送信間隔: メッセージを送信したが、そのメッセージの確認を受信できなかった場合に、メッセージの再送信までにソース・エンドポイントが待機する間隔(ミリ秒)。
非アクティブのタイムアウト: 特定のWS-RMシーケンスが終了するまでに、そのシーケンスに関連付けられたメッセージ交換の間に許可される経過時間(ミリ秒)。
信頼性のあるメッセージング・ポリシーを構成する手順は、Web Servicesのセキュリティおよび管理者ガイドの信頼性のあるメッセージング・ポリシーおよび構成手順に関する項を参照してください。