Sun Java Enterprise System 2005Q4 技術摘要

第 3 章 Java Enterprise System 整合功能

本章提供瞭解一些功能所需的概念與技術背景,這些功能在將 Java ES 元件整合成為單一軟體系統時發揮著重要作用。

這些功能有助於瞭解相較於手動整合異構的基礎架構產品,使用 Java Enterprise System 會獲得的部分益處。

本節涵蓋以下功能:

Java Enterprise System 整合安裝程式

所有 Java ES 元件均使用單一安裝程式進行安裝。此安裝程式對所有元件提供一致的安裝和解除安裝程序和行為。

Java ES 安裝程式是一種整合架構,它將 Java ES 軟體傳輸到主機系統。該安裝程式可讓您選取任何數量的 Java ES 元件並將它們安裝在運算環境中的任何電腦上。視安裝的特定 Java ES 元件而定,或許可透過該安裝程式在安裝時進行一些配置。

Java ES 安裝程式本身不會執行分散式安裝。若要部署分散式 Java ES 軟體解決方案,請使用 Java ES 安裝程式在環境中的每部電腦上安裝適當的元件,一次安裝一部電腦。您必須依據您的部署架構及元件相依性,以適當的順序執行安裝階段作業及配置程序。

安裝程式可在圖形和基於文字的模式下以互動方式執行,而且還提供參數驅動的無訊息安裝模式。除英文外,安裝程式還支援七種語言:法文、德文、西班牙文、韓文、簡體中文、繁體中文和日文。

本節討論整合 Java ES 安裝程式的以下層面 (如需更多詳細資訊,請參閱「Sun Java Enterprise System 2005Q4 安裝指南 (適用於 UNIX)」):

檢查已存在的軟體

安裝程式會檢查正在執行安裝的電腦,並找出已安裝的 Java ES 元件。安裝程式之後會在幾個層級執行檢查,確定所有現有的元件均屬正確的版本可順利實作交互操作。安裝程式會通知您有哪些不相容而必須升級或移除的軟體元件。

類似地,安裝程式還會檢查是否有已安裝的 Java ES 共用元件 (請參閱共用元件),像是 J2SE 或 NSS。如果安裝程式發現有版本不相容的共用元件,就會將它們列出來。如果您繼續進行安裝,安裝程式會自動將共用元件升級成更新的版本。

檢查軟體相依性

安裝程式會對元件進行大範圍檢查,以驗證所選安裝元件能夠正常協同運作。

許多元件與其他元件之間存在相依性。安裝程式提供相應邏輯來確保這些相依性得到滿足。因此,當您選取要安裝的元件時,安裝程式會自動選取與之具有相依性的元件和子元件。

如果選取了某個元件,而已選取的另一元件對該元件具有本機相依性,就不能取消選取該元件。不過,如果它們的關係不是本機相依性也就是如果有其他主機電腦上的元件滿足此相依性,您將會收到一則警告,但仍能繼續進行安裝。

初始配置

許多 Java ES 元件需要經過初始配置才能夠啟動。Java ES 安裝程式可以對某些元件執行此初始配置。

您可選擇讓安裝程式執行此初始配置 ([立即配置] 選項),或在不執行初始配置的情況下,安裝軟體 ([以後配置] 選項)。如果選擇後者,就必須等安裝完成之後再明確配置每個已安裝的元件。

如果您選擇讓安裝程式執行初始配置,則必須在安裝期間提供必要的配置資訊。特別是,您可指定所有元件產品均適用的一組共用參數值,例如管理員 ID 和密碼。

解除安裝

Java Enterprise System 還提供解除安裝程式。可使用此程式來移除 Java ES 安裝程式在本機電腦上安裝的元件。解除安裝程式會檢查本機相依性,並且在發現此類相依性時發出警告訊息。解除安裝程式不會移除 Java ES 共用元件。

解除安裝程式就如同安裝程式一樣,可在圖形模式、基於文字模式或是無訊息的模式下執行。

整合式身份識別與安全性服務

Java Enterprise System 的一項重要功能是其整合使用者識別管理及其整合認證與授權架構。

以下各節提供有助於瞭解 Java Enterprise System 提供的整合識別與安全性服務的技術背景:

單一身份

在 Java ES 環境內,一般使用者具有單一整合識別。基於此單一識別,使用者可獲得存取各種資源 (像是入口網站、網頁) 及服務 (像是訊息傳送、行事曆及即時訊息傳送) 的權限。

此整合識別與安全性功能基於 Directory Server、Access Manager 及其他 Java ES 元件之間的密切協作。

使用者對 Java ES 服務或資源的存取是藉由將使用者特定資訊儲存在使用者儲存庫或目錄的單一使用者項目中來實現的。該資訊一般包括如專屬名稱和密碼、電子郵件地址、在組織中扮演的角色、網頁喜好設定等。使用者項目中的這種資訊可用來對使用者進行認證、授權使用者存取特定資源,或是為該使用者提供各種服務。

在 Java Enterprise System 案例中,使用者項目儲存在Directory Server 提供的目錄中。當使用者想要請求 Java ES 元件提供的服務時,該服務使用 Access Manager 對使用者進行認證,並授權使用者存取特定資源。請求的服務會檢查使用者目錄項目中的使用者特定配置資訊。服務會使用該資訊以執行使用者請求的作業。

