In this chapter, we will provide some high-level guidance on designing schema extensions for Active Directory and ADAM, as well as some information on determining schema information at runtime. This information is meant to complement the schema basics we covered in Chapter 1.
This chapter does not explain every detail of extending the schema. Instead, we try to provide some guidance and tips that may not be easy to get from some other sources, as well as provide some perspective for enterprise developers who are probably coming from a relational database background in data design.
Unlike with relational database development, it is possible for an LDAP programmer never to modify the directory schema at all. In most organizations, getting approval to modify the Active Directory schema requires at least several meetings, and more often divine intervention. With ADAM, however, we are more likely to have the ability and the need to modify the schema.
Schema Extension Best Practices
Part I: Fundamentals
Introduction to LDAP and Active Directory
Introduction to .NET Directory Services Programming
Binding and CRUD Operations with DirectoryEntry
Searching with the DirectorySearcher
Advanced LDAP Searches
Reading and Writing LDAP Attributes
Active Directory and ADAM Schema
Security in Directory Services Programming
Introduction to the ActiveDirectory Namespace
Part II: Practical Applications
Part III: Appendixes
Appendix A. Three Approaches to COM Interop with ADSI
Appendix B. LDAP Tools for Programmers
Appendix C. Troubleshooting and Help