Опубликован: 04.07.2008 | Уровень: профессионал | Доступ: платный
Лекция 8:

Стратегии каталогов

IBM Tivoli Directory Integrator

Интегратор каталогов IBM Tivoli Directory Integrator синхронизирует личностные данные, постоянно хранящиеся в каталогах; базах данных; объединенных системах; приложениях, используемых для кадровых приложений (HR), приложений по управлению взаимодействием с клиентами (CRM), приложений по планированию и управлению ресурсами предприятий (ERP) и других корпоративных приложений.

Выступая в качестве уровня обеспечения гибкой синхронизации между личностной структурой компании и источниками данных о личностях для приложений, Directory Integrator устраняет потребность в централизованном хранилище данных. Для тех организаций, которые избрали решение по развертыванию центрального каталога организации, Directory Integrator способен помочь упростить процесс за счет подключения к личностным данным из различных репозиториев организации и обновления центрального, главного каталога.

С некоторыми встроенными соединительными элементами (connectors), средой разработки Java с открытой архитектурой для расширения или модификации этих соединительных элементов и c инструментами для применения определенной логики к данным на этапе их обработки Directory Integrator может использоваться:

  • для синхронизации и обмена информацией между приложениями или каталогами-источниками;
  • управления данными во всем многообразии репозиториев, предоставления единообразной инфраструктуры каталогов, необходимой для широкого разнообразия приложений, включая безопасность и оценку ресурсов (provisioning);
  • создания авторитетных пространств данных, необходимых для предоставления современным программным приложениям (таким, как Web-службы), только заслуживающих доверия данных.

IBM Tivoli Directory Integrator является компонентом решения по управлению идентификаторами личностей (identity management) компании IBM, который может помочь вам достичь того, что пользователи, системы и приложения будут работать в темпе поступления информации (online), а также достичь устойчивой производительности, уменьшения стоимости и максимального возврата инвестиций. Решение по управлению идентификаторами личности от компании IBM предусматривает управление жизненным циклом идентификаторов личности (самообслуживание, регистрация и подготовка к работе пользователей), контроль идентификаторов личности (управление доступом и секретностью, единый вход и аудит), объединение идентификаторов личности (совместное использование доверенными приложениями Web-служб аутентификации пользователей и информации об атрибутах) и учреждение идентификаторов личности (каталог и последовательность выполняемых действий) в целях обеспечения эффективного управления внутренними пользователями, а также увеличения количества кли ентов и партнеров посредством применения Интернета.

