本章提供概念與技術背景,讓您瞭解一些功能,這些功能在將 Java ES 元件整合到單一軟體系統時會扮演重要角色。這些功能可協助您暸解相較於手動整合分散的基礎架構產品使用 Java ES 的一些益處。
本章包含以下各節:
所有 Java ES 元件均使用單一安裝程式進行安裝。Java ES 安裝程式會將 Java ES 軟體傳輸到主機系統。安裝程式可讓您在運算環境中的主機上選取及安裝任何數量的 Java ES 元件。依據要安裝的特定 Java ES 元件,安裝程式在安裝時期也會進行一些配置。
Java ES 安裝程式本身不會執行分散式安裝。若要部署分散式 Java ES 軟體解決方案,請使用 Java ES 安裝程式以便在環境中的每部電腦上安裝適當的元件,一次安裝一部電腦。您必須依據您的部署架構及元件相依性,以適當的順序執行安裝階段作業及配置程序。
安裝程式可在圖形和基於文字的模式下以互動方式執行,而且還提供參數驅動的無訊息安裝模式。除了英文以外,安裝程式還支援下列語言:法文、德文、日文、韓文、西班牙文、簡體中文和繁體中文。
本節將討論整合式 Java ES 安裝程式的各種層面。如需更詳細的資訊,請參閱「Sun Java Enterprise System 5 Update 1 Installation Guide for UNIX」。
安裝程式會檢查正在進行安裝的主機,並找出已經安裝的 Java ES 元件。安裝程式之後會在幾個層級執行檢查,確定所有現有的元件均屬正確的版本可順利實作交互操作。安裝程式會通知您有哪些不相容而必須升級或移除的軟體元件。
同樣地,安裝程式也會檢查是否有先前已安裝的 Java ES 共用元件,例如 J2SE 或 NSS,並列出不相容元件 (請參閱共用元件)。如果您繼續進行安裝,安裝程式會自動將共用元件升級成更新的版本。
安裝程式會對元件進行詳盡檢查,以驗證所選安裝元件能夠正常協同運作。許多元件與其他元件之間存在相依性。因此,當您選取要安裝的元件時,安裝程式會自動選取與之具有相依性的元件和子元件。如果選取的另一元件在本機對某個元件具有相依性,您就不能取消選取該元件。不過,如果它們的關係不是本機相依性,也就是如果有其他主機電腦上的元件滿足此相依性,您將會收到一則警告,但仍能繼續進行安裝。
許多 Java ES 元件需要經過初始配置才能夠啟動。Java ES 安裝程式可以對某些元件執行此初始配置。
您可選擇讓安裝程式執行此初始配置 ([立即配置] 選項),或在不執行初始配置的情況下安裝軟體 ([以後配置] 選項)。如果選擇後者,就必須等安裝完成之後再明確配置每個已安裝的元件。
如果您選擇讓安裝程式執行初始配置,則必須在安裝期間提供必要的配置資訊。特別是,您可指定所有元件產品均適用的一組共用參數值,例如管理員 ID 和密碼。
Java ES 亦提供了一個解除安裝程式來移除 Java ES 安裝程式安裝在本機電腦上的元件。解除安裝程式會檢查本機相依性,並且在發現相依性時發出警告訊息。解除安裝程式不會移除 Java ES 共用元件。解除安裝程式就如同安裝程式一樣,可在圖形模式、基於文字的模式或是無訊息模式下執行。
Java ES 包含監視功能,可提供對系統服務的即時監視。監視功能是由 Sun Java System Monitoring Framework (共用元件) 和 Sun Java System Monitoring Console (產品元件) 所實作。系統會自動配置並啟用 Monitoring Framework 來收集各個已安裝的 Java ES 元件資料,而 Monitoring Console 是一種用來檢視受監視資料的圖形介面。Monitoring Console 是可在安裝 Java ES 時選取的元件,而 Monitoring Framework 則由系統自動安裝。
監視是一種收集執行階段資料、將其公開並計算服務品質標準的程序,使系統管理員可進行效能評估並收到警示。在執行階段作業期間,管理員會與 Monitoring Console 進行互動以檢視效能統計、設定動態監視的臨界值、定義自訂監視工作並確認警示。
Java ES 的一項重要功能就是它的整合式使用者身份識別管理及整合式認證與授權架構。本節提供技術背景,有助您瞭解 Java ES 所提供的整合式識別和安全性服務。
在 Java ES 環境內,一般使用者都有單一的整合式識別。基於這種單一識別,使用者可獲得存取各種資源 (如入口網站、網頁) 及服務 (如傳訊、行事曆及即時傳訊) 的權限。
此整合式識別與安全性功能基於 Directory Server、Access Manager 及其他 Java ES 元件之間的密切協作。
使用者對 Java ES 服務或資源的存取是藉由將使用者特定資訊儲存在使用者儲存庫或目錄的單一使用者項目中來實現的。該資訊一般包括如專屬名稱和密碼、電子郵件地址、在組織中扮演的角色、網頁喜好設定等資料。使用者項目中的這種資訊可用來對使用者進行認證、授權使用者存取特定資源,或是為該使用者提供各種服務。
就 Java ES 的情況而言,使用者項目儲存在 Directory Server 所提供的目錄中。當使用者想要請求由 Java ES 元件提供的服務時,該服務會使用 Access Manager 來對使用者進行認證,並授權使用者存取特定資源。請求的服務會檢查使用者目錄項目中的使用者特定配置資訊。服務會使用該資訊以執行使用者請求的作業。
下圖說明使用者項目的存取權限,以便執行使用者認證及授權,以及為使用者提供服務。
此系統衍生出的其中一種功能,就是讓基於 Web 的使用者可以登入任何 Java ES 服務,藉此自動經由其他系統服務認證。此功能稱為單次登入,它是 Java ES 提供的一個強大功能。
Access Manager 提供 Java ES 認證和授權服務。Access Manager 使用 Directory Server 中的資訊來協調使用者與 Java ES Web 服務或企業中其他網路型服務的互動。
Access Manager 會使用稱為策略代理程式的外部元件。策略代理程式外掛在 Web 伺服器中,該伺服器負責託管受到 Access Manager 保護的某項服務或資源。策略代理程式會在使用者請求使用受保護的資源時,代表 Access Manager 來進行調解。對於一些 Java ES 元件 (例如 Portal Server) 而言,策略代理程式的功能是由 Access Manager SDK 子元件提供的。
Access Manager 包含一項認證服務,可驗證請求 (以 HTTP 或 HTTPS 方式) 存取企業內部 Web 服務之使用者的識別。例如,需要查詢同事電話號碼的公司員工可以使用瀏覽器進入公司的線上電話簿。登入電話簿服務時,使用者必須輸入使用者 ID 和密碼。
圖 3–2 中顯示了認證順序。策略代理程式對電話簿登入請求進行調解 (1) ,並將該請求傳給認證服務 (2)。認證服務會將使用者 ID 和密碼與 Directory Server 中儲存的資訊加以核對 (3) 。如果登入請求有效,使用者就可以通過認證 (4)、(5) 及 (6),而員工 (7) 即可看到公司電話簿。如果登入請求無效,就會產生錯誤,致使認證失敗。
認證服務也支援 HTTPS 上基於憑證的認證。
上述段落所討論的認證方案省略了一個重要步驟。驗證完使用者的認證請求後,Access Manager 的階段作業服務開始工作 (4),如圖 3–2 所示。階段作業服務會產生階段作業記號,其中包含使用者的識別資訊及記號 ID (5)。階段作業記號被傳回策略代理程式 (6),然後策略代理程式再將該記號 (視為 cookie) 轉送到當初用來請求認證的瀏覽器中 (7)。
如果通過認證的使用者嘗試存取其他受到保護的服務,瀏覽器就會將階段作業記號傳送到對應的策略代理程式中。策略代理程式向階段作業服務驗證使用者的前一次認證是否仍然有效,如果有效,將授權使用者存取另一服務,而不會要求其再次輸入使用者 ID 和密碼。
因此,使用者只需要登入一次,通過認證之後就可以多次存取 Java ES 所提供之基於 Web 的服務。單次登入認證的效力可持續到使用者明確地簽出或階段作業過期為止。
Access Manager 還包含提供對 Java ES 環境中網路型資源存取控制的策略服務。策略是描述在特定條件下授權何人存取特定資源的規則。授權順序如下圖所示。
當通過認證的使用者請求使用任何受到 Access Manager 保護的資源時 (1) ,策略代理程式會通知策略服務 (2),該服務會使用 Directory Server 中的資訊 (3) 來評估涵蓋該資源的存取策略,以確定使用者是否有存取該資源的權限 (4)。如果使用者擁有存取權限 (5),就會完成該資源請求 (6)。
Access Manager 提供在企業內定義、修改、授予、撤消以及刪除策略的方法。策略儲存在 Directory Server 中,並透過組織項目內與策略相關的屬性來配置。還可以為使用者定義角色,然後將該定義加入策略定義中。
Access Manager 策略代理程式是策略強制執行者。當策略服務拒絕某項存取請求時,策略代理程式則會禁止提出請求的使用者存取受到保護的資源。
本節說明本章中使用的重要技術術語,重點是闡明這些術語在 Java ES 環境中使用的方式。