JAX-RPC アプリケーション用のカスタム・データ・バインダーをデプロイするための使用パターン

カスタム・データ・バインダーは、XML スキーマ・タイプを Java™ オブジェクトにマップするのに使用されます。 カスタム・データ・バインダーは、現行の Java API for XML-based Remote Call Procedure (JAX-RPC) 仕様ではサポートされていない XML スキーマ・タイプに対するバインディングを提供します。WebSphere® Application Server では、特定の XML スキーマ・タイプに対してこれらのカスタム・バインディングを実装する、CustomBinder と呼ばれる Java Platform, Enterprise Edition (Java EE) プログラミング・モデルの拡張を提供しています。カスタム・バインディング・プロバイダーは、ランタイムにインポートされるカスタム・データ・バインダーのパッケージです。

CustomBinder API について詳しくは、『JAX-RPC アプリケーション用の CustomBinder インターフェース』の情報を参照してください。 カスタム・バインダーに関する一般情報については、『JAX-RPC アプリケーションのカスタム・データ・バインダー』の情報を参照してください。 カスタム・バインディング・プロバイダーを開発用にパッケージする方法を検討する場合は、『JAX-RPC アプリケーションのカスタム・バインディング・プロバイダー』の情報を参照してください。

この使用パターンでは、プロバイダー・パッケージおよびカスタム・バインディング・プロセスに含まれるロールをランタイムにデプロイする方法について見てみます。

カスタム・データ・バインディングに含まれるロール

カスタム・データ・バインディングには、4 つのロールが含まれています。 Web Services for Java Platform, Enterprise Edition (Java EE) の仕様で定義されているこれらのロールは、次のとおりです。
  • カスタム・バインディング・プロバイダーは、必須カスタム・データ・バインダーの実装、これらのバインダーの CustomBindingProvider.xml ファイルにおける宣言、およびバインディング・クラスの Java アーカイブ (JAR) ファイルへのパッケージ化を担当します。
  • アプリケーション開発者は、カスタム・バインディング・プロバイダー JAR ファイルの適用、および開発成果物の生成を担当します。
  • アプリケーション・アセンブラーは、カスタム・データ・バインディングに関するアプリケーション要件を理解し、カスタム・プロバイダー JAR ファイルをアプリケーションの一部としてパッケージする方法を決定する必要があります。
  • アプリケーション・デプロイヤーは、共有ライブラリーを構成して、アプリケーションでカスタム・データ・バインディング・サポートを使用できるようにします。 これは、カスタム・プロバイダー JAR ファイルがアプリケーションとともにパッケージ化されていない場合に行う必要があります。 アプリケーションがデプロイされていない場合、デプロイヤーは、アプリケーションがインストールされた後に Web サービス・デプロイメント・ツールを実行する必要があります。

一般的な使用パターン

カスタム・バインダー・プロバイダー・パッケージでは、さまざまなデプロイ方法により、標準的な JAX-RPC マッピング標準を超える柔軟性が得られます。 以下に、主な 3 つのデプロイメントの使用パターンを示します。
  • カスタム・データ・バインダーをサーバー・レベルでデプロイする

    このパターンでは、サーバー上で実行されているすべてのアプリケーションがカスタム・データ・バインダーの影響を受けることになるため、基本的な XML 型が導入され、それが標準の JAX-RPC マッピング・ルールでサポートされていない場合に便利です。

    このような状態は、新しいスキーマ・タイプを定義する新しい Web サービス仕様で頻繁に発生します。例えば、WS-Addressing 仕様では、JAX-RPC マッピング・ルールでサポートされていない EndpointReferenceType スキーマ・タイプが定義されています。 このパターンでは、サーバーのクラスパスを拡張する必要があるため、サーバー・ランタイムに大きな影響を与え、インストール済みのアプリケーションにも影響を与えます。 このパターンは、WebSphere Application Server の内部コンポーネントに最も適しています。

  • カスタム・バインダーを 1 つ以上のアプリケーションに対してデプロイする

    このパターンは、指定されたアプリケーションのみがカスタム・データ・バインダーの影響を受けるようにする必要があり、関連する XML スキーマ・タイプがアプリケーションのセットに適用される場合に使用します。 異なるセットのアプリケーション間での分離を保ちながら、アプリケーションのセット内でカスタム・データ・バインダーを共有することができます。

  • カスタム・バインダーをアプリケーション内の特定の Web モジュールに対してデプロイする

    このパターンを使用すると、特定の Web モジュールがデプロイされたカスタム・データ・バインダーの影響を受けるようになります。 このパターンは、カスタム・バインディングの細分性が必要な場合に便利です。 このパターンは EJB モジュールでは使用できません。これは、EJB モジュールおよびその参照ライブラリーがアプリケーション全体に属するためです。

使用パターン

このセクションでは、3 つのパターンのうちの 1 つを使用したカスタム・データ・バインダーのデプロイについて見てみます。
  • サーバー・レベルのデプロイメント

    カスタム・データ・バインダーをサーバー・レベルでデプロイする場合は、宣言されたバインディング・プロバイダーの有効範囲属性を server に設定する必要があります。 値を server に設定することで、サーバーとアプリケーション間で競合が発生した場合に、宣言されたバインダーが高い優先順位を持つことが保証されます。 カスタム・バインディング・プロバイダー JAR ファイルは、サーバー・ランタイムで選出されるように、適切な場所に配置する必要があります。 サーバー・パスを構成して、カスタム・バインディング・プロバイダー JAR ファイルがサーバーのクラスパスの一部になるようにします。 サーバーのクラスパスの構成に使用される値については、『Java 仮想マシンの設定』の情報を参照してください。

  • カスタム・データ・バインダーを 1 つ以上のアプリケーションに対してデプロイする

    カスタム・データ・バインダーを 1 つ以上のアプリケーションに対してデプロイするには、宣言されたカスタム・バインディング・プロバイダーの有効範囲属性を application に設定します。 値を application に設定することで、アプリケーションとモジュール間で競合が発生した場合に、バインダーが高い優先順位を持つことが保証されます。 カスタム・データ・バインダーが複数のアプリケーションで使用されている場合は、アプリケーションが参照する共有ライブラリーを構成します。 共有ライブラリー・パスの構成に使用される値については、『共有ライブラリーの管理』の情報を参照してください。

  • カスタム・データ・バインダーをアプリケーション内の特定の Web モジュールに対してデプロイする

    カスタム・データ・バインダーをアプリケーション内の特定の Web モジュールに対してデプロイするには、宣言されたカスタム・バインディング・プロバイダーの有効範囲属性の値を module に設定します。このパターンでカスタム・データ・バインダーを適用する唯一の方法は、カスタム・バインディング・プロバイダー JAR ファイルを Web モジュールにプリパッケージすることです。例えば、JAR ファイルを /WEB-INF/lib ディレクトリーに配置します。


トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwbs_custombinderscenario
ファイル名:rwbs_custombinderscenario.html