Naming operations, such as lookups and binds, are used by clients to obtain references to objects such as EJB homes, which are bound into a name space as contexts. All naming operations begin with obtaining an initial context.

The name space structure consists of a set of name bindings, each consisting of a name relative to a specific context and the object bound with that name. For example, the EJB home name company/appname/function/EJB consists of two non-leaf bindings with the names company, appname, and function, which are all contexts, and one leaf binding with the name EJB.

Name spaces can be manipulated by naming clients using name server. Both JNDI and CORBA CosNaming interfaces can be used.

Typically, objects bound to the name space are resources and objects associated with installed applications. An application can bind objects to transient or persistent partitions.

In J2EE environments, some JNDI operations are performed with java: URL names. Names bound under these names are bound to a completely different name space which is local to the calling process. However, some lookups on the java: name space may trigger indirect lookups to the name server.