Архитектура программного обеспечения Directory Integrator включает:

  • Методологию "сборочного конвейера" (assembly line), которая приводит к построению сложного информационного объекта из соединенных источников информации, выполнению модификаций полученных данных или созданию совершенно новых элементов и добавлению/изменению/удалению нового информационного объекта по заданным местам назначения (целям). Сборочные конвейеры получают информацию из различных входных узлов, выполняют операции на входе и затем переправляют финальный продукт через выходные узлы. Сборочные конвейеры интегратора каталогов работают над одним элементом в каждый момент времени, например над одной записью данных, элементом каталога, ключом реестра и т. д.
  • Соединительные элементы (connectors) для поддержания многочисленных протоколов и механизмов доступа включены вместе с продуктом или могут быть легко созданы или модифицированы. Соединительные элементы предусматривают входные и выходные узлы сборочного конвейера. Каждый соединительный элемент завязан на источник данных и также является элементом, где имеют место преобразование и объединение данных.
  • Структуру обработчика событий (Event Handler), которая добавляет гибкости продукту Directory Integrator путем предоставления возможности ожидать и реагировать на определенные события, имеющие место в инфраструктуре (такие, как изменения в каталоге, прибытие электронной почты, обновление записей в некоторых базах данных, входящие HTML-страницы от Web-сервера или браузера, прибытие сообщений протокола Simple Object Access Protocol (SOAP) на основе Web-служб, а также другие определенные пользователем типы событий).
  • Синтаксические анализаторы (parsers) для интерпретации и преобразования информации из потока байтов в структурированный информационный объект, в котором каждая часть информации доступна по имени. Вы можете также преобразовать структурированный информационный объект в поток байтов. Вы можете осуществить выбор из широкого диапазона расширяемых синтаксических анализаторов, таких, как разделенные запятой значения, фиксированный столбец, формат LDAP Data Interchange Format (LDIF), язык разметки Extensible Markup Language (XML), SOAP, язык Directory Services Markup Language (DSML), либо можете создать новый синтаксический анализатор с нуля.
  • Перехватчики (hooks), которые разрешают определение неких действий для выполнения при наступлении заданных обстоятельств либо заданных точек в выполнении процесса на сборочном конвейере.
  • Критерии связи (Link Criteria), которые являются правилами установления соответствия атрибутов между двумя (или более) каталогами. Критерии связи могут быть простыми, такими, как сравнивание на предмет строка (а) = строке (б), или сложными, использующими скрипты для выполнения требуемых для проведения сравнения функций преобразования, таких, как f(а)=(б). Встроенными в интегратор каталогов функциями сравнения для установления связи являются: equals (равен), not equals (не равен), contains (содержит), starts with (начинается с), ends with (заканчивается на). Все другие операции сравнения должны выполняться с применением пользовательских скриптов.
  • Рабочие элементы (Work Entries), которые являются именами внутренних переменных, используемых для временного хранения значений из элементов каталогов. Значения могут быть прочтены прямо из заданных атрибутов либо могут быть вычислены Java или perl-скриптом, которые при наличии на входе множества атрибутов выполняют некоторые манипуляции или преобразования строковых данных.

Интегратор каталогов устраняет временные и финансовые затраты, обычно требуемые для заказной разработки интерфейсов соединений в интересах широкого множества репозиториев данных. Предусмотренные при создании соединительные элементы (допускаются изменения) включают:

  • Btree Object DB Connector,
  • Command Line Connector,
  • Domino Users Connector,
  • File System,
  • FTP Client Connector,
  • Old HTTP Client Connector,
  • HTTP Client Connector,
  • Old HTTP Server Connector,
  • HTTP Server Connector,
  • IBM MQ Series (JMS),
  • IBM Directory Changelog Connector,
  • JMS Connector,
  • JNDI,
  • LDAP,
  • Lotus Notes,
  • MailboxConnector Connector,
  • Memory Stream Connector,
  • Netscape/iPlanet Changelog Connector,
  • NT4,
  • Script Connector,
  • SNMP Connector,
  • TCP Connector (generic),
  • URL Connector (generic),
  • (Runtime provided) Connector,
  • Web Service Connector,
  • C.

Ключевой концепцией продукта Directory Integrator является конструкция сборочного конвейера (assembly line), причем может быть использовано множество сборочных конвейеров. Каждый сборочный конвейер может состоять из множества входов или множества выходов либо из того и другого вместе, как это выглядит на схеме простого потока данных на рис. 8.6

Поток данных сборочного конвейера Directory Integrator

Рис. 8.6. Поток данных сборочного конвейера Directory Integrator

Здесь вы видите третий источник данных (data source) DS3, получающий данные от исходного источника данных DS1. Параллельно с этим поток данных агрегирует информацию от второго источника данных DS2. В терминологии Directory Integrator подобный поток данных упоминается как "сборочный конвейер" (assembly line).

Важно понимать, что каждый сборочный конвейер реализует отдельный однонаправленный поток данных. Если вы желаете осуществить двунаправленную синхронизацию между двумя или более источниками данных, то вы должны использовать раздельный сборочный конвейер для обработки потока в каждом из направлений, как показано на рис. 8.7. Основанием для этого является тот факт, что форма и содержание данных, а также и выполняемые над данными операции с большой вероятностью различны для каждого из направлений. Рис. 8.7 отображает логическую схему двунаправленного потока при фактическом наличии двух однонаправленных сборочных конвейеров, требуемых для этого.

Двунаправленный поток интегратора каталогов при использовании двух однонаправленных сборочных конвейеров

