+

Search Tips   |   Advanced Search

Java Naming and Directory Interface (JNDI)

Naming is used by clients of WebSphere Application Server applications to obtain references to objects related to those applications. These objects are bound into a mostly hierarchical structure, referred to as a namespace. In this structure, all non-leaf objects are called contexts. Leaf objects can be contexts and other types of objects. Naming operations, such as lookups and binds, are performed on contexts. All naming operations begin with obtaining an initial context. We can view the initial context as a starting point in the namespace.

Typically, objects bound to the namespace are resources and objects associated with installed applications. These objects are bound by the system, and client applications perform lookup operations to obtain references to them. Occasionally, server and client applications bind objects to the namespace. An application can bind objects to transient or persistent partitions, depending on requirements. We can access and manipulate the namespace through a name server. Users of a name server are referred to as naming clients.

Naming clients typically use the JNDI to perform naming operations. Naming clients can also use the CORBA CosNaming interface.

The namespace 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 name myApp/myEJB consists of one non-leaf binding with the name myApp, which is a context. The name also includes one leaf binding with the name myEJB, relative to myApp. The object bound with the name myEJB in this example happens to be an EJB home reference. The whole name myApp/myEJB is relative to the initial context, which we can view as a starting place when performing naming operations.

Use security to control access to the namespace.

In Java EE or Java Platform, Standard Edition (Java SE) environments, some JNDI operations are performed with java: URL names. Names bound under these names are bound to a completely different namespace which is local to the calling process. However, some lookups on the java: namespace may trigger indirect lookups to the name server.


Subtopics


Related:

  • Namespace logical view
  • Use naming
  • Lookup names support in deployment descriptors and thin clients
  • Naming roles