ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング
11g リリース1(10.3.6)
B61633-04
  目次へ移動
目次

前
 
次
 

7 Webサービス永続性の管理

この章では、Java API for XML Web Services (JAX-WS)を使用したWebLogic Webサービスの永続性を管理する方法について説明します。

この章の内容は以下のとおりです。

Webサービス永続性の概要

WebLogic Serverには、Webサービスに組み込みの高パフォーマンスのストレージ・ソリューションを提供するデフォルトのWebサービス永続性が用意されています。Webサービス永続性は、長時間実行されるリクエストをサポートし、サーバーの再起動があっても存続するように、次の高度な機能で使用されます。

具体的には、Webサービス永続性は次の種類の情報を保存するために使用されます。

次の図では、Webサービス永続性の構成例を示します。

図7-1 Webサービス永続性の構成例

図7-1の説明が続きます
「図7-1 Webサービス永続性の構成例」の説明

次の表では、前の図で示したWebサービス永続性のコンポーネントについて説明します。

表7-1 Webサービス永続性のコンポーネント

コンポーネント 説明

論理ストア

構成要件を提供し、Webサービスを物理ストアとバッファリング・キューに接続します。

物理ストア

物理ストレージ(ファイルやDBMSなど)のデータを保存および取得するためのI/O操作を処理します。物理ストアとしては、WebLogic Server管理コンソールまたはWLSTを使用して構成されたWebLogic Server永続ストアまたはインメモリー・ストアを使用できます。

注意: WebLogic Server永続ストアを論理ストア用の物理ストアとして使用する場合、リクエストとレスポンスのバッファリング・キューの名前は、バッファリングの構成ではなく、論理ストアの構成から取得されます。

バッファリング・キュー

Webサービスのバッファリングされたリクエストとレスポンスを格納します。


Webサービス永続性を構成するときは、次のものを関連付けます。

論理ストアとバッファリング・キューの間の関連付けを使用して、論理ストアと物理ストアの間の関連付けが推論されます。デフォルトの論理ストアは、WseeStoreという名前で、WebLogic Advanced Web Services for JAX-WS拡張テンプレート(wls_webservice_jaxws.jar)を使用してドメインが作成されるときに自動的に作成されます。デフォルトで、サーバー用に構成された物理ストアは、バッファリング・キューと関連付けられます。これにより、すべてのWebサービス永続性とバッファリングで同じ物理ストアが使用されることが保証されます。単一の物理ストアを使用することで、いっそう効率的な単一フェーズのXAトランザクションが保証され、移行が容易になります。

アプリケーション環境内で使用するための1つ以上の論理ストアを構成できます。表7-1では、サーバーServer1Server2は同じ論理ストアを使用しています。この構成により、クラスタ内で実行するアプリケーションを、単一のストア名にアクセスするようにグローバルに構成できます。後の「Webサービス永続性の構成」で説明するように、Webサービス永続性をさまざまなレベルで構成して、きめ細かく管理できます。ベスト・プラクティスは「Webサービス永続性を構成する手順」で説明します。

Webサービス永続性を構成する手順

表7-2では、Webサービス永続性を構成してWebサービスの信頼性のあるメッセージングをサポートするためのベスト・プラクティスについて説明します。

表7-2 Webサービス永続性を構成する手順

ベスト・プラクティス 説明

各管理単位(ビジネス単位、部門など)に対する論理ストアを定義します。

異なる論理ストアを定義することで、管理単位ごとのサービスレベル契約をより適切に管理できます。詳細は、「論理ストアの構成」を参照してください。

管理単位に関連する個々のクライアントまたはサービスに対して正しい論理ストアを使用します。

論理ストアは、WebLogic Server、Webサービス、Webサービス・クライアントのいずれかのレベルで構成できます。詳細は、「Webサービス永続性の構成」を参照してください。

論理ストアごとに異なる物理ストアとバッファリング・キューを定義します。

詳細は、「Webサービス永続性の構成の例」を参照してください。


表7-2で定義されているベスト・プラクティスは、保守、障害リカバリ、リソースの移行を容易にします。

たとえば、会社Xが、製造、買掛、売掛などの複数の部門に対するWebサービスを開発しているものとします。ベスト・プラクティスに従うと、会社Xは部門ごとに少なくとも3つの論理ストアを定義します。

さらに、製造部門とIT部門の間には、数分以下のシステム停止を許容できることを指定するサービスレベル契約があるものとします。一方、売掛部門と買掛部門にはさらに緩いサービスレベル契約があり、1時間までのシステム停止は許容されます。Webサービスをホストするシステムと製造部門用のクライアントが使用できなくなった場合、IT部門は、障害から数分以内にこれらのWebサービスとクライアントで必要なリソースを新しいアクティブ・サーバーに移行する必要があります。個別の論理ストアが定義されているため、IT部門は、売掛部門と買掛部門に必要なリソースとは独立して、開発部門の論理ストアと関連付けられているファイル・ストアやJMSサーバーなどを移行できます。

