В феврале на рынке появились два новых инструментальных комплекта, позволяющие выйти за узкие рамки частных служб каталогов. Оба они предоставляют надежный фундамент, опираясь на который разработчики корпоративных приложений могут создавать высокопроизводительные сетевые продукты, совместимые с различными структурами каталогов.
ADSI поддерживает только четыре типа объектов, что не позволяет транслировать некоторые из объектов NDS
Клиентские браузеры с установленным LDAP Service for NDS получают доступ к объектам NDS на уровне приложений. Главное достоинство такого подхода состоит в том, что связи между каталогами обрабатываются по протоколу Novell Directory Access Protocol.
Новые объекты LDAP Group и LDAP Server позволяют определить атрибуты каталога, которые можно раскрывать для каждого конкретного клиента
Корпорация Microsoft представила ADSI (Active Directory Services Interface -активный интерфейс службы каталога) -комплект разработки клиентского ПО под Win32. Приложения, созданные в соответствии с этой спецификацией, не будут зависеть от конкретной реализации каталога и благодаря этому смогут работать с объектами каталогов типа контейнер (container object) и лист (leaf object) в смешанных средах NT-DS, NDS и LDAP (Lightweight Directory Access Protocol -упрощенный протокол доступа к каталогам).
Почти одновременно фирма Novell выпустила LDAP Service for NDS -загружаемый модуль для NetWare 4.11 и расширения схемы дерева каталогов. Новое ПО дает возможность использовать клиенты, совместимые с LDAP 2 (например, браузер Navigator 3.0 корпорации Netscape Communications), для доступа через Internet к приложениям, очередям на печать, атрибутам пользователей и другим ресурсам Службы каталога Novell (NDS).
Судя по результатам испытаний, проведенных в Тестовом центре PC Week Labs, новые продукты должны понравиться всем. Тем, кто занят созданием внутрикорпоративных приложений, не зависящих от системы каталога, поможет поддержка языка Visual Basic, заложенная в ADSI. А программисты фирм-производителей ПО для каталогов, скорее всего, отдадут предпочтение интерфейсам прикладного программирования LDAP, предоставляющим более широкие возможности.
В любом случае, у разработчиков появилась база, которая в будущем обеспечит совместимость каталогов любого производителя.
Шаг за шагом
В целом многоступенчатые инсталляция и настройка LDAP Service for NDS несколько утомительны, особенно по сравнению с простотой этого процесса в ADSI.
Завершив конфигурирование, мы запустили утилиту NWADMIN и просмотрели новые объекты LDAP Group и LDAP Server, появившиеся на схеме NDS. Они позволяют очень точно определять, какие атрибуты каталога можно раскрывать для каждого конкретного клиента.
Текущая спецификация LDAP (RFC 1777) предполагает использовать его в качестве клиента стандартного протокола доступа к каталогу. По этой причине в нем не предусмотрены функции тиражирования и обеспечения безопасности, что сильно мешает широкому внедрению протокола. Ожидается, что в следующей версии спецификации эти недостатки будут устранены.
А тогда и корпорации Microsoft, и фирме Novell придется внести изменения в свои продукты, чтобы добиться столь необходимой всем совместимости каталогов.
Все подходы хороши
Протокол LDAP по своей сути совместим с любой службой каталога, однако его низкоуровневые интерфейсы прикладного программирования, написанные на привычном для разработчиков языке Си, все же очень сложны в работе. Корпорация Microsoft ввела в ADSI и сопутствующий инструментарий поддержку языков высокого уровня, в частности Visual Basic, Perl, REXX и Си/Си++.
К сожалению, ADSI поддерживает не все типы объектов, присутствующие в LDAP, что существенно снижает возможности нового комплекта. Безусловно, ADSI намного упрощает создание базовых приложений, использующих каталоги, но иногда разработчику не обойтись без LDAP. При написании программ, оперирующих объектами всех типов в смешанных средах каталогов, приходится задействовать реализованные в этом протоколе низкоуровневые обращения к службам каталога на языке Си.
В состав ADSI входят компоненты “поставщиков услуг доступа к каталогам” (“провайдеры”), обеспечивающие связь клиентских приложений со службами каталога. Microsoft включила в свой продукт такие компоненты для серверов NetWare 3.x (каталоги на основе таблиц bindery) и NDS, Windows NT-DS и LDAP.
На сегодняшний день спецификация поддерживает только объекты четырех типов: пользователи, группы пользователей, каталоги и тома. Таким образом, ADSI не обеспечивает прямую трансляцию других объектов NDS. Для внесения изменений в схему данных Microsoft оснастила свой инструментальный комплект объектами ADSI Schema Management. Взаимодействуя с компонентами поставщиков, они позволяют распространить внесенные изменения на весь каталог.
Клиентские приложения для ADSI должны создаваться на основе Win32 (Windows 95 или Windows NT). Как следствие, в клиентских средах OS/2 Warp, Macintosh и Unix пользователям не удастся воспользоваться преимуществами нового интерфейса. В комплект разработки приложений включено несколько компонентов-“провайдеров”, однако их перечень далеко не полон. Для таких каталогов, как Distributed Computing Environment корпорации IBM или StreetTalk фирмы Banyan Systems, их еще предстоит создать, причем заняться этим должны сами производители каталогов.
Доступ клиента к хранящимся в каталоге данным с помощью интерфейсов прикладного программирования (API) ADSI обеспечивают компоненты-“провайдеры”, создающие единую объектную модель. ADSI переносит совместимость каталогов на уровень клиентов, оставляя механизм связи каталогов открытым.
Пока же ADSI представляет собой новую спецификацию, которой еще предстоит завоевать сердца разработчиков. Нам кажется, что если корпоративные отделы ИТ примут ее, это сулит им больше преимуществ, чем проблем.
Для проверки возможностей спецификации Microsoft мы установили на своем клиенте, работавшем под управлением Windows NT 4.0 Workstation, пакет Service Pack 2 для NT и файлы поддержки ADSI.
Поскольку клиентских приложений для ADSI пока не существует, корпорация предоставила небольшую демонстрационную программу, которую мы использовали для просмотра каталога NDS тестовой сети (см. рис. слева).
После того как в спецификацию LDAP 2 будут введены функции тиражирования и обеспечения безопасности, на смену частному интерфейсу NDAP придет новый стандарт LDAP 3. Кроме того, компонент-“провайдер” LDAP 3 для ADSI позволит использовать языки программирования высокого уровня.
Пакет LDAP Service for NDS фирмы Novell предназначен для работы с загружаемым на сервере модулем LDAP.NLM и клиентами Novell для ОС Windows 3.x, Windows 95 и Windows NT. В наших тестах мы использовали клиентское ПО IntranetWare Client for Windows NT фирмы Novell, а для доступа к информации NDS -предварительную версию браузера Netscape Communicator, совместимую с LDAP 2 (см. рис. справа).
Марк Станчак (PC Week Labs)