介绍
Oracle Identity Manager简称OIM是Oracle公司开发企业身份管理应用,主要是负责企业用户信息,组织信息的同步,依靠强大的连接器,OIM几乎可以从任何系统中同步用户,并且同步至任何系统,并且这些工作都是通过配置完成,要在异构系统间中做到配置式的同步,需要对整个系统进行高度抽象,也正因此,OIM有众多新概念,如果不理解这些概念的作用,很难灵活的使用OIM。本篇文章将OIM中常用的概念进行整理,包括以下内容
- 连接器(Connector)
- 适配器(Adapter)
- IT资源(IT Resource)
- 表单(Form)
- 流程(Process)
- 资源对象(Resource Object)
- 预配(Prepopulate)
概述
如果有需要将用户组织数据同步至不同系统,那么如何抽象这个过程,OIM的做法是
- 有哪些目标系统(IT Resource)
- 需要同步组织还是用户(Resource Object)
- 需要同步哪些字段(Form)
- 什么情况下需要同步(Process)
- 字段和目标系统字段如何映射(Prepopulate)
- 同步的逻辑是怎么样的(Adapter)
- 以上这些打包(Connector)
在这些概念基础上再进一步抽象,可以看出,虽然概念较多,但整体抽象还是合理。
连接器(Connector)
顾名思义,连接器就是负责不同系统间的数据同步,比如需要将用户数据同步到数据库,有dbat-connector连接器,需要同步到webservice,有webservice-connector,你可以点击这里查看所有支持的连接器,当然自己开发一个连接器也并不复杂,这个就是下一章的内容了。看到这里你可能会想,那连接器肯定是一个程序吧,不是很准确,连接器在OIM里面就是一个zip包,这个zip包定义了所有的资源,只要把zip包解压到OIM指定目录,OIM就能自动识别部署相关资源,因此
连接器只是一系列资源的合集
IT资源(IT Resource)
比如用户需要同步到三个数据库,三个数据库可能都是不同类型的数据库,oracle,mysql,sqlserver,虽然数据库类型不一样,但是都是sql数据库,因此都可以用dbat-connector,IT Resource Type定义了目标系统的类型,在IT Resource Type上面创建IT Resource就是指向具体系统。所以IT Resource就是具体的目标系统,IT Resource Type就是目标系统类型。
- designconsole中databaseIT资源类型定义
资源对象(Resource Object)
资源对象很简单,就是指定同步的对象是用户还是组织,OIM就是负责管理用户和组织。
表单(Form)
不同系统需要的数据不一样,因此不同系统可以创建不同的表单,创建一个表单,OIM就会在数据库创建一张表对应,因此表单在底层其实就是一张表,OIM同步时会将数据写入表单所在的表,再同步到目标系统
预配(Prepopulate)
表单是用户创建出来的,字段名称也是用户自己指定,因此如果希望将表单字段和OIM系统字段(比如用户名之类)对应起来,就必须要有一个映射的配置,这个就是Prepopulate,通过Prepopulate可以将OIM系统字段和表单字段进行映射,OIM同步数据至表单时会根据预配的规则进行写入。
适配器(Adapter)
适配器是真正实现同步逻辑的地方,实现方式可以是java,也可以是存储过程,OIM每个操作会对应一个适配器,一个适配器也只干一件事,直白讲,一个适配器对应java中的一个方法,实际上如果你的适配器是java开发,配置的时候真的是指定其中一个方法,操作可以是创建用户,删除用户,更新用户。适配器可以定义参数,在Process中会调用适配器并且设置参数值。
流程(Process)
流程关联资源对象和表单,对OIM事件指定适配器进行处理,关联资源对象表示处理的是用户数据还是组织数据,关联表单表示事件发生时将数据同步至指定表单,
整个流程过程如下
定义OIM事件->事件触发->数据写入表单->调用适配器进行处理
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。