Network Deployment (Distributed operating systems), v8.0 > Applications > Naming and directory > Naming
Configured name bindings
Overview
Administrators can configure bindings into the namespace. A configured binding is different from a programmatic binding in that the system creates the binding every time a server is started, even if the target context is in a transient partition.
Administrators can add name bindings to the namespace through the configuration. Name servers add these configured bindings to the namespace view, by reading the configuration data for the bindings. Cell-scoped configured bindings provide a fixed qualified name for server application objects.
Scope
We can configure a binding at one of the following four scopes:
Cell-scoped bindings Created under the cell persistent root context. Node-scoped bindings Created under the node persistent root context for the specified node. Server-scoped bindings Created under the server root context for the selected server. Cluster-scoped bindings Created under the server root context in each member of the selected cluster.
If a binding is to be used only by clients of an application running on a particular server (or cluster), or to configure a binding with the same name on different servers (or clusters) which resolve to different objects, a server-scoped (or cluster-scoped) binding would be appropriate. At the cell scope, only one binding with a given name can exist.
Intermediate contexts
Intermediate contexts created with configured bindings are read-only. For example, if an EJB home binding is configured with the name...
some/compound/name/ejbHome
...the intermediate contexts...
- some
- some/compound
- some/compound/name
...will be created as read-only contexts. We cannot add, update, or remove any read-only bindings.
The configured binding name cannot conflict with existing bindings. However, configured bindings can use the same intermediate context names. Therefore, a configured binding with the name...
some/compound/name2/ejbHome2
...does not conflict with the previous example name.
Configured binding types
Types of objects that you can bind...
EJB EJB home installed in some server in the cell The following data is required to configure an EJB home binding:
- JNDI name of the EJB server or server cluster where the enterprise bean is deployed
- Target root for the configured binding (scope)
- The name of the configured binding, relative to the target root.
A cell-scoped EJB binding is useful for creating a fixed lookup name for an enterprise bean so that the qualified name is not dependent on the topology.
In stand-alone servers, an EJB binding resolving to another server cannot be configured because the name server does not read configuration data for other servers. That data is required to construct the binding.
CORBA CORBA object available from some CosNaming name server We can identify any CORBA object bound into some INS compliant CosNaming server with a corbaname URL. The referenced object does not have to be available until the binding is actually referenced by some application. The following data is required in order to configure a CORBA object binding:
- The corbaname URL of the CORBA object
- An indicator if the bound object is a context or leaf node object (to set the correct CORBA binding type of context or object)
- Target root for the configured binding
- The name of the configured binding, relative to the target root
Indirect Any object bound in WAS namespace accessible with JNDI Besides CORBA objects, this includes...
- javax.naming.Referenceable
- javax.naming.Reference
- java.io.Serializable
The target object itself is not bound to the namespace. Only the information required to look up the object is bound. Therefore, the referenced name server does not have to be running until the binding is actually referenced by some application. The following data is required in order to configure an indirect JNDI lookup binding:
- JNDI provider URL of name server where object resides
- JNDI lookup name of object
- Target root for the configured binding (scope)
- The name of the configured binding, relative to the target root.
A cell-scoped indirect binding is useful when creating a fixed lookup name for a resource so that the qualified name is not dependent on the topology. We can also achieve this topology by widening the scope of the resource definition.
String String constant We can configure a binding of a string constant. The following data is required to configure a string constant binding:
- String constant value
- Target root for the configured binding (scope)
- The name of the configured binding, relative to the target root
Naming
Namespace logical view
Configure namespace bindings
Use naming
Related
Lookup names support in deployment descriptors and thin clients
Naming in WAS V5: Impact on Migration and Interoperability Concept topic