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