WebSphere Application Server アプリケーションのクライアントが、 エンタープライズ Bean (EJB) ホームなどの アプリケーションに関連したオブジェクトへの参照を取得するために、 ネーミングが使用されます。
これらのオブジェクトは、ほとんどが、ネーム・スペース と呼ばれる階層構造内にバインドされます。 この構造では、すべての非リーフ・オブジェクトは、コンテキスト と呼ばれます。 リーフ・オブジェクトは、コンテキストであることも、また、別のタイプのオブジェクトであることも可能です。 ルックアップおよびバインドなどのネーミング・オペレーションは、コンテキスト上で実行されます。 すべてのネーミング・オペレーションは、初期コンテキスト を取得することから始まります。 初期コンテキストは、開始点としてネーム・スペース内に表示することができます。
ネーム・スペース構造は、名前バインディング のセットから成っており、それぞれが特定のコンテキストに関連した名前と、その名前にバインドされたオブジェクトで構成されています。 例えば、myApp/myEJB という名前は、myApp という名前の、1 つの非リーフ・バインディング (これはコンテキストです) で構成されています。 また、この名前には、myApp に関連した myEJB という名前のリーフ・バインディングが 1 つ含まれています。 この例で、myEJB という名前でバインドされているオブジェクトは、EJB ホーム参照となっています。 myApp/myEJB という名前全体は、初期コンテキストに関連しています。初期コンテキストは、ネーミング・オペレーションを実行する際の開始場所と考えることができます。
ネーム・スペースは、ネーム・サーバー を介してアクセスおよび操作することができます。 ネーム・サーバーのユーザーは、ネーミング・クライアント と呼ばれます。 ネーミング・クライアントは、通常、Java Naming and Directory Interface (JNDI) を使用して、ネーミング・オペレーションを実行します。 ネーミング・クライアントは、共通オブジェクト・リクエスト・ブローカー・アーキテクチャー (CORBA) の CosNaming インターフェースを使用することもできます。
セキュリティーを使用して、 ネーム・スペースへのアクセスを制御することができます。 詳しくは、ネーミング役割を参照してください。
一般に、ネーム・スペースにバインドされているオブジェクトは、インストール済みのアプリケーションに関連するリソースとオブジェクトです。 これらのオブジェクトは、システムによってバインドされ、クライアント・アプリケーションは、ルックアップ操作を実行して、これらのオブジェクトへの参照を取得します。 サーバー・アプリケーションおよびクライアント・アプリケーションは、ネーム・スペースにオブジェクトをバインドすることもあります。 アプリケーションは、オブジェクトを一時的区画または永続区画にバインドすることができます。これは、要件によって異なります。
J2EE 環境では、JNDI 操作には、java: URL 名を使用して実行されるものもあります。 これらの名前の下にバインドされた名前は、呼び出しプロセスにローカルな、完全に異なるネーム・スペースにバインドされます。 ただし、java: のネーム・スペースのルックアップには、ネーム・サーバーへの間接的なルックアップを起動する場合があります。