Oracle® Fusion Middleware Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング 11g リリース1(10.3.5) B61633-03 |
|
前 |
次 |
次の項では、Webサービス永続性を管理する方法について説明します。
WebLogic Serverには、Webサービスに組み込みの高パフォーマンスのストレージ・ソリューションを提供するデフォルトのWebサービス永続性が用意されています。Webサービス永続性は、長時間実行されるリクエストをサポートし、サーバーの再起動があっても存続するように、次の高度な機能で使用されます。
非同期クライアント・トランスポートまたはMakeConnectionを使用したWebサービスの非同期呼出し
Webサービスの信頼性のあるメッセージング
メッセージ・バッファリング
WS-SecureConversationを使用したセキュリティ
具体的には、Webサービス永続性は次の種類の情報を保存するために使用されます。
クライアントのIDとプロパティ
ヘッダーと本体を含むSOAPメッセージ
Webサービスまたはクライアントでメッセージを処理するために必要なコンテキスト・プロパティ(非同期メッセージと同期メッセージの両方)
次の図では、Webサービス永続性の構成例を示します。
次の表では、前の図で示したWebサービス永続性のコンポーネントについて説明します。
表6-1 Webサービス永続性のコンポーネント
コンポーネント | 説明 |
---|---|
論理ストア |
構成要件を提供し、Webサービスを物理ストアとバッファリング・キューに接続します。 |
物理ストア |
物理ストレージ(ファイルやDBMSなど)のデータを保存および取得するためのI/O操作を処理します。物理ストアとしては、WebLogic Server管理コンソールまたはWLSTを使用して構成されたWebLogic Server永続ストアまたはインメモリー・ストアを使用できます。 注意: WebLogic Server永続ストアを論理ストア用の物理ストアとして使用する場合、リクエストとレスポンスのバッファリング・キューの名前は、バッファリングの構成ではなく、論理ストアの構成から取得されます。 |
バッファリング・キュー |
Webサービスのバッファリングされたリクエストとレスポンスを格納します。 |
Webサービス永続性を構成するときは、次のものを関連付けます。
論理ストアとバッファリング・キュー。
JMS構成を介して物理ストアと関連付けられたバッファリング・キュー。
論理ストアとバッファリング・キューの間の関連付けを使用して、論理ストアと物理ストアの間の関連付けが推論されます。デフォルトの論理ストアは、WseeStore
という名前で、WebLogic Advanced Web Services for JAX-WS拡張テンプレート(wls_webservices_jaxws.jar
)を使用してドメインが作成されるときに自動的に作成されます。デフォルトで、サーバー用に構成された物理ストアは、バッファリング・キューと関連付けられます。これにより、すべてのWebサービス永続性とバッファリングで同じ物理ストアが使用されることが保証されます。単一の物理ストアを使用することで、いっそう効率的な単一フェーズのXAトランザクションが保証され、移行が容易になります。
アプリケーション環境内で使用するための1つ以上の論理ストアを構成できます。表6-1では、サーバーServer1
とServer2
は同じ論理ストアを使用しています。この構成により、クラスタ内で実行するアプリケーションを、単一のストア名にアクセスするようにグローバルに構成できます。後の「Webサービス永続性の構成」で説明するように、Webサービス永続性をさまざまなレベルで構成して、きめ細かく管理できます。ベスト・プラクティスは「Webサービス永続性を構成する手順」で説明します。
表6-2では、Webサービス永続性を構成してWebサービスの信頼性のあるメッセージングをサポートするためのベスト・プラクティスについて説明します。
表6-2 Webサービス永続性を構成する手順
ベスト・プラクティス | 説明 |
---|---|
各管理単位(ビジネス単位、部門など)に対する論理ストアを定義します。 |
異なる論理ストアを定義することで、管理単位ごとのサービスレベル契約をより適切に管理できます。詳細は、「論理ストアの構成」を参照してください。 |
管理単位に関連する個々のクライアントまたはサービスに対して正しい論理ストアを使用します。 |
論理ストアは、WebLogic Server、Webサービス、Webサービス・クライアントのいずれかのレベルで構成できます。詳細は、「Webサービス永続性の構成」を参照してください。 |
論理ストアごとに異なる物理ストアとバッファリング・キューを定義します。 |
詳細は、「Webサービス永続性の構成の例」を参照してください。 |
表6-2で定義されているベスト・プラクティスは、保守、障害リカバリ、リソースの移行を容易にします。
たとえば、会社Xが、製造、買掛、売掛などの複数の部門に対するWebサービスを開発しているものとします。ベスト・プラクティスに従うと、会社Xは部門ごとに少なくとも3つの論理ストアを定義します。
さらに、製造部門とIT部門の間には、数分以下のシステム停止を許容できることを指定するサービスレベル契約があるものとします。一方、売掛部門と買掛部門にはさらに緩いサービスレベル契約があり、1時間までのシステム停止は許容されます。Webサービスをホストするシステムと製造部門用のクライアントが使用できなくなった場合、IT部門は、障害から数分以内にこれらのWebサービスとクライアントで必要なリソースを新しいアクティブ・サーバーに移行する必要があります。個別の論理ストアが定義されているため、IT部門は、売掛部門と買掛部門に必要なリソースとは独立して、開発部門の論理ストアと関連付けられているファイル・ストアやJMSサーバーなどを移行できます。
次の表では、Webサービス永続性の各コンポーネントに対して構成できる情報を説明します。
表6-3 Webサービス永続性のコンポーネントの構成の説明
コンポーネント | 構成要件の説明 |
---|---|
論理ストア |
各論理ストアに対して次の情報を構成します。
|
物理ストア |
物理ストアに対して次の情報を構成します。
注意: 物理ストアとバッファリング・キューは、両方ではなく、どちらか一方のみを構成します。バッファリング・キューを構成すると、物理ストアの情報は類推されます。 |
バッファリング・キュー |
バッファリング・キューに対して次の情報を構成します。
|
次の表で定義されているレベルで、Webサービス永続性を構成できます。
表6-4 Webサービス永続性の構成
レベル | 説明 |
---|---|
WebLogic Server |
サーバー・レベルで構成されたWebサービス永続性では、そのサーバーで実行しているすべてのWebサービスとクライアントのデフォルトの構成を定義します。WebLogic Serverに対してWebサービス永続性を構成するには、次のいずれかの方法を使用します。
詳細は、『Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』の高度なWeb Services機能のためのドメインの構成に関する項を参照してください。 |
Webサービス・エンドポイント |
Webサービス・エンドポイントによって使用されるデフォルトの論理ストアを構成します(「Webサービス・エンドポイントのWebサービス永続性の構成」を参照)。 |
Webサービス・クライアント |
Webサービス・クライアントによって使用されるデフォルトの論理ストアを構成します(「Webサービス・クライアントのWebサービス永続性の構成」を参照)。 |
次の項では、Webサービス永続性の構成について詳細に説明します。
アプリケーション環境内で使用する1つ以上の論理ストアを構成し、デフォルトとして使用する論理ストアを指定できます。
デフォルトの論理ストアWseeStore
は、WebLogic Advanced Web Services for JAX-WS拡張テンプレート(wls_webservices_jaxws.jar
)を使用してドメインを作成または拡張するときに、自動的に生成されます(『Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のWebサービスの高度な機能のためのドメインの構成に関する項を参照)。
管理コンソールを使用して論理ストアを構成できます(Oracle WebLogic Server管理コンソールのヘルプのWebサービス永続性の構成に関する項を参照)。または、WLSTを使用してリソースを構成できます。WLSTを使用してドメインを拡張する方法の詳細は、Oracle WebLogic Scripting Toolの既存ドメインの構成に関する項を参照してください。
次の表では、論理ストアに対して定義できるプロパティを説明します。
表6-5 論理ストアの構成プロパティ
プロパティ | 説明 |
---|---|
論理ストア名 |
論理ストアの名前。名前はアルファベット文字から始める必要があり、アルファベット文字、スペース、ダッシュ、アンダースコア、数字のみを使用できます。 このフィールドのデフォルトは Webサービス拡張テンプレートを使用して単一のサーバー・ドメインを作成または拡張する場合は、 |
デフォルト論理ストア |
サーバー上のすべてのWebサービスの状態を永続化するためにデフォルトで使用する論理ストアかどうかを指定するフラグ。 デフォルトとして設定できる論理ストアは1つだけです。現在の論理ストアでこのフラグを有効にした場合、現在のデフォルト・ストアではフラグが無効になります。 |
永続性方式 |
永続性の方式です。ドロップダウン・メニューから次のいずれかの値を選択します。
|
リクエスト・バッファリング・キューのJNDI名 |
リクエスト・バッファリング・キューのJNDI名。リクエスト・バッファリング・キューは、関連付けによって物理ストアを類推するために使用されます。このプロパティを設定しない場合、サーバーに対して構成されているデフォルトの物理ストアが使用されます。 注意: 物理ストアとバッファリング・キューは、両方ではなく、どちらか一方のみを構成します。バッファリング・キューを構成すると、物理ストアの情報は類推されます。 より効率的な単一フェーズのXAトランザクションを可能にし、サービスの移行を容易にするため、永続状態とメッセージ・バッファリングの両方で同じ物理ストレージ・リソースを使用することをお薦めします。この値を設定することで、バッファリング・キューと物理ストアが同じ物理ストレージ・リソースを参照することが保証されます。 Webサービス拡張テンプレートを使用してドメインを作成または拡張する場合は、 注意: 「永続性方式」を |
レスポンス・バッファリング・キューのJNDI名 |
レスポンス・バッファリング・キューのJNDI名。 このプロパティを設定しない場合は、「リクエスト・バッファリング・キューのJNDI名」プロパティで定義されているリクエスト・キューが使用されます。 Webサービス拡張テンプレートを使用してドメインを作成または拡張する場合は、 注意: 「永続性方式」を |
クリーナの間隔 |
論理ストアをクリーンアップする間隔。詳細は、「Webサービス永続性のクリーンアップ」を参照してください。 指定する値はXMLスキーマの期間を表す字句形式( 注意: このフィールドは、論理ストアを編集するときにのみ使用できます。論理ストアを作成するときは、このフィールドはデフォルトで |
デフォルト最大オブジェクト存続期間 |
オブジェクトの最大存続期間として使用されるデフォルト値。この値は、論理ストアに保存される個別のオブジェクトでオーバーライドできます。 指定する値はXMLスキーマの期間を表す字句形式( 注意: このフィールドは、論理ストアを編集するときにのみ使用できます。論理ストアを作成するときは、このフィールドはデフォルトで |
デフォルトでは、Webサービス・エンドポイントはサーバーに対して定義されているWebサービス永続ストアを使用します。Webサービス・エンドポイントによって使用される論理ストアは、管理コンソールを使用してオーバーライドできます。詳細は、Oracle WebLogic Server管理コンソールのヘルプのWebサービス永続性の構成に関する項を参照してください。
Webサービス・クライアントの永続性の構成の詳細は、『Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のWebサービス・クライアントの構成に関する項を参照してください。
クラスタでWebサービス永続性を使用するための考慮事項を次に示します。
WebLogic Advanced Web Services for JAX-WS拡張テンプレート(wls_webservices_jaxws.jar
)を使用してクラスタ・ドメインを作成または拡張する場合、クラスタでWebサービス永続性をサポートするために必要なリソースが自動的に作成されます。詳細は、『Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』の高度なWebサービス機能用のドメインの構成に関する項を参照してください。
サービスの移行を容易にするため、永続状態とメッセージ・バッファリングの両方に同じ物理ストレージ・リソースを使用することをお薦めします。バッファリング・キューと物理ストアが同じ物理ストレージ・リソースを参照するようにするには、「論理ストアの構成」で説明されているように、論理ストアの「リクエスト・バッファリング・キューのJNDI名」プロパティを構成します。
バッファリング・キューはJMS Uniform Distributed Destination(UDD)として定義することをお薦めします。JMSでは、指定する各JMSサーバーのUDDにメンバー・キューが定義されます。論理ストアは定義されているバッファリング・キューによって物理ストアと関連付けられるので、これにより、サービスの移行の間に、論理ストアは、新しいサーバーに移行されるメンバー・キューの新しい物理ストアをシームレスに使用できます。
JMSサーバー、Store-And-Forward(SAF)サービス・エージェント、物理ストア(ファイル・ストア)リソースを移行可能なターゲットにすることをお薦めします。詳細については、『Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』の高度なWebサービス機能で必要なリソースに関する項を参照してください。
たとえば、図6-2で示されている2ノードのクラスタ構成を考えます。ドメイン・リソースは、前記のガイドラインを使用して構成およびターゲット指定されます。
次の図では、Server1で障害が発生した場合にServer1上のリソースをServer2に簡単に移行する方法を示します。
永続化された情報は、期限切れまたは失効したオブジェクトを削除するために、定期的にクリーンアップされます。通常、オブジェクトは特定の有効期限または最大存続期間と関連付けられています。さらに、失効したオブジェクトは、レスポンスを受信しなかったリクエスト、または明示的に終了されなかった信頼性のあるメッセージング・シーケンスを表す場合があります。
Webサービス永続性がクリーンアップされる間隔は、論理ストアの「クリーナの間隔」構成プロパティで構成します。このプロパティの設定の詳細は、「論理ストアの構成」を参照してください。