Identity Manager 使用者應用程式依賴於許多共同執行的獨立元件。 下表說明了核心元件及其基本職責。
就資訊流程而言,上面提及的元件會以下圖中所描述的方式在邏輯上進行連結。 實際上,個別元件可能 (且在大多數情況下) 位於多部機器上。 例如,雖然身份儲存區 (及其主要管理工具 iManager) 將會並列排置在代管 Identity Manager 引擎的機器上,但是通常會在另一台機器 (或已叢集的機器群組) 上代管 JBoss (及使用者應用程式)。 同樣地,出於效能和安全性與災難復原的考量,資料庫 (MySQL) 通常位於其獨自的機器上。

身份儲存區用於儲存各種身份資料和抽象層定義。 因此,會使用 eDirectory 例項 (在 Windows、Solaris 或 Linux 上執行)。 藉由使用 eDirectory,Identity Manager 可以強化已經充份證實可做極大調整之具有分割和複製功能的企業類別 LDAPv3 目錄,以及靈活的 Web 型態管理和組態設定工具 (iManager),該工具會提供 Identity Manager 與 eDirectory 本身之間的全方位管理整合點。
使用者應用程式封裝為「Java Web 應用程式歸檔」或 WAR 檔案。 將 WAR 部署至 JBoss,JBoss 是常見的開放原始碼 Java 應用程式伺服器 (它使用 Tomcat 作為其伺服器常式引擎;未顯示於圖中)。 使用 JBoss 作為執行環境會有很多優點,其中包含:
針對不同的考量,使用者應用程式 WAR 會包含使用者應用程式的可執行程式碼,而該使用者應用程式是使用模型檢視控制器 (Model-View-Controller,MVC) 架構所建立的。 在使用者應用程式中,使用者可見的介面會做為模組化入口網站應用程式來執行。 其中還有個別用於檢視組織圖、進行搜尋、檢視使用者詳細資料、重設密碼等的入口網站應用程式。
如需將 Web 應用程式部署到 JBoss 之各方面的相關資訊,請參閱位於 http://www.jboss.org/products/jbossas/docs 的 JBoss 文件。
使用者應用程式依賴於資料庫 (預設為 MySQL,如需受支援資料庫的清單,請參閱《安裝指南》) 儲存數種資訊:
Identity Manager 產品由執行時期引擎、驅動程式和規則組成。 Identity Manager 引擎會回應身份儲存區中的事件,並管理與儲存區之間資料的流動和轉換。 驅動程式物件會封裝可執行的程式碼和成品 (如規則文件),該程式碼和成品是設計用來針對特殊已連接系統提供特定的資料處理行為。 Identity Manager 使用者應用程式是已連接系統。 身份儲存區、使用者應用程式的抽象層和「工作流程引擎」之間的通訊會透過「使用者應用程式驅動程式」(請參閱下文) 進行。
因為使用者應用程式依賴於各種目錄物件來儲存抽象層成品,所以需要延伸 eDirectory 綱要,來容納使用者應用程式所需的自定 LDAP 物件和屬性。 綱要的延伸是做為 Identity Manager 安裝程序的一部份而自動發生。 不過,在安裝和啟用「使用者應用程式驅動程式」之前,不會填入具有預設值的自定物件和屬性。
「使用者應用程式驅動程式」是使用者應用程式的重要啟用部份。 「使用者應用程式驅動程式」的其中一個職責是,當身份儲存區中的重要資料值變更時,通知抽象層,以便抽象層可更新其快取。
如果已安裝「提供模組」,則可以設定「使用者應用程式驅動程式」的組態,以自動開始工作流程,回應身份儲存區中屬性值的變更。
「使用者應用程式驅動程式」不僅是執行時期元件,而且是目錄物件 (構成使用者應用程式的執行時期成品) 的儲存包裝函式。 與「使用者應用程式驅動程式」相關聯之目錄成品的典型表示如下所示。

