midpoint原始碼閱讀十一(一些基本概念總結二)

2021-08-21 10:18:29 字數 2095 閱讀 4811

上篇文章僅僅做了一些概念的簡單描述,本篇文章將針對midpoint當中的比較常用的概念做一些介紹。

midpoint當中的概念錯綜複雜,我們從data model慢慢來展開。

data model故名思意即 承載資訊的資料模型,官網(第一段中已介紹其用於midpoint中的對各元件中(midpoint的元件後續在介紹)

midpoint中的物件由oid(object identifier物件識別符號)標識,並由項(屬性,引用,容器)組成。

下面這個例子說明了,屬性、引用、容器分別指什麼?

oid="12345678-abcd-dcba-87654321">

jackname>

xxlfoo:tshirtsize>

extension>

cpt. jack sparrowfullname>

jackgivenname>

sparrowfamilyname>

oid="343434343-11..."/>

user>

下面這張圖列出了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,目前本人為用到,後續會補充

在midpoint當中可以通過xml、json、yaml來進行表示,但是推薦使用xml

在官網(的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當中的重要的概念。

tomcat原始碼閱讀步驟十一

org.apache.catalina.core 包,這個包是tomcat的核心部分。源 閱讀的時候也盡量從這部分開始 servletcontext 的標準實現,用來表示乙個web應用程式的執行環境 建立 持有過濾器和過濾器鏈的工廠類 aprlifecyclelistener lifecycleli...

《原始碼閱讀》原始碼閱讀技巧,原始碼閱讀工具

檢視某個類的完整繼承關係 選中類的名稱,然後按f4 quick type hierarchy quick type hierarchy可以顯示出類的繼承結構,包括它的父類和子類 supertype hierarchy supertype hierarchy可以顯示出類的繼承和實現結構,包括它的父類和...

原始碼閱讀 Glide原始碼閱讀之with方法(一)

前言 本篇基於4.8.0版本 原始碼閱讀 glide原始碼閱讀之with方法 一 原始碼閱讀 glide原始碼閱讀之load方法 二 原始碼閱讀 glide原始碼閱讀之into方法 三 大多數情況下,我們使用glide 就一句 但是這一句 裡面蘊含著成噸的 with方法有以下幾個過載方法 publi...