Sun JavaTM Enterprise System (Java ES) 是一組軟體元件,提供支援分散在整個網路或網際網路環境中的企業應用程式所需的服務。本書中將這些應用程式稱為分散式企業應用程式。
Java Enterprise System 也代表 Sun 軟體發行版本和交付方案及業務和定價策略。但本書的重點是介紹 Java Enterprise System 的軟體元件及它們提供的服務。
本章介紹 Java Enterprise System 及使用該系統所牽涉的作業。本章涵蓋以下主題:
今日的業務需求需要分散在整個網路或網際網路環境內、具有高階效能、可用性、安全性、延展性及服務性的軟體解決方案。
Java Enterprise System 提供支援此類分散式企業應用程式 (即一般具有以下特性的應用程式) 所需的基礎架構服務:
分散式。應用程式由互動式軟體元件組成,這些元件部署在可能包含地理上相距遙遠的站點的網路環境中。這些分散式元件在環境中的不同電腦上執行,它們共同運作來為一般使用者及其他業務應用程式提供特定業務功能。
企業適用。應用程式的範圍與規模符合生產環境或網際網路服務提供者的需要。一般而言,應用程式會跨整個企業,將許多部門、作業和程序整合至單一的軟體系統中。應用程式在效能、可用性、安全性、延展性以及服務性方面必須符合高服務品質需求。
分散式企業應用程式需要一組基礎的基礎架構服務,這些服務使它們的分散式元件可以相互通訊、協調它們的工作、實作安全存取等等。而這些基礎架構服務由電腦和網路連結構成的硬體環境支援。此硬體環境包含 SPARC® 與 x86 (Intel 和 AMD) 硬體架構。
下圖顯示整體的分層方案。Java Enterprise System 主要提供圖 1–1 所示的分散式基礎架構服務層。不過,Java Enterprise System 服務也包含若干應用程式層級服務,像是一般使用者可存取的服務。
以下是 Java Enterprise System 提供的部分重要服務:
入口網站服務。這些服務使得員工、在家作業者、知識作業者、業務夥伴、供應商及客戶可以從企業網路內部或外部的任何位置存取企業資源。這些服務向使用者社群提供隨時隨地的存取能力、提供個人化的整合、集成、安全、行動存取以及搜尋功能。
通訊與協作服務。這些服務允許不同使用者社群之間安全地交換資訊。具體功能包含使用者業務環境上下文中的訊息傳送、即時協作 (像是即時訊息傳送和會議) 及行事曆排程。
網路識別與安全性服務。這些服務透過確保在全域所有社群、應用程式及服務中強制實施適當的存取控制策略來改善重要企業資訊資產的安全性和保護。這些服務與儲存庫配合,用於儲存和管理身份設定檔、存取權限以及應用程式和網路資源資訊。
Web 容器與應用程式服務。這些服務使得分散式元件可以在執行階段彼此通訊,並支援為眾多類型的伺服器、用戶端和裝置開發、部署及管理應用程式。這些服務以 Java 2 Platform Enterprise Edition (J2EETM) 技術為基礎。
Java Enterprise System 還提供能增強可用性、延展性、服務性及其他應用程式或系統品質的服務。以下是 Java Enterprise System 提供的部分服務品質功能:
可以部署一個或更多個 Java Enterprise System 服務,這些服務中的每一個都可能包含若干個 Java Enterprise System 元件。
Java Enterprise System 將分離的軟體產品與元件整合成為單一軟體系統。此系統的元件已經經過共同測試以確保互通性。若干個系統層級功能簡化了它們的整合:
這些功能在本書的後續章節中進行介紹。本節重點介紹 Java Enterprise System 中整合的各種元件。可以將這些系統元件組合成三個主要種類,如以下圖例所示:
系統服務元件。這些元件提供支援分散式企業應用程式的主要 Java Enterprise System 基礎架構服務。
服務品質元件。這些元件增強系統服務元件與分散式應用程式元件的可用性、安全性、延展性、服務性及其他品質。
共用元件。這些元件提供許多系統服務元件和服務品質元件的執行環境。
若干 Java ES 元件提供支援分散式軟體解決方案的主要服務。這些系統服務包括入口網站服務、通訊與協作服務、識別與安全性服務、Web 容器服務及 J2EE 應用程式服務。
下表簡述提供這些分散式服務的系統服務元件及它們提供的服務。每個系統服務元件皆為多重執行緒伺服器程序,能夠支援數量眾多的用戶端。如需關於任何元件的更多詳細資訊,請參閱系統服務元件說明。
表 1–1 Java ES 系統服務元件
除表 1–1 中所示的系統服務元件外,Java Enterprise System 還包含若干個用於增強系統服務元件提供的服務品質的元件。服務品質元件還可以增強自訂開發應用程式服務。服務品質元件分成以下種類:
可用性元件
存取元件
管理元件
可用性元件為系統服務元件和自訂應用程式服務提供近乎不間斷的正常執行時間。下表顯示 Java Enterprise System 中包含的可用性元件及它們提供的服務。如需關於任何元件的更多詳細資訊,請參閱可用性元件說明。
表 1–2 Java ES 可用性元件
元件 |
提供的可用性服務 |
---|---|
為 Java Enterprise System、在 Java Enterprise System 基礎架構之上執行的應用程式及部署這兩者的硬體環境提供高可用性和延展性服務。 |
|
提供了資料儲存區,讓使用者即使在發生故障時,也能夠使用應用程式資料 (特別是階段作業狀態資料)。 |
存取元件提供軟體服務的前端存取,通常可以確保從企業防火牆外部的網際網路位置進行安全存取。除了提供此類存取之外,許多元件也提供路由功能。下表顯示 Java Enterprise System 中包含的存取元件及它們提供的服務。如需關於任何元件的更多詳細資訊,請參閱存取元件說明。
表 1–3 Java ES 存取元件
元件 |
提供的存取服務 |
---|---|
為 Directory Server 提供從公司防火牆外部進行存取的安全性服務。Directory Proxy Server 提供目錄存取控制及為多個 Directory Server 實例提供路由。 |
|
Sun Java System Web Proxy Server |
為外寄與內送這兩種網際網路請求供給 Web 內容的快取、篩選和分發。 |
Sun Java System Communications Express |
視配置而定,提供對 Messaging Server、Calendar Server 及 Directory Server 的網路型存取。 |
提供使用 Microsoft Outlook 並具有與 Messaging Server 和 Calendar Server 兩者通訊的介面的桌面用戶端。 |
管理元件為系統服務提供了配置及監視之類的管理功能。下表顯示 Java Enterprise System 中包含的管理元件及它們提供的服務。如需關於任何元件的更多詳細資訊,請參閱管理元件說明。
表 1–4 Java ES 管理元件
元件 |
提供的管理服務 |
---|---|
提供讓您能配置與管理 Directory Server 和 Messaging Server 的圖形化管理工具。 |
|
以佈建 Messaging Server 與 Calendar Server 使用者所需的模式提供用於配置 Directory Server 的程序檔。 |
|
提供指令行和 GUI 兩種工具,用於以 Messaging Server 與 Calendar Server 所需之使用者屬性寫入 Directory Server 中的使用者項目。 |
Java Enterprise System 包含若干個在本機安裝的共用程式庫,許多系統服務元件和服務品質元件都依賴這些程式庫。Java ES 共用元件為在同一個主機電腦上執行的 Java ES 元件提供本機服務。
共用元件通常用於在不同作業系統間提供可移植性。Java Enterprise System 共用元件的範例包含:Java 2 Platform Standard Edition (J2SETM 平台)、Netscape Portable Runtime (NSPR)、Network Security Services (NSS)、Network Security Services for Java (JSS) 等。如需完整清單,請參閱共用元件。
視正在安裝的系統服務與服務品質元件而定,Java ES 安裝程式可能會自動安裝共用元件。
建立以 Java Enterprise System 軟體為基礎的業務解決方案包含若干個標準作業。視採用 Java Enterprise System 的起點及嘗試建立與部署的解決方案的特性而定,這些作業在範圍和難度上會有差異。
本節討論使用 Java Enterprise System 的兩個層面:Java Enterprise System 解決方案生命週期與通常牽涉到的各種採用方案。
建立以 Java ES 軟體為基礎的業務解決方案所牽涉到的作業可分成數個階段,如圖 1–3 所示。該圖例還顯示了一般負責執行各種作業的 Java Enterprise System 使用者的種類。
圖 1–3 中顯示的生命週期階段可分成以下幾大群組:
第 4 章, Java Enterprise System 解決方案生命週期作業對解決方案生命週期及圖 1–3 所示的每個階段中的作業有更詳盡的討論。
圖 1–3 顯示通常負責執行上述生命週期階段作業的 Java ES 使用者。如果使用 Java ES,您的工作應會符合圖 1–3 所示的一個或更多個使用者種類。下表描述每個使用者類別的技術與背景。
表 1–5 執行生命週期作業的 Java ES 使用者種類
使用者 |
技術與背景 |
階段 |
---|---|---|
系統分析師 |
具備一般,而非深入的技術知識 瞭解企業的戰略方向 瞭解業務流程、目標與需求。 |
業務分析 技術需求 邏輯設計 |
具備高級技術。 擁有廣泛的部署架構知識。 熟悉最新的技術。 瞭解業務需求與限制。 |
邏輯設計 部署設計 |
|
售後工程師 系統管理員 系統管理者 |
具備高級技術。 極度熟悉資訊技術環境。 擁有實作分散式軟體解決方案的經驗。 瞭解網路架構、協定、裝置與安全性。 瞭解程序檔以及程式設計語言。 |
部署設計 部署實作 |
授權管理員 支援工程師 |
具備專門的技術或產品知識。 熟悉硬體、平台、目錄及資料庫。 擁有監視、疑難排解及升級軟體的技術。 暸解作業系統平台的系統管理。 |
作業 |
促使採用 Java ES 的業務需求差異極大。不過,幾乎每個 Java ES 部署的高階目標均可歸入以下採用方案之一:
增強。以現有資訊技術 (IT) 基礎架構為基礎,使用 Java ES 軟體替代該系統的一個、多個或所有部分。您會取代系統或子系統的原因,通常是因為這些系統太複雜、限制太多或是維護的成本太高。例如,您可能需要較佳的安全性、較高的可用性、更大的延展性、更多的彈性、較低的複雜度、額外的功能 (如單次登入),或是需要更能充分運用 IT 資源。也就是說,你希望能改善現有系統的投資回報。
延伸。以現有 IT 基礎架構為基礎,部署目前不是系統一部分的 Java Enterprise System 軟體。您會以此方式延伸系統的原因,通常是因為您必須滿足新的業務需要。可能需要新的實用功能,像是透過 Java ES 入口網站對現有服務進行個人化集合,或針對現有服務的 Java 認證與授權。
升級。以包含較早版本的 Java Enterprise System 或早於 Java Enterprise System 的 Sun 產品的 IT 基礎架構為基礎,升級到最新版本的 Java Enterprise System 元件。
每個採用方案都會有個自的考量因素及挑戰。無論您的情況符合哪一種採用方案,圖 1–3 所示的解決方案生命週期程序均適用。但是,依據您的採用方案,您要解決的問題以及在生命週期階段中投入的資源會有所不同。
下列考量因素通常適用於不同等級的採用方案:
遷移。使用新軟體增強或升級現有基礎架構通常需要將現有系統的資料遷移至新系統。資料可能是配置資訊、使用者資訊或應用程式資訊。由於擁有新的程式設計介面,所以您可能還必須遷移業務或表示邏輯。
整合。將新軟體增加至現有系統或替代軟體子系統通常需要將新軟體元件與其餘子系統整合。整合可能包含開發新的介面層、使用 連接器或資源配接卡、重新配置現有元件,以及實作資料轉換方案。
訓練。幾乎任何基礎架構變更都暗示著 IT 程序與技術集的變更。IT 部門必須有充分的時間來獲得新技術或改造舊技術,如此才能支援 Java Enterprise System 技術。
硬體。替代或增強現有系統或子系統時,可能受業務限制而必須對現有硬體進行再利用。依據您的採用方案而定,硬體資源可能會變成重要的因素。
下表摘要列出適用於各 Java ES 採用方案的重要性類型。
表 1–6 Java ES 採用方案重要性
本節說明本章使用的重要技術術語,重點是強調釐清這些術語之間的關係,以及它們如何在 Java Enterprise System 環境中使用。
部署 Java Enterprise System 軟體的整體原因,描述做為基礎的軟體系統及嘗試達到的目標的特性。有四種基本的 Java Enterprise System 採用方案:新系統、取代、延伸及升級。
做為分散式應用程式建構基礎的軟體邏輯單元。元件可以是 Java Enterprise System 中包含的系統元件之一,或是自訂開發的應用程式元件。應用程式元件通常符合分散式元件模型 (像是 CORBA 或 J2EETM 平台) 並執行某些特定的運算功能。這些元件 (不論是單一還是組合形式) 均提供業務服務,並可將它們封裝為 Web 服務。
一種應用程式,其邏輯覆蓋整個網路或網際網路環境 (分散層面),其範圍與規模符合生產環境或服務提供者的需要 (企業層面)。
使用分散式應用程式 (通常是透過圖形化使用者介面,像是網際網路瀏覽器或行動裝置 GUI) 的人員。應用程式支援的同步運作一般使用者數目是該應用程式部署架構的重要判定因素。
針對一個或更多個用戶端執行的軟體功能。此功能可以是非常低階的 (像是記憶體管理) 或是高階的 (像是信用查核業務服務)。高階服務可以由一系列的個別服務構成。服務可以是本機 (本機用戶端可以使用) 或分散 (遠端用戶端可以使用) 的。
Java Enterprise System 中包含的若干種類的系統元件之一。這些元件增強系統服務元件和分散式應用程式元件的可用性、安全性、延展性、服務性及其他品質。
Java Enterprise System 中包含的若干種類的系統元件之一。共用元件 (通常是程式庫) 可為其他系統元件提供本機服務。與之相反,系統服務元件則為其他系統元件 (或應用程式元件) 提供分散式基礎架構服務。
Java Enterprise System 中包含並由 Java Enterprise System 安裝程式安裝的任何套裝軟體或套裝軟體集。系統元件有幾種類型:提供分散式基礎架構服務的系統服務元件、透過提供存取與管理服務支援系統服務元件的服務品質元件及為其他系統元件提供本機服務的共用元件。
定義 Java Enterprise System 提供的唯一功能的一個或更多個分散式服務。系統服務通常需要以下元件的支援:若干個服務品質元件、若干個共用元件或這兩者的各一部分。
Java Enterprise System 中包含的若干種類的系統元件之一。系統服務元件提供主要的 Java Enterprise System 基礎架構服務:入口網站服務、通訊及協作服務、身份識別及安全性服務、Web 及應用程式服務以及可用性服務。