下圖說明使用者項目的存取權限,以便執行使用者認證及授權,以及為使用者提供服務。

圖 3–1 單一使用者項目支援許多服務

本圖顯示數個 Java Enterprise System 元件與目錄中的單一使用者項目互動的情形。

源自此系統的其中一項功能是讓網路型使用者可以登入任何 Java ES 服務,並藉此自動獲得存取其他系統服務的認證。此功能稱為單次登入,它是 Java Enterprise System 提供的一個強大功能。

認證及單次登入

Java ES 認證與授權服務由 Access Manager 提供。Access Manager 使用 Directory Server 中的資訊來協調使用者與 Java ES Web 服務或企業中其他網路型服務的互動。

Access Manager 會利用稱為策略代理程式的外部元件。策略代理程式外掛在託管受 Access Manager 保護的服務或資源的 Web 伺服器上。策略代理程式會在使用者請求存取受保護的資源時代表 Access Manager 進行調解。對於某些 Java ES 元件 (像是 Portal Server 與 Communications Express) 而言,策略代理程式的功能由 Access Manager 子元件提供 (請參閱Sun Java System Access Manager 7 2005Q4)。

認證

Access Manager 包含一項認證服務,用於驗證請求 (以 HTTP 或 HTTPS 方式) 存取企業內部 Web 服務的使用者的識別。例如,需要查詢同事電話號碼的公司員工使用瀏覽器進入公司的線上電話簿。登入電話簿服務時,使用者必須輸入使用者 ID 和密碼。

圖 3–2 中顯示了認證順序。策略代理程式對電話簿 (1) 登入請求進行調解,並將該請求傳送給認證服務 (2)。認證服務會將使用者 ID 和密碼與 Directory Server (3) 中儲存的資訊進行核對。如果登入請求有效,使用者就可以通過認證 (4)、(5) 及 (6),而員工 (7) 即可看到公司電話簿。如果登入請求無效,就會產生錯誤,致使認證失敗。

認證服務也支援 HTTPS 上基於憑證的認證。

圖 3–2 認證順序

顯示認證順序的示意圖,其中包括 Web 瀏覽器、策略代理程式、認證服務、階段作業服務及 Directory Server。

單次登入

上述段落所討論的認證方案省略了一個重要步驟。驗證完使用者的認證請求後,Access Manager 的階段作業服務開始工作 (4),如圖 3–2 所示。階段作業服務會產生階段作業記號,其中包含使用者的識別資訊及記號 ID (5)。階段作業記號被傳回策略代理程式 (6),然後策略代理程式再把它 (視為 cookie) 轉送到當初用來請求認證的瀏覽器 (7) 中。

如果通過認證的使用者嘗試存取其他受到保護的服務,瀏覽器就會將階段作業記號傳送到對應的策略代理程式中。策略代理程式向階段作業服務驗證使用者的前一次認證是否仍然有效,如果有效,將授權使用者存取另一服務,而不會要求其再次輸入使用者 ID 和密碼。

因此,使用者只需要登入一次,通過認證後就可以存取多個 Java Enterprise System 提供的網路型服務。單次登入認證的效力可持續到使用者明確地簽出或階段作業過期為止。

授權

Access Manager 還包含提供對 Java ES 環境中網路型資源存取控制的策略服務。策略是一種描述在特定條件下哪些人員會獲得特定資源存取授權的規則。授權順序如下圖所示。

圖 3–3 授權順序

本圖顯示文中描述的授權順序,包括瀏覽器、策略代理程式、策略服務和 Directory Server。

當通過認證的使用者請求存取任何受 Access Manager (1) 保護的資源時,策略代理程式會通知策略服務 (2),該服務使用 Directory Server (3) 中的資訊來評估管控該資源的存取策略,以確定使用者是否有存取該資源 (4) 的權限。如果使用者有存取權限 (5),就會滿足該資源請求 (6)。

Access Manager 提供了在企業內定義、修改、授予、撤銷及刪除策略的手段。策略儲存在 Directory Server 中,透過組織項目中與策略相關的屬性進行配置。還可以為使用者定義角色,然後將該定義加入策略定義中。

Access Manager 策略代理程式是策略強制執行者。當策略服務拒絕某項存取請求時,策略代理程式則會禁止提出請求的使用者存取受到保護的資源。

本章的重要術語

本節說明本章使用的重要技術術語,重點是強調釐清這些術語之間的關係,以及它們如何在 Java Enterprise System 環境中使用。

目錄

一種針對資料讀取而非資料寫入進行了最佳化的特殊類型資料庫。大部分目錄基於簡易目錄存取協定,該協定是一個工業標準協定。

策略

一種描述在特定條件下哪些人員會獲得特定資源存取授權的規則。規則可以基於組織中的使用者或角色群組。

單一識別

使用者經由在 Java Enterprise System 目錄中具有單一使用者項目而取得的識別。基於此單一使用者項目,使用者可獲得存取各種 Java Enterprise System 資源 (像是入口網站、網頁) 及服務 (像是訊息傳送、行事曆及即時訊息傳送) 的權限。

單次登入

一項可讓使用者在通過分散式系統中一項服務的認證後自動通過系統中其他服務認證的功能。