5 Webサービスの信頼性のあるメッセージングの使用に関する概要

Oracle Infrastructure Webサービスで、Webサービスの信頼性のあるメッセージング(WS-ReliableMessaging)を使用して安全にメッセージを交換する方法の概要をこの章で説明します。

内容は次のとおりです。

5.1 Webサービスの信頼性のあるメッセージング

Webサービス間でのメッセージ交換は、ネットワーク、システム、ソフトウェア・コンポーネントのエラーや異常など、様々なエラーによって中断されることがあります。Oracle Infrastructure Webサービスは、こうした中断を解決するために、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サービスで次の問題が発生している場合は、信頼できるメッセージングの使用を検討してください。

  • ネットワーク障害または接続切断が発生します。

  • メッセージが送信中に消失します。

  • メッセージが間違った順序で宛先に到着します。

5.2 Oracle Infrastructure Webサービスの事前定義済の信頼性のあるメッセージング・ポリシー

Oracle Fusion Middlewareをインストールすると、一連の事前定義済ポリシーが自動的に利用可能になり、信頼性のあるメッセージング・ポリシーもこの事前定義済ポリシーの一部です。

信頼性のあるメッセージングは、ポリシーおよびポリシー・フレームワークによって実施されます。「Oracle Infrastructure Webサービスへのポリシーのアタッチ方法の理解」で説明されているように、OWSMには、Oracle Fusion Middlewareをインストールすると自動的に使用可能になる一連の事前定義済ポリシーが用意されています。表5-2にリストされている信頼性のあるメッセージング・ポリシーは、この事前定義済セットで使用できます。

表5-2 事前定義済の信頼性のあるメッセージング・ポリシー

信頼性のあるメッセージング・ポリシー 説明

oracle/no_reliable_messaging_policy

エンドポイントに直接アタッチされている場合、または下位スコープでグローバルにアタッチされている場合、グローバルにアタッチされたWeb Services Reliable Messagingポリシーを上位スコープで効率よく無効化します。

oracle/reliable_messaging_policy

Webサービスおよびクライアントで、Webサービスの信頼性のあるメッセージングを構成します。

事前定義済の信頼性のあるメッセージング・ポリシーの詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』信頼性のあるメッセージング・ポリシーに関する説明を参照してください。

5.3 Oracle Infrastructure Webサービスへの信頼性のあるメッセージング・ポリシーのアタッチについて

Oracle Infrastructure Webサービスまたはクライアントに信頼性のあるメッセージング・ポリシーをアタッチします。設計時にはOracle JDeveloperを使用して、実行時にはFusion Middleware Controlを使用して行います。

詳細は、「Oracle Infrastructure Webサービスへのポリシーのアタッチ方法の理解」を参照してください。

5.4 信頼性のあるメッセージング・ポリシーの構成

信頼性のあるメッセージング・ポリシーを環境内で使用するには、あらかじめ構成する必要があります。

信頼性のあるメッセージング・ポリシーの構成ステップの詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』信頼性のあるメッセージング・ポリシーに関する説明を参照してください。