構成済み名前バインディング
管理者は、名前空間へのバインディングを構成することができます。 構成済みバインディングは、ターゲット・コンテキストが一時的区画にある場合でも、サーバーが始動するたびにシステムがバインディングを作成するという点で、プログラマチック・バインディングとは異なります。
管理者は、構成を介して名前バインディングを名前空間に追加することができます。 ネーム・サーバーは、このバインディングについての構成データを読み取ることにより、これらの構成済みバインディングを名前空間ビューに追加します。 バインディングの構成は、バインディングをプログラムから作成する方法に代わるものです。 構成済みバインディングには、そのバインディングが名前空間の一時的な区画に作成される場合でも、サーバーが始動するたびに作成されるという利点があります。 セルを有効範囲とする構成済みバインディングは、サーバー・アプリケーション・オブジェクトの固定修飾名を提供します。
有効範囲
バインディングは、セル、ノード、 サーバー、またはクラスターという 4 つ有効範囲のいずれか 1 つで構成することができます。 セルを有効範囲とするバインディングは、セル・パーシスタント・ルート・コンテキスト下で作成されます。 ノードを有効範囲とするバインディングは、指定されたノードのノード・パーシスタント・ルート・コンテキスト下で作成されます。 サーバーを有効範囲とするバインディングは、選択されたサーバーのサーバー・ルート・コンテキスト下で作成されます。 クラスターを有効範囲とするバインディングは、選択されたクラスターの各メンバーのサーバー・ルート・コンテキスト下で作成されます。
新規のバインディングにどのスコープを選択するかは、そのバインディングがどのように使用されるかによって異なります。 例えば、バインディングが特定のノード、クラスターまたはサーバーに固有でない場合、 あるいは、バインディングを特定のノード、クラスターまたはサーバーに関連付けたくない場合は、セルを有効範囲とするバインディングが最適な有効範囲となります。 エンタープライズ Bean の固定名を定義して、固定修飾名を作成することは、まさにその応用です。 バインディングが、特定のサーバー (またはクラスター) 上で実行しているアプリケーションのクライアントにの み使用される場合、または別のサーバー (またはクラスター) 上で、別のオブジェクトへ解決される同一名のバインディングを構成する場合は、サーバーを有効範囲とする (またはクラスターを有効範囲とする) バインディングが適切です。 2 つのサーバー (またはクラスター) は、同一名の、 別のオブジェクトへ解決される構成済みバインディングを持つことができるので、注意してください。 セル・スコープでは、指定された名前を持つ 1 つのバインディングのみが存在可能です。
中間コンテキスト
構成済みバインディングによって作成される中間コンテキストは、読み取り専用です。 例えば、EJB ホーム・バインディングが some/compound/name/ejbHome という名前で構成されると、some、some/compound、および some/compound/name の各中間コンテキストが読み取り専用コンテキストとして作成されます。 読み取り専用のバインディングを追加、更新、または除去することはできません。
構成済みバインディング名は、既存のバインディングと競合してはなりません。 しかし、構成済みバインディングは、同じ中間コンテキスト名を使用することができます。 したがって、some/compound/name2/ejbHome2 という名前を持つ構成済みバインディングは、前述の例の名前とは競合しません。
構成済みバインディング・タイプ
以下は、バインド可能なオブジェクトのタイプです。
- EJB: セル内の一部のサーバーにインストールされている EJB ホーム
- EJB ホームのバインディングの構成に必要なデータは、以下のとおりです。
- エンタープライズ Bean がデプロイされている EJB サーバーまたはサーバー・クラスターの JNDI 名
- 構成済みバインディングのターゲット・ルート (スコープ)
- ターゲット・ルートと関連する構成済みバインディングの名前
セルを有効範囲とする EJB バインディングは、修飾名がトポロジーによって異なることのないよう、エンタープライズ Bean の固定検索名を作成する場合に便利です。
注: スタンドアロン・サーバーでは、ネーム・サーバーがその他のサーバーの構成データを読み取らないため、別のサーバーに解決される EJB バインディングは構成することはできません。そのデータはバインディングを構成するために必要です。 - CORBA: CosNaming ネーム・サーバーから使用可能な CORBA オブジェクト
- INS 準拠の CosNaming サーバーにバインドされている CORBA オブジェクトは、corbaname URL で識別することができます。
参照されるオブジェクトは、何らかのアプリケーションによってバインディングが実際に参照されるまで、
使用可能にする必要はありません。
CORBA オブジェクト・バインディングの構成に必要なデータは、以下のとおりです。
- CORBA オブジェクトの corbaname URL
- バインドされているオブジェクトがコンテキストであるか、またはリーフ・ノード・オブジェクトであるかの インディケーター (コンテキストまたはオブジェクトの正しい CORBA バインディング・タイプを設定するため)
- 構成済みバインディングのターゲット・ルート
- ターゲット・ルートと関連する構成済みバインディングの名前
- 間接: JNDI によるアクセスが可能な WebSphere® Application Server 名前空間内でバインドされているオブジェクト
- この中には、CORBA オブジェクトのほかに、javax.naming.Referenceable、
javax.naming.Reference、および java.io.Serializable の各オブジェクトが含まれます。
ターゲット・オブジェクトそのものは、名前空間にバインドされません。
オブジェクトの検索に必要な情報だけがバインドされます。
したがって、参照ネーム・サーバーは、バインディングが何らかのアプリケーションによって実際に参照されるまで、
稼働する必要はありません。
間接 JNDI 検索バインディングの構成に必要なデータは、以下のとおりです。
- オブジェクトが置かれているネーム・サーバーの JNDI プロバイダー URL
- オブジェクトの JNDI 検索名
- 構成済みバインディングのターゲット・ルート (スコープ)
- ターゲット・ルートと関連する構成済みバインディングの名前
セルの有効範囲の間接バインディングは、修飾名がトポロジーによって異なることのないようリソースの固定検索名を作成する場合に便利です。 また、リソース定義の有効範囲を広げることによって、このトポロジーを達成することができます。
- ストリング: ストリング定数
- ストリング定数のバインディングを構成することができます。
ストリング定数のバインディングの構成に必要なデータは、以下のとおりです。
- ストリング定数値
- 構成済みバインディングのターゲット・ルート (スコープ)
- ターゲット・ルートと関連する構成済みバインディングの名前