カスタム・データ・バインダーは、XML スキーマ・タイプを Java オブジェクトにマップするのに使用されます。 カスタム・データ・バインダーは、現行の Java API for XML-based Remote Call Procedure (JAX-RPC) 仕様でサポートされていない XML スキーマ・タイプに対してバインディングを提供します。 WebSphere Application Server では、特定の XML スキーマ・タイプに対してこれらのカスタム・バインディングを実装する、CustomBinder と呼ばれる Java 2 Enterprise Edition (J2EE) プログラミング・モデルの拡張を提供しています。 カスタム・バインディング・プロバイダーは、ランタイムにインポートされるカスタム・データ・バインダーのパッケージです。
CustomBinder API については、CustomBinder インターフェースの トピックで学習できます。カスタム・データ・バインダーのトピックには、カスタム・バインダーの一般情報が記載されており、カスタム・バインディング・プロバイダーのトピックには、これらが開発用にどのようにパッケージされているかが示されています。
この使用パターンでは、プロバイダー・パッケージおよびカスタム・バインディング・プロセスに含まれるロールをランタイムにデプロイする方法について見てみます。
このパターンでは、サーバー上で実行されているすべてのアプリケーションがカスタム・データ・バインダーの影響を受けることになるため、基本的な XML 型が導入され、それが標準の JAX-RPC マッピング・ルールでサポートされていない場合に便利です。
このような状態は、新しいスキーマ・タイプを定義する新しい Web サービス仕様で頻繁に発生します。 例えば、WS-Addressing 仕様では、JAX-RPC マッピング・ルールでサポートされていない EndpointReferenceType スキーマ・タイプが定義されています。 このパターンでは、サーバーのクラスパスを拡張する必要があるため、サーバー・ランタイムに大きな影響を与え、インストール済みのアプリケーションにも影響を与えます。 このパターンは、WebSphere Application Server の内部コンポーネントに最も適しています。
このパターンは、指定されたアプリケーションのみがカスタム・データ・バインダーの影響を受けるようにする必要があり、関連する XML スキーマ・タイプがアプリケーションのセットに適用される場合に使用します。 異なるセットのアプリケーション間での分離を保ちながら、アプリケーションのセット内でカスタム・データ・バインダーを共用することができます。
このパターンを使用すると、特定の Web モジュールがデプロイされたカスタム・データ・バインダーの影響を受けるようになります。 このパターンは、カスタム・バインディングの細分性が必要な場合に便利です。 このパターンは EJB モジュールでは使用できません。これは、EJB モジュールおよびその参照ライブラリーがアプリケーション全体に属するためです。
カスタム・データ・バインダーをサーバー・レベルでデプロイする場合は、宣言されたバインディング・プロバイダーの有効範囲属性を server に設定する必要があります。 値を server に設定することで、サーバーとアプリケーション間で競合が発生した場合に、宣言されたバインダーが高い優先順位を持つことが保証されます。 カスタム・バインディング・プロバイダー JAR ファイルは、サーバー・ランタイムで選出されるように、適切な場所に配置する必要があります。 サーバー・パスを構成して、カスタム・バインディング・プロバイダー JAR ファイルがサーバーのクラスパスの一部になるようにします。 サーバーのクラスパスの構成に使用される値については、Java 仮想マシンの設定を参照してください。
カスタム・データ・バインダーを 1 つ以上のアプリケーションに対してデプロイするには、宣言されたカスタム・バインディング・プロバイダーの有効範囲属性を application に設定します。 値を application に設定することで、アプリケーションとモジュール間で競合が発生した場合に、バインダーが高い優先順位を持つことが保証されます。 カスタム・データ・バインダーが複数のアプリケーションで使用されている場合は、アプリケーションが参照する共用ライブラリーを構成します。 共用ライブラリー・パスの構成に使用される値については、共用ライブラリーの管理を参照してください。
カスタム・データ・バインダーをアプリケーション内の特定の Web モジュールに対してデプロイするには、宣言されたカスタム・バインディング・プロバイダーの有効範囲属性の値を module に設定します。 このパターンでカスタム・データ・バインダーを適用する唯一の方法は、カスタム・バインディング・プロバイダー JAR ファイルを Web モジュールにプリパッケージすることです。例えば、JAR ファイルを /WEB-INF/lib ディレクトリーに配置します。
API および SPI で使用される文書については、参照: 生成 API 資料を参照してください。 API および SPI インターフェースについて説明するこのトピックの指示に従います。
Web サービスの開発で使用される標準および API については、仕様を確認することもできます。