ネーミングの使用

ネーミングは、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)」に基づいています。

手順

  1. JNDI または CORBA CosNaming インターフェースのいずれかを使用して、アプリケーションを開発します。

    これらのインターフェースを使用して、名前空間にバインドされているサーバー・アプリケーション・オブジェクトを検索し、それらのオブジェクトへの参照を取得します。 Java 開発者は、たいてい JNDI インターフェースを使用します。 ただし、WebSphere Application Server ネーム・サーバーまたはその他の CosNaming ネーム・サーバーでのネーミング操作の実行には、CORBA CosNaming インターフェースを使用することもできます。

    トラブルの回避 (Avoid trouble) トラブルの回避 (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
  2. アセンブリー・ツールを使用してアプリケーションをアセンブルします。

    アプリケーションのアセンブリーは、アプリケーションのデプロイメントにあらかじめ必要なパッケージ化および構成のステップです。 アセンブル対象のアプリケーションが、別のプロセスで実行中のアプリケーションにとってのクライアントになる場合、他方のアプリケーションに関連したオブジェクトのデプロイメント記述子で jndiName 値を修飾する必要があります。 そうしない場合は、アプリケーションのデプロイメント時に名前を修飾名でオーバーライドする必要があります。 オブジェクトに固定修飾名が構成されている場合は、この名前を使用して、jndiName 値がセルのトポロジー内の他のアプリケーションのロケーションに依存しないようにする必要があります。

  3. オプション: 管理セキュリティーが使用可能である場合は、アプリケーションが適切なセキュリティー・ロールに割り当てられていることを確認します。

    セキュリティー・ロールについて詳しくは、ネーミング・ロールを参照してください。

  4. アプリケーションをデプロイします。

    アセンブル済みのアプリケーションをアプリケーション・サーバーにインストールします。アセンブル対象のアプリケーションが、別のサーバー・プロセスで実行中のアプリケーションにとってのクライアントになる場合、他方のアプリケーションのサーバー・オブジェクトについての jndiName 値がまだ修飾されていなければ、それらの値を必ず修飾してください。 修飾名について詳しくは、デプロイメント記述子およびシン・クライアントにおける検索名のサポートを参照してください。

  5. オプション: アプリケーションが他のセルのアプリケーションにアクセスする必要がある場合、他のセルの外部セル・バインディングを構成します。
  6. 名前空間バインディングを構成します。 このステップは、以下の場合に必要です。
    • デプロイ済みアプリケーションが、本製品の旧バージョンで実行されているレガシー・クライアント・アプリケーションによるアクセス対象となっている。 この場合は、レガシー・クライアントのデフォルト初期コンテキストに関連するアプリケーション・オブジェクトに対して、ネーム・バインディングを追加して構成する必要があります。 (バージョン 5 クライアントには、レガシー・クライアントとは異なる初期コンテキストがあります。)
    • 以下のような理由により、アプリケーションで修飾名バインディングが必要とされる。
      • 別のサーバー・プロセスで実行中の、Java Platform, Enterprise Edition (Java EE) クライアント・アプリケーションまたはサーバー・アプリケーションによってアクセスされる。
      • シン・クライアント・アプリケーションによってアクセスされる。

      この場合には、アプリケーション・オブジェクトの追加バインディングとしてネーム・バインディングを構成することができます。 構成済みバインディングの修飾名は固定 されます。つまり、この名前には、アプリケーションが別のサーバーに移動する場合に変更される可能性があるセル・トポロジーのエレメントは含まれません。 システムによって名前空間にバインドされているオブジェクトは、常にトポロジー・ベースの名前で修飾することができます。 固定修飾名として使用するには、ネーム・バインディングを明示的に構成しなければなりません。

    修飾名について詳しくは、デプロイメント記述子およびシン・クライアントにおける検索名のサポートを参照してください。構成済みのネーム・バインディングについて詳しくは、構成済み名前バインディングを参照してください。
  7. 発生するあらゆる問題をトラブルシューティングします

    ネーミング操作が失敗して、ある特定の名前バインディングが存在するかどうかを検査する必要がある場合は、dumpNameSpace ツールを使用して、名前空間のダンプを生成してください。

次のタスク

アプリケーションのアセンブルまたはデプロイ時、あるいはデプロイメント後に、必要に応じて jndiName 値を指定してください。


トピックのタイプを示すアイコン タスク・トピック



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