Naming is a crucial aspect of any system. Files are the most obvious kind of object for which naming matters, but many other types of objects are affected by naming. Because different developers typically work on different aspects of a system, the naming rules for certain categories of objects can differ radically. Monikers (sometimes known as intelligent names) are a standard and extensible way of naming and connecting to objects throughout the system. Simply put, a moniker is an object that identifies another object.
Like other areas of COM+, the namespace is rich and complex. Unlike other parts of COM+, monikers have been slow to gain acceptance by developers both inside and outside Microsoft. This situation is changing, however, because monikers are used throughout Microsoft Windows 2000, including technologies such as Active Directory as well as COM+ component services such as queued components. In this chapter, we'll explain why monikers are so important and how you can take advantage of this technology in your designs.