Опубликован: 04.07.2008 | Доступ: свободный | Студентов: 629 / 31 | Оценка: 4.83 / 5.00 | Длительность: 42:11:00
Лекция 8:

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

LDAPSync Solution

LDAPSync Solution является комбинацией программного продукта и службы, предлагаемой IBM Software Services for Lotus. Он включает в себя инструментарий, который может быть использован для предоставления средств синхронизации данных между каталогами, имеющими возможность работать с LDAP, и базами данных Domino. Если быть более точным, он предоставляет средства для импортирования информации корпоративных каталогов, не имеющих отношения к Domino, в среду Lotus.

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

Инструментарий включает три компонента:

  1. LDAPSync: используется для загрузки информации из каталога LDAP и импортирования ее в базу данных Domino.
  2. SynchroNSF: используется для репликации информации между двумя базами данных Domino, которые не используют совместно одну и ту же конструкцию (другими словами, синхронизирует две базы данных, которые не могут быть реплицированы с применением нормальной репликации Domino, так как они не являются репликами друг друга).
  3. RunAgent: используется для запуска агентов из-за пределов Domino.

Комбинация трех этих программ предоставляет мощные средства синхронизации между каталогами LDAP и Domino.

LDAPSync может использоваться в различных целях. Например, этот компонент может быть использован:

  • Для объединения данных, извлеченных из различных каталогов-источников, в единственной базе данных Domino. Это может быть полезно, к примеру, когда используется два различных каталога LDAP: один может содержать персональную информацию (фамилию, возраст и т. д.), а другой может содержать телефонные номера. С помощью LDAPSync можно соединить информацию в отдельном каталоге Domino.
  • Рассылки информации, сохраненной в отдельном каталоге LDAP, во множество баз данных. Это, например, может быть полезно, если основной репозиторий различных подразделений компании сохранен в каталоге LDAP. Этот список может быть необходим различным приложениям, таким, как "Employee Change Requests" и "Travel Requests". В таких случаях установление отношений между корпоративным каталогом и этими приложениями/базами данных возможно с применением LDAPSync.
  • Введения в действие связи между именами и адресными книгами Notes (Notes Names&Address Books) и корпоративными каталогами.

RunAgent может использоваться для запуска специальных агентов, например для обновления данных "на лету". Классическим способом использования этого компонента является вызов его в командном файле после LDAPSync. В свою очередь, агент может форматировать полные имена Notes (Notes Full Names), так как их часто надо получать из отличительных имен X.500 (X.500 Distinguished Name).

SynchroNSF может реплицировать поля данных из баз данных Domino разнородной структуры. Телефонные номера служащих могут быть автоматически вставлены в базу данных, содержащую "Software Bug Reports", а также в каталог Domino.

Рис. 8.1 отображает типичное приложение, использующее этот инструментарий.

LDAPSync может быть использован для выполнения одного или более следующих типов синхронизации данных:

  • простая синхронизация (simple synchronization);
  • рассылка (broadcast);
  • резюмирование (summarization);
  • согласование (consistency).
Простая синхронизация

Простая синхронизация (simple synchronization) означает, что содержимое базы данных-источника синхронизируется с единственной базой данных-целью (одна к одной).

Пример потока данных LDAPSync

увеличить изображение
Рис. 8.1. Пример потока данных LDAPSync
Простая синхронизация

Рис. 8.2. Простая синхронизация

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

Например, при использовании каталога LDAP как базы данных-источника рассмотрим создание базы данных "Business card", содержащей только элементы, относящиеся к человеку ( ObjectClass=Person ). Из этих элементов может быть осуществлена выборка только полей имени ( Name ), имени человека ( First Name ), адреса ( Address ) и номера телефона ( Phone number ).

Синхронизация может также быть реализована, когда база данных-цель уже существует (со всеми своими документами) и вы желаете только оказать воздействие на одно или два поля в существующих документах. К примеру, если вы работаете с кадровым каталогом LDAP, включающим номера телефонов служащих компании, вы можете обновлять номера телефонов в документах Person каталога Domino.

Рассылка

Синхронизация в виде рассылки (broadcast) – это когда вы синхронизируете единственную базу данных-источник со множеством баз данных-целей (одна ко многим).

Рассылка позволяет распространять содержимое базы данных-источника по направлению ко многим базам данных-целям, например, если вы использовали каталог LDAP для обновления одной базы данных, включающей людей, и другой базы данных, включающей группы. Процесс рассылки данных из одной базы данных-источника во множество баз данных-целей может быть представлен как последовательность простых синхронизаций, которые совместно используют общую базу данных-источник.

Резюмирование

Резюмирование (summarization) – это когда вы синхронизируете множество баз данных-источников с единственной базой данных-целью (многие к одной).

Синхронизация в виде рассылки

Рис. 8.3. Синхронизация в виде рассылки

Процесс резюмирования позволяет вам сгруппировать содержимое нескольких баз данных (источника) в единственную базу данных (цель). Резюмирование данных из нескольких баз данных-источников в единственную базу данных-цель можно представить как последовательность простых синхронизаций различных источников с общей базой данных-целью.

Согласованность данных

При синхронизации в виде обеспечения согласованности данных (data consistency) содержимое базы данных-источника синхронизируется с другой базой данных (одна к одной), однако документы и атрибуты данных необязательно находятся между собой в отношении "один к одному".

Синхронизация в виде резюмирования

Рис. 8.4. Синхронизация в виде резюмирования

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

В отличие от реляционных баз данных Domino не может установить связи между полями, которые сохранены в различных документах. К примеру, документы Person в вашем каталоге Domino содержат имена и телефонные номера ваших торговых агентов. Теперь предположим, что эти телефонные номера хранятся также в других базах данных Domino, каких, как Customer management (Управление клиентами), Sales leads (Потенциальные покупатели) и Purchasing (Покупки). Если телефонный номер изменен в документе Person, Domino не может в действительности передать это изменение документу другой базы данных, которая также содержит этот телефонный номер.

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

LDAPSync может использоваться для поддержания строгого соответствия (постоянства) между значениями полей, которые сохранены в различных документах/базах данных, без необходимости модифицировать уже используемые базы данных. Вы должны определить базу данных, содержащую контрольные значения (например, это будет каталог LDAP вашей компании), как авторитетную базу данных-источник, а также определить базы данных, содержащие вторичные значения [каталог Domino, база данных Contacts (Контакты) и т. д.], как базы данных-цели. LDAPSync будет выполнять обновление этих значений всякий раз, когда будут изменяться контрольные значения.

Обратите внимание на то, что LDAPSync ограничен до выборки данных из баз данных-источников LDAP или Domino и способен обновлять только базы данных Domino. Для обеспечения способности к взаимодействию с дополнительными типами источников и целей данных мы рекомендуем инструмент IBM Tivoli Directory Integrator, который мы обсудим далее.

Синхронизация в виде обеспечения согласованности данных

Рис. 8.5. Синхронизация в виде обеспечения согласованности данных