Введение

В вычислительной технике термин "виртуальный каталог" имеет несколько значений. Он может просто обозначать (например, в IIS) папку, которая отображается в пути, но фактически не является подпапкой предыдущей папки в этом пути. Однако в данной статье термин рассматривается в контексте служб каталогов и управления идентификацией. Виртуальный каталог или виртуальный сервер каталогов (VDS) в этом контексте представляет собой программный слой, обеспечивающий единую точку доступа для приложений управления идентификацией и сервисных платформ. Виртуальный каталог функционирует как высокопроизводительный, легковесный слой абстракции, расположенный между клиентскими приложениями и разнородными хранилищами данных об идентификаторах, такими как проприетарные и стандартные каталоги, базы данных, веб-сервисы и приложения. Виртуальный каталог принимает запросы и направляет их к соответствующим источникам данных, абстрагируя и виртуализируя данные. Он интегрирует данные об идентификаторах из нескольких гетерогенных хранилищ и представляет их так, как будто они поступают из одного источника. Эта возможность доступа к разрозненным хранилищам делает технологию виртуальных каталогов идеальной для консолидации данных, хранящихся в распределенной среде. Виртуальные серверы каталогов чаще всего используют протокол LDAP, но более продвинутые виртуальные каталоги также могут поддерживать SQL, а также DSML и SPML. Эксперты отрасли отмечают важность виртуальных каталогов в модернизации инфраструктуры идентификации. По словам Дэйва Кернса из Network World, "виртуализация – это тренд, а виртуальный каталог – строительный блок или основа, на которую следует обратить внимание при реализации следующего проекта управления идентификацией". Кроме того, аналитик Gartner Боб Блэкли заявил, что виртуальные каталоги играют все более важную роль. В своем отчете "Развивающаяся архитектура управления идентификацией" Блэкли написал: "На первом этапе создание идентификаторов будет отделено от их использования посредством внедрения интерфейса виртуального каталога".

Образец терминологии

Унифицировать метаданные: извлекать схемы из локального источника данных, отображать их в общий формат и связывать одни и те же идентификаторы из различных хранилищ данных на основе уникального идентификатора. Объединение пространств имен: создание единого большого каталога путем объединения нескольких каталогов на уровне пространства имен. Например, если один каталог имеет пространство имен "ou=internal,dc=domain,dc=com", а второй каталог имеет пространство имен "ou=external,dc=domain,dc=com", то создание виртуального каталога, включающего оба пространства имен, является примером объединения пространств имен. Объединение идентификаторов: обогащение идентификаторов атрибутами, полученными из нескольких хранилищ данных, на основе связи между записями пользователей. Например, если пользователь joeuser существует в каталоге как "cn=joeuser,ou=users" и в базе данных с именем пользователя "joeuser", то идентификатор "joeuser" может быть сформирован как из каталога, так и из базы данных. Переназначение данных: преобразование данных внутри виртуального каталога. Например, сопоставление "uid" с "samaccountname", чтобы клиентское приложение, поддерживающее только стандартный источник данных, совместимый с LDAP, могло осуществлять поиск в пространстве имен Active Directory. Маршрутизация запросов: перенаправление запросов на основе определенных критериев, например, операции записи – на мастер-сервер, а операции чтения – на реплики. Маршрутизация идентификаторов: виртуальные каталоги могут поддерживать перенаправление запросов на основе определенных критериев (например, операции записи – на мастер-сервер, а операции чтения – на реплики). Авторитетный источник: "виртуализированный" репозиторий данных, такой как каталог или база данных, которому виртуальный каталог доверяет в отношении пользовательских данных. Группы серверов: объединение одного или нескольких серверов, содержащих одни и те же данные и функциональность. Типичным примером является среда с несколькими мастер-серверами и несколькими репликами, где реплики обрабатывают запросы на "чтение" и находятся в одной группе серверов, а мастер-серверы обрабатывают запросы на "запись" и находятся в другой, таким образом серверы группируются по их реакции на внешние воздействия, хотя все они используют одни и те же данные.