回答
插件是一代码模块可在OIM服务器内运行。它包含与元数据(plugin.xml
)一起执行的Java类,用于标识它们。插件有很多种类型 - 类型取决于插件实现/扩展的Java接口或抽象类。
OIM的核心组件之一是编排引擎。它处理核心身份对象(例如用户,角色等)上的创建/更新/删除事务。每个编排流程都涉及一系列事件处理程序的执行,每个事件处理程序都是一个实现oracle.iam.platform.kernel.spi.EventHandler
的插件。许多是开箱即用的,你也可以编写自定义的。例如,您可以安装一个事件处理程序,以在创建任何用户之后(后处理)运行。
但是,也有其他类型的插件 - 例如,登录名称生成插件(oracle.iam.identity.usermgmt.api.UserNamePolicy
)。其中一些插件实际上是由开箱即用的事件处理程序调用的。事件处理程序是一个非常通用的API(它们在概念上与数据库触发器类似) - 它们具有很强大的功能,但如果不小心使用该功能,则可能会破坏OIM环境的稳定性。相比之下,其他插件接口仅执行一项特定任务(例如为新用户生成登录名),因此使用它们的风险要小得多。如果您可以使用某种更具体的插件来解决您的问题,那么优先使用事件处理程序。
您还会发现,虽然其中一些更具体的插件接口是由开箱即用的事件处理程序调用的,但其他接口不是由编排引擎调用,而是由OIM中的其他组件调用。例如,计划任务不由编排引擎运行,而由嵌入式Quartz调度程序运行。自定义计划任务扩展了oracle.iam.scheduler.vo.TaskSupport
抽象类。
尽管每个插件都需要插件框架元数据(plugin.xml
),但某些特定类型的插件需要特定于该类型的附加元数据。例如,事件处理程序需要上传到MDS的EventHandlers.xml
;同样,计划任务需要在task.xml
文件中定义。
OIM 9.x也有一个“事件处理程序”的概念,但这项技术与OIM 11g中的技术不同。 OIM 9.x事件处理程序扩展类com.thortech.xl.client.events.tcBaseEvent
。通常,11g中不再支持9.x事件处理程序。
欲了解更多信息,请阅读OIM 11.1.2.3开发者指南中这些章节:chapter 17用于开发自定义事件处理程序插件开发,chapter 18的基础知识,并chapter 16用于开发自定义计划任务,并appendix B用于开发自定义的用户名和通用名称生成/验证策略。
另外,如果你想要一些样本,并有机会获得到My Oracle Support,看看这些文件:
- OIM11g:示例代码为自定义用户名发电政策插件使用JDeveloper(文件编号1228035。1)
- OIM11g:示例代码实现对前处理阶段在创建用户管理操作(文档ID 1262803.1)的自定义事件处理程序
- 如何创建一个请求验证器来验证在OIM第11G(文档ID 1317087.1理由属性)
- 如何确定修改编排中的OIM用户属性更改(文档ID 1535503.1)
- 1. C#自定义事件处理程序
- 2. 自定义事件处理程序
- 3. JavaScript中自定义事件处理的不同方式有什么区别?
- 4. 自定义事件处理
- 5. 如何在OIM 11G R2 PS3中为管理角色添加自定义功能
- 6. 如何为自定义控件绑定事件处理程序
- 7. Angular:自定义事件处理程序和默认处理程序的顺序
- 8. 在javascript中处理自定义事件
- 9. 在SSIS事件处理程序中自定义邮件消息
- 10. 具有自定义html属性的JS事件处理程序
- 11. 什么是自定义控件?用户控件和自定义控件之间的基本区别是什么?
- 12. 自定义事件处理程序正在重复自己
- 13. 淘汰赛自定义绑定处理程序和自定义jQuery UI部件
- 14. Java自定义事件处理程序和听众
- 15. 自定义插件的错误处理
- 16. mvvmcross自定义绑定到事件处理程序
- 17. 绑定事件处理程序到自定义对象
- 18. 无法解除绑定jQuery自定义事件处理程序
- 19. 自定义继承类中的MouseClick事件处理程序
- 20. 将自定义事件处理程序添加到AppWidget组件
- 21. 自定义控件OnButtonClick事件处理程序覆盖C#
- 22. 将事件处理程序添加到自定义控件
- 23. 单击事件处理程序与自定义控件按钮
- 24. 自定义控件事件处理程序问题
- 25. GWT中的自定义插件事件
- 26. C#自定义事件处理
- 27. Java处理自定义事件
- 28. 自定义事件处理在COM C++
- 29. 新到Java - 自定义事件处理
- 30. 关于处理自定义事件