Поделиться через


Поддержка языка программирования

Клиентские приложения 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 support for programming languages

Как показано на предыдущем рисунке, клиенты, которые не поддерживают автоматизацию, имеют доступ ко всем интерфейсам ADSI, включая как чистые COM-интерфейсы с соглашениями об именовании IDirectoryXXXx, так и com-интерфейсы автоматизации с соглашением об именовании IADsXXXX. Так как клиенты преимущественно запрашивают информацию из служб каталогов, гибкая модель запросов ADSI с помощью OLE DB и IDirectorySearch эффективна.