ネーミングは、WebSphere® Application Server アプリケーションのクライアントによって、Enterprise JavaBeans (EJB) ホームなどの、それらのアプリケーションに関連したオブジェクトへの参照を取得するために最もよく使用されます。
このタスクについて
ネーミング・サービスは、Java™ Naming and Directory Interface (JNDI) 仕様と、オブジェクト管理グループ (OMG) 総合運用ネーミング (CosNaming) 仕様「Naming Service Specification」、「Interoperable Naming Service」改訂版、および「Common Object Request Broker: Architecture and Specification (CORBA)」に基づいています。
手順
- JNDI または CORBA CosNaming インターフェースのいずれかを使用して、アプリケーションを開発します。
これらのインターフェースを使用して、名前空間にバインドされているサーバー・アプリケーション・オブジェクトを検索し、それらのオブジェクトへの参照を取得します。
Java 開発者は、たいてい JNDI インターフェースを使用します。
ただし、WebSphere Application Server ネーム・サーバーまたはその他の CosNaming ネーム・サーバーでのネーミング操作の実行には、CORBA CosNaming インターフェースを使用することもできます。
トラブルの回避 (Avoid trouble): java: namespace で JNDI javax.naming.CompositeName 構文に準拠しない JNDI 名をルックアップすると、
WebSphere Application Server traditional と Liberty で別の例外タイプが発生します。例えば、
java:/¥jdbc/name は Liberty では InvalidNameException になり、
WebSphere Application Server traditional では NameNotFoundException になります。
コンポジット名前構文に準拠していない名前をルックアップする必要がある場合は、Liberty と
WebSphere Application Server traditional にデプロイするアプリケーションで、InvalidNameException と NameNotFoundException の両方を catch します。
gotcha
- アセンブリー・ツールを使用してアプリケーションをアセンブルします。
アプリケーションのアセンブリーは、アプリケーションのデプロイメントにあらかじめ必要なパッケージ化および構成のステップです。
アセンブル対象のアプリケーションが、別のプロセスで実行中のアプリケーションにとってのクライアントになる場合、他方のアプリケーションに関連したオブジェクトのデプロイメント記述子で jndiName 値を修飾する必要があります。
そうしない場合は、アプリケーションのデプロイメント時に名前を修飾名でオーバーライドする必要があります。
オブジェクトに固定修飾名が構成されている場合は、この名前を使用して、jndiName 値がセルのトポロジー内の他のアプリケーションのロケーションに依存しないようにする必要があります。
- オプション: 管理セキュリティーが使用可能である場合は、アプリケーションが適切なセキュリティー・ロールに割り当てられていることを確認します。
セキュリティー・ロールについて詳しくは、ネーミング・ロールを参照してください。
- アプリケーションをデプロイします。
アセンブル済みのアプリケーションをアプリケーション・サーバーにインストールします。アセンブル対象のアプリケーションが、別のサーバー・プロセスで実行中のアプリケーションにとってのクライアントになる場合、他方のアプリケーションのサーバー・オブジェクトについての jndiName 値がまだ修飾されていなければ、それらの値を必ず修飾してください。
修飾名について詳しくは、デプロイメント記述子およびシン・クライアントにおける検索名のサポートを参照してください。
- オプション: アプリケーションが他のセルのアプリケーションにアクセスする必要がある場合、他のセルの外部セル・バインディングを構成します。
- 名前空間バインディングを構成します。 このステップは、以下の場合に必要です。
修飾名について詳しくは、デプロイメント記述子およびシン・クライアントにおける検索名のサポートを参照してください。構成済みのネーム・バインディングについて詳しくは、構成済み名前バインディングを参照してください。
- 発生するあらゆる問題をトラブルシューティングします 。
ネーミング操作が失敗して、ある特定の名前バインディングが存在するかどうかを検査する必要がある場合は、dumpNameSpace ツールを使用して、名前空間のダンプを生成してください。
次のタスク
アプリケーションのアセンブルまたはデプロイ時、あるいはデプロイメント後に、必要に応じて jndiName 値を指定してください。