The naming service is used to establish points of contact between clients and servers. Together with the initialization service, it provides the basic bootstrap service in CORBA. Because of this bootstrap role, the naming service is also potentially a single point of failure. If you are interested in developing fault-tolerant applications, you will need to pay a lot of attention to this component of your architecture.
Naming is a relatively basic service. The operations give you the functionality you need to associate names with object references and to maintain a graph of naming contexts. If you need more sophisticated featuresfor example, a flexible search operation or utilities that can cope with cyclesyou have to supply these yourself. In most development projects, you will probably find it necessary to build a library layered on top of the naming service that provides the features you need.
Occasionally, you might want to go a step further and implement the whole naming service yourself. This is not as difficult as it sounds, and sometimes there are compelling reasons for doing so. If you already have a non-CORBA naming service that forms part of your architecture, it makes a lot of sense to reuse the old naming service. You could implement the CORBA naming service IDL as a wrapper around the old service. It is precisely this kind of flexibility that is the strength of the CORBA naming service.