Рис. 8.7. Двунаправленный поток интегратора каталогов при использовании двух однонаправленных сборочных конвейеров

Хотя и не существует ограничений на количество соединительных элементов, которые могут содержать сборочные конвейеры, последние должны содержать настолько мало соединительных элементов, насколько это возможно (например, по одному на участвующий в потоке источник данных), несмотря на то что в то же время они должны включать достаточное количество компонентов и скриптовой логики для обеспечения своей максимально возможной автономности. Помимо указанного, основанием для этого является выполнение сборочного конвейера простым для понимания и обслуживания. К тому же это приведет к более простым, более быстрым и более масштабируемым решениям. За пределами Directory Integrator весь подход сводится к тому, что мы имеем дело с потоками как с одним целым единовременно, что упрощает формулировку задачи, и таким образом вы можете сфокусировать внимание на потоке, идущем от одного каталога к другому.

Для конфигурирования сборочных конвейеров и составляющих соединительных элементов Directory Integrator предоставляет мощный графический интерфейс пользователя (GUI). В последующих нескольких изображениях мы отобразим некоторые виды экранов GUI из сборочного конвейера Idaptodom.

Входным каталогом является каталог LDAP, и мы назвали соединительный элемент readldap. Он был создан с применением стандартного типа соединительного элемента LDAP. Выходным каталогом будет каталог Domino, соединительный элемент называется updatedomuser и использует тип соединительного элемента Domino User. Когда будет сконфигурирована информация соединения для каталога LDAP, для идентификации атрибутов LDAP в GUI будет использован автоматический инструмент получения схемы. Рис. 8.8 отображает получение схемы с использованием GUI.

Получение схемы примера входного соединительного элемента сборочного конвейера при использовании GUI администратора

увеличить изображение
Рис. 8.8. Получение схемы примера входного соединительного элемента сборочного конвейера при использовании GUI администратора

Как только для индикации доступных атрибутов будет сконфигурирована схема каталога-источника, атрибуты должны быть преобразованы в промежуточные рабочие элементы (атрибуты), как показано на рис. 8.9 (преобразование идет справа налево).

Преобразование атрибутов примера входного соединительного элемента сборочного

увеличить изображение
Рис. 8.9. Преобразование атрибутов примера входного соединительного элемента сборочного

Как показано на рис. 8.9, у нас выбран атрибут соединительного элемента InternetAddress, и он определен для внутреннего рабочего атрибута с тем же именем. Следующим шагом осуществляют преобразование атрибутов данных промежуточных рабочих элементов в выходные атрибуты (Domino). Рис. 8.10 отображает, как определяется выходное преобразование для каждого доступного атрибута соединитель конвейера при использовании GUI администратора ного элемента Domino User. На рис. 8.10 обратите внимание на то, что на панели Connector Attribute подсвечен InternetAddress и рабочим элементом, от которого он будет получать данные, является InternetAddress (преобразование идет слева направо).

Преобразование атрибутов примера выходного соединительного элемента сборочного конвейера при использовании GUI администратора

увеличить изображение
Рис. 8.10. Преобразование атрибутов примера выходного соединительного элемента сборочного конвейера при использовании GUI администратора

В этом случае на выходе используется соединительный элемент Domino User, который имеет предопределенные атрибуты и предусматривает специфицированные дополнительные атрибуты.

Этот пример не отображает все виды экранов (закладки), задающие конфигурацию для сборочного конвейера. Мы представили некоторые избранные виды экранов для демонстрации того, как может быть сконфигурировано преобразование атрибутов сложных данных при использовании GUI администратора Directory Integrator. С помощью этого инструмента без необходимости проведения какого бы то ни было программирования может быть построено множество различных сложных сборочных конвейеров.

Обратите внимание на то, что Directory Integrator с его обширной библиотекой соединительных элементов предоставляет все необходимое для создания информационных решений типа "запрос-ответ", таких, как Web-службы.

Антон Чурков
Антон Чурков
Россия, Владимир, Владимирский государственный университет, 2002
Елена Коппалина
Елена Коппалина
Россия, г. Губкинский