2015-06-15 9 views

ответ

2

Плагин представляет собой модуль кода, который может работать внутри сервера OIM. Он содержит классы Java, которые выполняются вместе с метаданными (plugin.xml), который идентифицирует их. Существует много типов плагинов - тип определяется интерфейсом Java или абстрактным классом, который реализует/расширяет плагин.

Одним из основных компонентов OIM является механизм оркестровки. Он обрабатывает транзакции создания/обновления/удаления на основных объектах идентификации (например, Пользователь, Роль и т. Д.). Каждый процесс оркестровки включает в себя выполнение последовательности обработчиков событий, и каждый обработчик событий является плагином, реализующим oracle.iam.platform.kernel.spi.EventHandler. Многие из них поставляются из коробки, и вы также можете писать собственные. Например, вы можете установить обработчик событий для запуска после (postprocess) создания любого пользователя.

Однако существуют и другие типы плагинов - например, плагины для создания имени входа (oracle.iam.identity.usermgmt.api.UserNamePolicy). Некоторые из этих плагинов фактически вызывается обработчиками событий из коробки. Обработчики событий - это очень общий API (они схожи по концепции с триггерами базы данных) - они обладают большой властью, но если вы не будете осторожны с этой мощью, вы можете дестабилизировать свою среду OIM. Напротив, другие интерфейсы плагина выполняют только одну конкретную задачу (например, генерируют логин для нового пользователя), и, следовательно, риск от их использования намного меньше. Если вы можете решить свою проблему, используя какой-то более конкретный тип плагина, сделайте это, предпочитая использовать обработчик событий.

Вы также обнаружите, что, хотя некоторые из этих более специфических интерфейсов плагинов вызывается обработчиками событий вне коробки, другие вообще не вызывается механизмом оркестровки, а вместо этого другими компонентами в OIM. Например, запланированные задачи не выполняются механизмом оркестровки, а вместо этого встроенным планировщиком Quartz. Пользовательские запланированные задачи расширяют абстрактный класс oracle.iam.scheduler.vo.TaskSupport.

Хотя для каждого плагина необходимы метаданные фрейма плагина (plugin.xml), некоторым определенным типам плагинов нужны дополнительные метаданные, специфичные для этого типа. Например, обработчики событий нуждаются в EventHandlers.xml, загруженных в MDS; аналогично запланированные задачи должны быть определены в файле task.xml.

Не имеет значения, что у OIM 9.x также была концепция «обработчик событий», но технология отличалась от технологии в OIM 11g. Обработчики событий OIM 9.x расширяют класс com.thortech.xl.client.events.tcBaseEvent. Как правило, обработчики событий 9.x больше не поддерживаются в 11g.

Для получения дополнительной информации, прочитайте эту главы в Руководстве разработчика OIM 11.1.2.3: chapter 17 для основы разработки плагин, chapter 18 для разработки обработчиков пользовательских событий и chapter 16 для разработки пользовательских задач по расписанию, а также appendix B для разработки пользовательского имени пользователя и общего политики генерации/проверки имен.

Кроме того, если вы хотите, чтобы некоторые образцы, и иметь доступ к My Oracle Support, проверьте эти документы:

  • OIM11g: Пример кода для пользовательского Пользователь политики Generation Plugin Использование JDeveloper (Doc ID 1228035.1)
  • OIM11g: Пример кода для пользовательского обработчика событий Реализовано для предварительной стадии процесса Во время польз Управление по эксплуатации (Doc ID 1262803.1)
  • Как создать запрос валидатора для проверки Обоснование Атрибут в OIM 11g (Doc ID 1317087.1)
  • Как определить изменения атрибута пользователя OIM в модификации оркестровки (Doc ID 1535503.1)

 Смежные вопросы

  • Нет связанных вопросов^_^