midpoint源码阅读十一(一些基本概念总结二)

上篇文章仅仅做了一些概念的简单描述,本篇文章将针对midpoint当中的比较常用的概念做一些介绍。
midpoint当中的概念错综复杂,我们从Data Model慢慢来展开。

1、Data Model概念

Data Model故名思意即 承载信息的数据模型,官网(https://wiki.evolveum.com/display/midPoint/Data+Model)第一段中已介绍其用于midpoint中的对各组件中(midpoint的组件后续在介绍)

2、midpoint中的对象(Object)

midPoint中的对象由OID(Object Identifier对象标识符)标识,并由项(属性,引用,容器)组成。
下面这个例子说明了,属性、引用、容器分别指什么?

<!-- XML元素名称user,说明该对象是UserType类型 -->
<user oid="12345678-abcd-dcba-87654321">  <!-- XML element name determines object type -->
  <name>jack</name>                       <!-- "name" 属性 -->
  <extension>                             <!-- "extension" 容器 -->
    <foo:tShirtSize>XXL</foo:tShirtSize>  <!-- 自定义属性 "tShirtSize" -->
  </extension>
  <fullName>cpt. Jack Sparrow</fullName>  <!-- "fullName" 属性 -->
  <givenName>Jack</givenName>             <!-- "givenName" 属性 -->
  <familyName>Sparrow</familyName>        <!-- "familyName" 属性 -->
  <parentOrgRef oid="343434343-11..."/>   <!-- 引用,其是对标识符OID="343434343-11..."的引用 -->
 </user>

下面这张图列出了midpoint当中的基本数据类型及相互间的关系
midpoint
从这个图可以看出,
1)所有对象都是Object对象的直接子类或者间接子类,其中Focus的子类是Abstract Role和User(用户类型),Org(组织)和Role(角色)是Abstract Role的子类;
2)Org是多级的,通过ParentOrgRef记录其上级;
3)Focus通过linkRef来表明其真实指向的外界数据源的账户shadow;shadow英文解释是 影子,故 它是 与第三方系统 整合时,对第三方系统 账户数据在 midpoint本地库存的一份副本,可靠的保证了 midpoint本地用户(User)对应 第三方系统账户 的准确性;
4)在Shadow通过resourceRef引用Resource,告诉midpoint 第三方系统 如何与其交互;
5)Resource通过connectorRef引用Connector,告诉midpoint 第三方系统 如何连接;
6)connector通过connectorHostRef引用Connector Host,告诉midpoint 第三方系统的 连接IP
7)Task(任务)有创建者,通过ownerRef表示创建者;
8)System Configuration用于全局定义 midpoint当中的 全局配置项,如 通知等;
9)Object Template用于 定义 Object对象创建、修改、删除时,midpoint可以事先或事后处理的一些情况,如Object Template定义了一个User的对象模板,该模板表明,从第三方数据源中获取到的账号若所在的Org没有在本地创建,则先创建Org等等;
10)Value Policy主要用于定义安全策略,如密码策略等;
11)Lookup Table用于定义 数据字典(如employType(员工类型)有哪些)
12)GenericObject,目前本人为用到,后续会补充

3、Data Model在midpoint当中的表示方式

在midpoint当中可以通过xml、json、yaml来进行表示,但是推荐使用xml

4、schema含义

在官网(https://wiki.evolveum.com/display/midPoint/Data+Model)的Model Layer中我们可以看到Prism schema、Prism Common schema、Resouce schema、Connector schema,这些是是么呢?
简单的说他们都只的是其所对应的对象的集合,我们重点看Prism Common schema即可,其余三个对应的对象也都包含在了Prism Common schema中,它们简单些说是在概念上对对象的分类(Prism schema、Resouce schema、Connector schema)

Prism Common schema定义了几乎所有midpiont当中使用的基本概念,它们是ObjectType、UserType、OrgType、RoleType、ShadowType、ConnectorType、ResourceType、ConnectorHostType。

下篇将逐个对Prism Common schema中对应的对象一一进行介绍,同时引出一些midpoint当中的重要的概念。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风水月

从心底相信自己是成功的第一步

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值