Naming is used by clients of WebSphere® Application Server applications most
commonly to obtain references to objects related to those applications,
such as Enterprise JavaBeans (EJB) homes.
About this task
The Naming service
is based on the Java Naming
and Directory Interface (JNDI) Specification and the Object Management
Group (OMG) Interoperable Naming (CosNaming) specifications Naming
Service Specification, Interoperable Naming Service revised chapters
and Common Object Request Broker: Architecture and Specification (CORBA).
Procedure
- Develop your application using either JNDI or CORBA CosNaming interfaces.
Use these interfaces to look up server application objects
that are bound into the namespace and obtain references to them. Most
Java developers use the JNDI interface. However, the CORBA CosNaming
interface is also available for performing Naming operations on WebSphere Application Server name servers or
other CosNaming name servers.
- Assemble
your application using an assembly
tool.
Application assembly is a packaging and
configuration step
that is a prerequisite to application deployment. If the application
you are assembling is a client to an application running in another
process, you should qualify the jndiName values in the deployment
descriptors for the objects related to the other application. Otherwise,
you might need to override the names with qualified names during application
deployment. If the objects have fixed qualified names configured for
them, you should use them so that the jndiName values do not depend
on the other application's location within the topology of the cell.
- Optional: Verify that your application
is assigned
the appropriate security role if administrative security is enabled.
For more information on the security roles, see Naming roles.
- Deploy
your application.
Install your assembled
application on an application server. If the application you are assembling
is a client to an application running in another server process, be
sure to qualify the jndiName values for the other application's server
objects if they are not already qualified. For more information on
qualified names, refer to Lookup names support in deployment descriptors and thin clients.
- Configure
namespace bindings. This step is necessary in these
cases:
- Your deployed application is to be accessed by legacy
client applications
running on previous versions of the product. In this case, you must
configure additional name bindings for application objects relative
to the default initial context for legacy clients. (Version 5 clients
have a different initial context from legacy clients.)
- The
application requires qualified name bindings for such reasons
as:
- It will be accessed by Java Platform, Enterprise
Edition (Java
EE) client applications or server applications running in another
server process.
- It will be accessed by thin client applications.
In this case, you can configure name bindings as additional
bindings for application objects. The qualified names for the configured
bindings are fixed, meaning they do not contain elements of
the cell topology that can change if the application is moved to another
server. Objects as bound into the namespace by the system can always
be qualified with a topology-based name. You must explicitly configure
a name binding to use as a fixed qualified name.
For more information on qualified names, refer to Lookup names support in deployment descriptors and thin clients. For more information
on configured name bindings, refer to Configured name bindings.
- Troubleshoot
any problems that develop.
If a Naming operation
is failing and you need to verify whether certain name bindings exist,
use the dumpNameSpace tool
to generate a dump of the namespace.
What to do next
Specify
jndiName values as needed when you assemble or
deploy applications, or after deployment.