Understanding and Deploying LDAP Directory Services > 8. Namespace Design > The Purposes of a Namespace |
The Purposes of a NamespaceA namespace provides the means by which directory data is named and referenced. In this respect, directory entries need names for the same reason that you or I need a name ” so that we can be referred to by a more meaningful and precise term than "Hey, you!" In some environments few, if any, additional requirements are placed on the namespace. In others, requirements for access control, replication, data partitioning, application access, and perhaps other aspects of the service impose additional requirements. This section summarizes the more common purposes of a namespace, some of which may not have occurred to you:
You may be tempted to ascribe another purpose to your namespace, perhaps requiring that it should hold some aesthetic value of its own. After all, if people are going to have to look at the names, you might as well make them meaningful, even pleasing to look at. Perhaps your users might even be able to guess the names of entries given a standard, intuitively constructed namespace. Perhaps this is a nice idea in theory, but such dreams seldom work out in practice. Do not be fooled into considering such ideas. A namespace should have functional value primarily, and the structure of your namespace should be hidden from users as much as possible. The primary purpose of a name is to provide a unique way of referencing the entry, and the driver behind its design is ease of administration. The other purposes described, including the effect your namespace may have on replication and access control, may also affect your choice of namespace. But these goals are administrative, and they should not be inflicted upon your users. A directory client should hide the directory namespace from users of the client (or at the very least it should provide this option), which most modern clients do successfully. Failure to hide directory names often results in users being confused or upset by the name given to their entry, and users are unlikely to be sympathetic to the administrative concerns that caused you to name entries as you did. Furthermore, if you ever need to redesign your namespace, you will be glad you hid the original namespace from your users. Tip Choose names for administrative convenience, not aesthetic value. Try to hide names from users of the directory as much as possible. When developing applications, avoid making any assumptions about namespace design. Be sure to make your application flexible enough to adapt to different namespaces. In summary, a namespace is required to reference entries and provide features such as groups, and it should support the applications using the directory. Your choice of namespace interacts with other important design decisions, often constraining the choices available when distributing, replicating, or controlling access to your data. These considerations are primary; other considerations, such as the aesthetics of your namespace, should be given less weight.
|
Index terms contained in this sectionaccess controlnamespaces 2nd applications support namespaces choosing directory names data organizing namespaces 2nd partitioning namespaces 2nd referencing namespaces replication namespaces design namespace choosing names hiding from users purposes of 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th directories namespaces choosing names hiding from users purposes of 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th hiding namespaces from users namespaces choosing names hiding from users purposes of 2nd access control 2nd application support data organization 2nd data partitioning 2nd data reference data replication organizing data namespaces 2nd partitioning data namespaces 2nd referencing data namespaces replication data namespaces support application namespaces users hiding namespaces from |
2002, O'Reilly & Associates, Inc. |