如「Sun Java Enterprise System 5 技術摘要」中所述,Java ES 元件分為多種不同的類型。因此,系統服務元件提供主要的 Java ES 基礎架構服務,而服務品質元件用於增強這些系統服務。這兩種類型的 Java ES 元件在此一併稱為產品元件,即可以在 Java ES 安裝程式內選取的元件。
每個產品元件均依賴於一個或多個稱為 Java ES 共用元件的本機共用程式庫。依所安裝的產品元件而定,共用元件會在產品元件安裝期間由 Java ES 安裝程式自動進行安裝。它們並非是在部署 Java ES 產品元件期間個別選取、安裝或配置的。
在為何對 Java ES 使用區域?中重點探討了 Java ES 產品元件對區域的使用:可在 Java ES 安裝程式中明確選取並在各種區域中安裝和配置這些元件,以達成所希望的部署架構和運作功能。不過,產品元件所依賴的共用元件會對 Java ES 在多區域環境中的部署方式設下一些限制。Java ES 共用元件和區域涉及到兩個問題:
測試和支援大量 (約 30 個) 共用元件很困難而且在 Java ES 共用元件與 Java ES 產品元件之間有著複雜的互動,因而必須將單一作業系統實例內的所有共用元件同步為相同的 Java ES 版本。換言之,非區域環境中或是 Solaris 10 環境內任何單一區域中安裝的所有 Java ES 共用元件都必須具有相同的版本。這項需求會對如何在多區域環境中使用 Java ES 設下某些限制。
此同步需求具有下列蘊義:
不同版本的 Java ES 共用元件只能位於不同的區域。例如,您可以將 Java ES 發行版本 4 共用元件安裝在一個區域中,而將 Java ES 發行版本 5 共用元件安裝在另一個區域中,但是您不能將它們合併在同一個區域中。
如果升級了某區域中的任何共用元件,或是引入了任何較高版本的新共用元件,則該區域中的所有共用元件也都必須同時進行升級。(共用元件必須具有向後相容性,因此發行版本 4 產品元件與發行版本 5 共用元件搭配使用毫無問題。)例如,假定某個發行版本 5 產品元件安裝在一個或多個發行版本 4 產品元件所在的區域中。由於該發行版本 5 產品元件需要一定數量的發行版本 5 共用元件,因此同步需求便意味著必須在安裝該發行版本 5 產品元件的同時將所有位於該區域中的發行版本 4 共用元件都升級至發行版本 5。即使要安裝的發行版本 5 產品元件所需的不同共用元件來自區域中已安裝的共用元件,亦是如此。
在將共用元件安裝在全域區域中並從中傳遞出去時 (請參閱Java ES 傳遞策略),必須特別注意保持所有區域中共用元件的同步。否則,非全域區域中較早版本的共用元件便可能會和從全域區域傳遞過來的發行版本 5 共用元件混雜在一起。(特別注意通常意味著共用元件生命週期管理僅會在全域區域中進行。如需更多資訊,請參閱表 A–2 與共用元件特例。)
共用元件同步需求會對 Java ES 安裝程式在多區域環境中所限執行的動作加諸限制 (如需更多資訊,請參閱Java ES 安裝程式中的區域支援),而且還會影響 Java ES 產品元件在多區域環境中的安裝和升級程序。
對 Java ES 在多區域環境中的使用有影響的另一個問題是,由於稀疏根區域中的檔案系統是唯讀的,故而無法在稀疏根區域中安裝大量的共用元件。因此,基底目錄為 /usr (依預設由全域區域共用的目錄) 的共用元件必須安裝在全域區域中才能在稀疏根區域中使用。
無法在稀疏根區域中安裝多個 Java ES 共用元件意味著,若要將與這類共用元件有相依性的產品元件成功地安裝至稀疏根區域中,必須先將共用元件安裝在全域區域中,然後再將其傳遞至非全域區域。
為何對 Java ES 使用區域?中針對在多區域環境中使用 Java ES 所探討的某些目標及其蘊含的使用方案,利用了全域區域的傳遞功能來簡化 Java ES 產品元件的生命週期管理。舉例來說,這類使用方案要求由全域管理員在全域區域中執行 Java ES 產品元件的生命週期管理,而這些元件的配置和執行階段管理則由區域管理員在非全域區域中執行。
換言之,產品元件將在全域區域中進行安裝和升級,但實例卻是在非全域區域中配置和執行的。此使用方案會將集中式生命週期管理的優點與非全域區域所提供的隔離及安全性結合在一起。
不過,此方案仰賴於能否將每個產品元件均安裝在全域區域中而在非全域區域中進行配置和執行。這樣的劃分取決於如何達成每個產品元件的配置、在何處儲存配置和動態應用程式資料、如何藉由執行二進位檔案來尋找配置資料,以及如何執行升級。例如,劃分可能取決於安裝或升級前後的程序檔所執行的動作:它們是啟動或停止了元件實例、設定了至配置資料的連結,還是執行了使生命週期管理與配置管理的區別變得模糊不清的其他作業。
這樣的劃分亦可能取決於配置是在整體根區域中還是在稀疏根區域中執行的。舉例來說,如果產品元件的配置程序檔寫入至稀疏根區域中的唯讀檔案系統 (例如 /usr),或是與稀疏根區域共用非預設檔案系統 (如 /opt),則元件的配置便會失敗。
幾乎所有 Java ES 產品元件都安裝在 /opt 下,依預設,它在稀疏根區域中是可寫入的。如需更多資訊,請參閱「適用於 UNIX 的 Sun Java Enterprise System 5 安裝參照」。
目前,在全域區域與非全域區之間,尚未建立使大約 20 個 Java ES 產品元件中的每一個均支援劃分生命週期管理和配置/執行階段管理的功能。各種產品元件採用了不同的配置和升級方法。若是這種情況,則目前不支援 Java ES 產品元件 (Message Queue 除外) 的傳遞。如需更多資訊,請參閱Java ES 傳遞策略。