The namespace for the entire cell is federated among all servers in the cell. Every server process contains a name server. All name servers provide the same logical view of the cell namespace.
The various server roots and persistent partitions of the namespace are interconnected by a system namespace. You can use the system namespace structure to traverse to any context in a cell's namespace.
A logical view of the namespace in a multiple-server installation is shown in the following diagram.
The bindings in the preceding diagram appear with solid arrows, labeled in bold, and dashed arrows, labeled in gray. Solid arrows represent primary bindings. A primary binding is formed when the associated subcontext is created. Dashed arrows show linked bindings. A linked binding is formed when an existing context is bound under an additional name. Linked bindings are added for convenience or interoperability with previous WebSphere® Application Server versions.
A cell namespace is composed of contexts which reside in servers throughout the cell. All name servers in the cell provide the same logical view of the cell namespace. A name server constructs this view at startup by reading configuration information. Each name server has its own local in-memory copy of the namespace and does not require another running server to function. There are, however, a few exceptions. Server roots for other servers are not replicated among all the servers. The respective server for a server root must be running to access that server root context.
There are five major partitions in a cell namespace:
All contexts in the system namespace are read-only. You cannot add, update, or remove any bindings.
Server-scoped configured name bindings are relative to a server's server root.
It is important to note that the cell persistent area is not designed for transient, rapidly changing bindings. The bindings are more static in nature, such as part of an application setup or configuration, and are not created at run time.
Cell-scoped configured name bindings are relative to a cell's cell persistent root.
Applications that need to create additional persistent bindings of objects associated with a specific node can bind those objects under that particular node's node persistent root. As with the cell persistent area, it is important to note that the node persistent area is not designed for transient, rapidly changing bindings. These bindings are more static in nature, such as part of an application setup or configuration, and are not created at run time.
Node-scoped configured name bindings are relative to a node's node persistent root.
The applications partition contains namespaces that are remotely accessible. The root of the java:global namespace is the applications root context. The roots of other namespaces are under the com.ibm.ws.AppNameSpaces subcontext. For example, the java:app root context for the application, MyApp, is bound with the name, MyApp/root relative to com.ibm.ws.AppNameSpaces. Module and component namespaces are only accessible remotely when the module is a client module in a server-deployed mode or in a federated mode. For example, the java:module root context for the server-deployed client module MyClientModule in the application MyApp is bound with the name MyApp/MyClientModule/root relative to com.ibm.ws.AppNameSpaces. The component namespace, which contains comp/env bindings, for that same module is bound under MyApp/MyClientModule/ClientComponent/root relative to com.ibm.ws.AppNameSpaces.
Application resources–such as EJB references, resource references, and environment entries–with java:global names are bound into the java:global namespace when the defining application is installed. The application does not need to be running for those name bindings to be available to other applications.