Поддержка языка программирования
Клиентские приложения ADSI можно писать на многих языках. Для большинства административных задач ADSI определяет интерфейсы и объекты, доступные на языках, совместимых с автоматизацией. Например, система разработки Microsoft Visual Basic, Microsoft Visual Basic Scripting Edition (VBScript) и Java, а также более эффективные языки, такие как C и C++.
Плавная интеграция с Active Server Pages и VBScript упрощает запись интернет-приложений, обращаюющихся к службам каталогов. Для интеграции с приложениями OLE DB ADSI предоставляет поставщик OLE DB, поддерживая подмножество интерфейсов запросов OLE DB. Поставщик OLE DB поддерживает доступ только для чтения к Active Directory.
Для интернет-приложений с помощью скриптов в файлах страницы Active Server (ASP) можно создавать и управлять объектами ADSI на сервере и отображать результаты на веб-странице. В консоли управления Майкрософт оснастки администрирования службы каталогов могут использовать ADSI для поиска интересующих служб каталогов. Короче говоря, интерфейсы службы Active Directory могут предоставлять доступ к широкому и разнообразному набору служб каталогов, включая еще не созданные.
Для доступа к структурам, используюющим традиционные API, архитектура ADSI определяет низкоуровневые интерфейсы, которые не поддерживают автоматизацию, доступную на таких языках, как C и C++. Эти интерфейсы не более COM-оболочки для сетевых протоколов в службе каталогов.
Написание кода в опубликованные интерфейсы позволяет приложению обращаться к службам каталогов для всех установленных поставщиков ADSI и интегрировать полученные данные. При отсутствии изменений в коде приложение может продолжать получать доступ к дополнительным службам каталогов в сети по мере установки новых поставщиков ADSI.
На следующем рисунке показано, как ADSI вписывается в среду приложения. Независимо от того, написано ли приложение в Visual Basic, C/C++, VBScript, системе разработки Microsoft JScript или в качестве веб-приложения с помощью Active Server Pages, интерфейсы службы Active Directory предоставляют чистый и простой доступ к базовым службам каталогов без необходимости использовать собственные сетевые API.
Как показано на предыдущем рисунке, клиенты, которые не поддерживают автоматизацию, имеют доступ ко всем интерфейсам ADSI, включая как чистые COM-интерфейсы с соглашениями об именовании IDirectoryXXXx, так и com-интерфейсы автоматизации с соглашением об именовании IADsXXXX. Так как клиенты преимущественно запрашивают информацию из служб каталогов, гибкая модель запросов ADSI с помощью OLE DB и IDirectorySearch эффективна.