附註:所顯示的名稱代表 LDAP 公用名稱 (cn) 值。 各種物件類別的實際綱要命名會在其他部份進行討論。
這些成品類別在下面有更詳細的討論。
每個 Identity Manager 安裝都會要求將驅動程式分組成驅動程式集。 一次只能有一個使用中的驅動程式集 (在指定的目錄伺服器上)。 該驅動程式集內的驅動程式可以個別開關,而不會影響整個驅動程式集。 「使用者應用程式驅動程式」(像任何其他 IDM 驅動程式一樣) 必須存在於驅動程式集內。 使用者應用程式不會自動建立驅動程式集;您必須提前建立一個驅動程式集,然後在其中建立「使用者應用程式驅動程式」。
「使用者應用程式驅動程式」物件 (可指定任意名稱) 是各種成品的容器。 就像所有 Identity Manager 驅動程式一樣,「使用者應用程式驅動程式」會實作「發行者」與「訂閱者」通道物件和規則。 雖然「發行者」通道可供自定使用,但是使用者應用程式不會使用該通道。
AppConfig 物件是各種使用者應用程式組態物件的容器:
這是「提供申請定義」的容器,「提供申請定義」是使用者應用程式執行時期可用之管理員設定組態的申請定義 (如果「提供模組」存在的話)。 此處儲存的定義 (做為 XML) 代表申請的類別,具有適當權限的一般使用者可以透過使用者應用程式例項化該申請。 RequestDef 將 WorkFlowDef (如下) 與 ResourceDef 相關聯。
「工作流程」物件的容器,包含設計階段描述與任何範本或未使用的流程。
「提供資源」定義的容器,包含設計階段描述與任何範本或未使用的目標。
「服務定義」物件的容器,會包裝由「工作流程」呼叫的「Web 服務」。
抽象層中繼層級物件 (ChoiceDefs、EntityDefs、RelationshipDefs),代表「身份入口網站應用程式」可公開之目錄的不同類型內容 (某些可由使用者定義,其他則由管理員設定)。
用於啟始化執行時期環境之組態物件 (如快取組態資訊和電子郵件通知內容) 的容器。
代理定義的容器。
委託定義的容器。
入口網站應用程式透過查詢目錄抽象層來取得其身份資料,該目錄抽象層是將身份資料存取的詳細資料與用戶端程序相隔離的程式碼層。 例如,當入口網站應用程式需要對身份資料執行搜尋時,抽象層就會代表入口網站應用程式,針對身份儲存區中的目標容器執行適當的 LDAP 查詢。 任何入口網站應用程式都不會直接在身份儲存區中進行查詢。
抽象層也是一種程式碼層,透過這個程式碼層,可以建立或變更由管理員或其他合法的系統使用者所指定的抽象層定義。 若要進行此類變更,系統專家會使用 Designer 應用程式的目錄抽象層編輯器,本指南稍後的節 4.0, 設定目錄抽象層的組態會有說明。
在執行時期,抽象層會快取從身份儲存區取得的各種組態和實體定義資料。 管理員可以很詳細地管理使用者應用程式所維護的各種快取。 如需快取和快取管理的其他資訊,請參閱節 13.0, 快取組態。
工作流程引擎 (可供「提供模組」使用) 是一組執行時期類別,負責執行由程序定義 (在例項化工作流程時建立的執行時期成品) 指定的工作流程步驟,和追蹤資料庫 (如 MySQL 或 Oracle) 中保留的狀態資訊,請參閱上面節 1.3.3, 資料庫。
您可以在本指南稍後節 21.0, 工作流程提供簡介一章中,找到「工作流程系統」的其他詳細資料,包含如何建立工作流程。
Identity Manager 使用者介面由與 JSR168 相容之入口網站應用程式 (如果是「提供模組」,還會有部份 Java Server Pages) 的集合構成,這些入口網站應用程式在 JBoss 上的 Java Web 應用程式內執行。 入口網站應用程式架構可提供高階的模組化、內容自訂和對頁面外觀的使用者控制。 使用者應用程式架構會提供各種容器服務。 它會管理視窗狀態、入口網站應用程式優先設定、持續性、快取、主題化、記錄等,並會做為安全性閘道管理員。 而執行使用者應用程式的應用程式伺服器又會將各種服務做為整體提供給應用程式,如透過叢集的延展性、透過 JDBC 的資料庫存取,以及對基於證書之安全性的支援。
此架構所承擔的高階封裝會對 Identity Manager 使用者應用程式提供強固而安全的展示層環境。 而且還會保證對使用者介面各方面的高階管理控制。
如需使用者介面各部份之管理的相關資訊,請參閱本指南節 III, 管理使用者應用程式下的各章。