XML и настройка каталогов LDAP
XML — общепринятый стандарт представления данных в среде Web. Поскольку службы каталогов получили широкое распространение и интегрированы с множеством Web-приложений, в них часто используются мощные гибкие средства языка XML. Современные серверы LDAP не совместимы с XML, но эти технологии весьма близки по структуре.
Язык разметки для служб каталогов Directory Services Markup Language (DSML, xml.coverpages.org/dsml.html) — новая технология представления содержащейся в каталоге информации на языке XML. Она призвана сыграть роль своеобразного моста, соединяющего сервисы каталогов и XML-совместимые приложения. DSML описывает содержимое служб каталогов различных производителей с помощью синтаксиса XML и тем самым обеспечивает возможность взаимодействия между ними.
Направив запрос на сервер Web-приложений, на котором выполняется сервис DSML, XML-совместимое приложение может считывать информацию из каталога. DSML определяется с помощью описания содержимого документа (document content description, DCD), где указываются правила и факторы, ограничивающие структуру, а также контент документов XML. На рис. 3 представлена типичная транзакция, в ходе которой сервис DSML преобразует записи LDAP в DSML.
Рис. 3. Транзакция, модифицированная в соответствии со спецификацией Directory Services Markup Language. Служба DSML преобразует записи LDAP в формат DSML для XML-совместимых приложений |
При обращении к содержимому каталогов средствами языка XML возникают новые требования к методам хранения и извлечения данных. Разработан ряд предложений по реализации эффективных методов хранения и извлечения данных на базе технологии LDAP. Некоторые методы управления [3, 4] предполагают установление соответствий между узлами объектной модели документов XML и записями LDAP. Такие процессы базируются на объектных процессорах, которые устанавливают соответствия между объектами XML и объектами LDAP. С этой целью они определяют новые классы объектов LDAP (для которых будут устанавливаться соответствующие узлы, элементы и атрибуты XML). Другой подход предполагает установление соответствий между узлами XML DOM и записями LDAP с помощью определений классов объектов LDAP для узлов XML [5].
Благодаря сходству структур некоторые модули могут транслировать запросы XPath в запросы LDAP. Точнее говоря, исследователи предложили модель запроса, базирующуюся на алгоритме оценки. Последний преобразует любой запрос XPath в серию запросов LDAP, которые решают задачу, сформулированную в исходном запросе [4]. Еще одна идея состоит в том, чтобы пользователи формулировали запросы Xpath, которые компонент XML2LDAP будет преобразовывать в формат LDAP, а затем компонент LDAP2XML будет преобразовывать полученный результат из формата LDAP в формат XML. Транслировать данные LDAP в формат XML может и синтаксический анализатор XML [7].