The naming service is an example of an object repository. It is a standard CORBA service, implementing the Interface Definition Language specified by the Object Management Group.
Application servers export object references into the naming service, providing an associated name. The naming service stores these object references in its database, keyed by the supplied name. Later, clients retrieve objects from the naming service by providing a name. The naming service returns the object reference with the matching name. The client and server have been successfully decoupled from one another. The client no longer has to have any configuration information about the server or host in which the object lives. The client simply asks for the object by name, and then begins using it. If the object is relocated, the object reference stored in the naming service database can simply be updated. The next time a client asks for the object by name, it will automatically obtain the new object reference.