Webサービス永続性の構成

次の表では、Webサービス永続性の各コンポーネントに対して構成できる情報を説明します。

表7-3 Webサービス永続性のコンポーネントの構成の説明

コンポーネント 構成要件の説明

論理ストア

各論理ストアに対して次の情報を構成します。

  • 論理ストアの名前。

  • ストア内のオブジェクトの最大存続期間。

  • ストアから失効したオブジェクトを削除するクリーナ・スレッド。詳細は、「Webサービス永続性のクリーンアップ」を参照してください。

  • ネットワーク内の他のサーバーからのアクセス性。

  • リクエストとレスポンスのバッファリング・キュー。リクエスト・バッファリング・キューは、関連付けによって物理ストアを類推するために使用されます。

物理ストア

物理ストアに対して次の情報を構成します。

  • 物理ストアの名前。

  • 種類およびパフォーマンス・パラメータ。

  • ストアの場所。

注意: 物理ストアとバッファリング・キューは、両方ではなく、どちらか一方のみを構成します。バッファリング・キューを構成すると、物理ストアの情報は類推されます。

バッファリング・キュー

バッファリング・キューに対して次の情報を構成します。

  • リクエストとレスポンスのキューの詳細

  • 再試行回数と遅延


次の表で定義されているレベルで、Webサービス永続性を構成できます。

表7-4 Webサービス永続性の構成

レベル 説明

WebLogic Server

サーバー・レベルで構成されたWebサービス永続性では、そのサーバーで実行しているすべてのWebサービスとクライアントのデフォルトの構成を定義します。WebLogic Serverに対してWebサービス永続性を構成するには、次のいずれかの方法を使用します。

  • 構成ウィザードを使用してドメインを作成または拡張するときに、WebLogic Advanced Web Services for JAX-WS拡張テンプレート(wls_webservice_jaxws.jar)を適用して、Webサービス永続性をサポートするために必要なリソースを自動的に構成できます。

    この拡張テンプレートの使用は必須ではありませんが、必要なリソースの構成が簡単になります。

  • Webサービス永続性に必要なリソースを、Oracle WebLogic管理コンソールまたはWLSTを使用して構成します。詳細は、次を参照してください。

    - 管理コンソール: Oracle WebLogic Server管理コンソールのヘルプWebサービス永続性の構成に関する項

    - WLST: Oracle WebLogic Scripting Toolの既存ドメインの構成に関する項

詳細は、『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_webservice_jaxws.jar)を使用してドメインを作成または拡張するときに、自動的に生成されます(『Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のWebサービスの高度な機能のためのドメインの構成に関する項を参照)。

管理コンソールを使用して論理ストアを構成できます(Oracle WebLogic Server管理コンソールのヘルプWebサービス永続性の構成に関する項を参照)。または、WLSTを使用してリソースを構成できます。WLSTを使用してドメインを拡張する方法の詳細は、Oracle WebLogic Scripting Toolの既存ドメインの構成に関する項を参照してください。

次の表では、論理ストアに対して定義できるプロパティを説明します。

表7-5 論理ストアの構成プロパティ

プロパティ 説明

論理ストア名

論理ストアの名前。名前はアルファベット文字から始める必要があり、アルファベット文字、スペース、ダッシュ、アンダースコア、数字のみを使用できます。

このフィールドのデフォルトはLogicalStore_nです。このフィールドは必須です。

Webサービス拡張テンプレートを使用して単一のサーバー・ドメインを作成または拡張する場合は、WseeStoreという名前の論理ストアがデフォルトで作成されます。

デフォルト論理ストア

サーバー上のすべてのWebサービスの状態を永続化するためにデフォルトで使用する論理ストアかどうかを指定するフラグ。

デフォルトとして設定できる論理ストアは1つだけです。現在の論理ストアでこのフラグを有効にした場合、現在のデフォルト・ストアではフラグが無効になります。

永続性方式

永続性の方式です。ドロップダウン・メニューから次のいずれかの値を選択します。

  • ローカル・アクセスのみ: ローカル・サーバーだけがアクセスできます。

  • メモリー内: ローカルVMのみがアクセスできます。この場合、バッファリング・キューと物理ストアの構成情報は無視されます。

リクエスト・バッファリング・キューのJNDI名

リクエスト・バッファリング・キューのJNDI名。リクエスト・バッファリング・キューは、関連付けによって物理ストアを類推するために使用されます。このプロパティを設定しない場合、サーバーに対して構成されているデフォルトの物理ストアが使用されます。

