Finding resources is of particular importance in large-scale enterprise environments, where the applications you build may depend on services provided by applications written by other groups in other departments. JNDI provides a common-denominator interface to many existing naming services. Let's begin by taking a look at some of these services. The figure below depicts the organization of a generic naming service. A generic naming service A naming service maintains a set of bindings.
Bindings relate names to objects.
Clients use the naming service to locate objects by name. There are a number of existing naming services, a few of which I'll describe below. They each follow the pattern above, but differ in the details. Interestingly, DNS is a distributed naming service, meaning that the service and its underlying database is spread across many hosts on the Internet. Network naming services developed by Sun Microsystems.