注意: 物理ストアとバッファリング・キューは、両方ではなく、どちらか一方のみを構成します。バッファリング・キューを構成すると、物理ストアの情報は類推されます。

より効率的な単一フェーズのXAトランザクションを可能にし、サービスの移行を容易にするため、永続状態とメッセージ・バッファリングの両方で同じ物理ストレージ・リソースを使用することをお薦めします。この値を設定することで、バッファリング・キューと物理ストアが同じ物理ストレージ・リソースを参照することが保証されます。

Webサービス拡張テンプレートを使用してドメインを作成または拡張する場合は、weblogic.wsee.RequestBufferedRequestQueueという名前のバッファリング・キューがデフォルトで作成されます。

注意: 「永続性方式」「メモリー内」に設定すると、このプロパティは無視されます。

レスポンス・バッファリング・キューのJNDI名

レスポンス・バッファリング・キューのJNDI名。

このプロパティを設定しない場合は、「リクエスト・バッファリング・キューのJNDI名」プロパティで定義されているリクエスト・キューが使用されます。

Webサービス拡張テンプレートを使用してドメインを作成または拡張する場合は、weblogic.wsee.RequestBufferedRequestErrorQueueという名前のバッファリング・キューがデフォルトで作成されます。

注意: 「永続性方式」「メモリー内」に設定すると、このプロパティは無視されます。

クリーナの間隔

論理ストアをクリーンアップする間隔。詳細は、「Webサービス永続性のクリーンアップ」を参照してください。

指定する値はXMLスキーマの期間を表す字句形式(PnYnMnDTnHnMnS)に従った正の値でなければなりません。ここで、nYは年数、nMは月数、nDは日数を表し、Tは日付/時刻のセパレータ、nHは時間数、nMは分数、nSは秒数を表します。この値のデフォルトはPT10M (10分)です。

注意: このフィールドは、論理ストアを編集するときにのみ使用できます。論理ストアを作成するときは、このフィールドはデフォルトでPT10M(10分)に設定されます。

デフォルト最大オブジェクト存続期間

オブジェクトの最大存続期間として使用されるデフォルト値。この値は、論理ストアに保存される個別のオブジェクトでオーバーライドできます。

指定する値はXMLスキーマの期間を表す字句形式(PnYnMnDTnHnMnS)に従った正の値でなければなりません。ここで、nYは年数、nMは月数、nDは日数を表し、Tは日付/時刻のセパレータ、nHは時間数、nMは分数、nSは秒数を表します。この値のデフォルトはP1D (1日)です。

注意: このフィールドは、論理ストアを編集するときにのみ使用できます。論理ストアを作成するときは、このフィールドはデフォルトでP1D(1日)に設定されます。


Webサービス・エンドポイントのWebサービス永続性の構成

デフォルトでは、Webサービス・エンドポイントはサーバーに対して定義されているWebサービス永続ストアを使用します。Webサービス・エンドポイントによって使用される論理ストアは、管理コンソールを使用してオーバーライドできます。詳細は、Oracle WebLogic Server管理コンソールのヘルプWebサービス永続性の構成に関する項を参照してください。

Webサービス・クライアントのWebサービス永続性の構成

Webサービス・クライアントの永続性の構成の詳細は、『Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のWebサービス・クライアントの構成に関する項を参照してください。

クラスタでのWebサービス永続性の使用

クラスタでWebサービス永続性を使用するための考慮事項を次に示します。

たとえば、図7-2で示されている2ノードのクラスタ構成を考えます。ドメイン・リソースは、前記のガイドラインを使用して構成およびターゲット指定されます。

図7-2 2ノード・クラスタ構成の例(移行前)

図7-2の説明が続きます
「図7-2 2ノード・クラスタ構成の例(移行前)」の説明

次の図では、Server1で障害が発生した場合にServer1上のリソースをServer2に簡単に移行する方法を示します。

図7-3 2ノード・クラスタ構成の例(移行後)

図7-3の説明が続きます
「図7-3 2ノード・クラスタ構成の例(移行後)」の説明

Webサービス永続性のクリーンアップ

永続化された情報は、期限切れまたは失効したオブジェクトを削除するために、定期的にクリーンアップされます。通常、オブジェクトは特定の有効期限または最大存続期間と関連付けられています。さらに、失効したオブジェクトは、レスポンスを受信しなかったリクエスト、または明示的に終了されなかった信頼性のあるメッセージング・シーケンスを表す場合があります。

Webサービス永続性がクリーンアップされる間隔は、論理ストアの「クリーナの間隔」構成プロパティで構成します。このプロパティの設定の詳細は、「論理ストアの構成」を参照してください。