Sun Java Enterprise System 5 技術摘要

第 1 章 Java Enterprise System 簡介

Sun JavaTM Enterprise System (Java ES) 是一組軟體元件,可提供支援跨網路或網際網路環境中分佈的企業層應用程式所需要的服務。這些應用程式稱為分散式企業應用程式。本書將重點介紹 Java ES 的軟體元件以及這些元件所提供的服務。

本章將介紹 Java ES 以及與使用該系統有關的作業。本章包含以下各節:

您為何需要 Java ES

今日的業務需求需要跨網路或網際網路環境分佈、且擁有高度的效能、可用性、安全性、延展性和服務性的軟體解決方案。

Java ES 提供支援此類分散式企業應用程式所需的基礎架構服務,這些應用程式一般具有以下特性:

分散式企業應用程式需要基礎架構服務,這些服務使它們的分散式元件可以相互通訊、協調它們的工作、實作安全存取等等。這些基礎架構服務是由電腦和網路連結構成的硬體環境所支援。此硬體環境包含 SPARC® 與 x86 (Intel 和 AMD) 硬體架構。

下圖顯示整體的分層方案。Java ES 主要提供圖中顯示的分散式基礎架構服務層。

圖 1–1 分散式企業應用程式需要的支援

顯示分散式企業應用程式、分散式基礎架構服務與分散式基礎架構服務的從上至下層級關係的示意圖。

Java ES 提供的部份功能服務如下:

Java ES 也提供了可增強可用性、延展性、服務性與其他應用程式或系統品質的服務。Java ES 提供的部份服務品質功能如下:

您可以部署一或多個 Java ES 服務,其中每個服務可能包含一些 Java ES 元件。

Java ES 元件

Java ES 將分離的軟體產品與元件整合成為單一軟體系統。一些系統層級功能促成了它們之間的整合,如下所列:

這些功能在本書的後續章節中進行介紹。本節將重點介紹整合到 Java ES 中的元件。可以將這些系統元件分成三個主要種類,如下圖所示:

圖 1–2 Java ES 元件的種類

顯示 Java ES 元件種類及它們彼此間關係的示意圖。

這些元件提供以下服務:

如需 Java ES 元件的清單,請參閱附錄 AJava ES 元件

系統服務元件

一些 Java ES 元件提供了可支援分散式企業解決方案的主要服務。這些系統服務包括入口網站服務、身份識別及安全性服務、Web 容器服務、J2EE 應用程式服務和持續性服務。

下表按字母順序列出並簡述提供這些分散式服務的系統服務元件及它們提供的服務。每個系統服務元件皆為多重執行緒伺服器程序,能夠支援數量眾多的用戶端。如需關於各個元件的更多詳細資訊,請參閱系統服務元件

表 1–1 Java ES 系統服務元件

元件 

提供的系統服務 

Sun Java System Access Manager

提供存取管理與數位身份管理服務。存取管理服務包含存取應用程式和/或服務所需的認證 (包含單次登入) 與以角色為基礎的授權。管理服務包括對個別使用者帳號、角色、群組以及策略的集中管理。

Sun Java System Application Server

為 Enterprise JavaBeansTM (EJB) 元件 (像是階段作業 Bean、實體 Bean 及訊息驅動 Bean) 提供 J2EE 容器服務。該容器提供需要的架構服務給緊耦合的分散式元件產生互動,使 Application Server 成為電子商務應用程式和 Web 服務的開發與執行平台。Application Server 還提供 Web 容器服務。

Sun Java System Directory Server

提供用於儲存和管理企業內部網路和網際網路資訊的中央儲存庫,這些資訊包括身份設定檔 (員工、客戶、供應商等等)、使用者憑證 (公開金鑰憑證、密碼和號碼)、存取權限、應用程式資源資訊和網路資源資訊等等。 

Java DB [Java ES 5 是第一個包含 Java DB 做為產品元件的版本。Java DB 的首次發行是以 Derby Database 為名稱,做為共用元件發行,並包含於 Java ES 2005Q4 中。]

為 Java 應用程式開發提供簡易資料庫。Java DB 是 Sun 支援的 Apache Derby 開放原始碼 100% Java 技術資料庫發行軟體。

Sun Java System Message Queue

在鬆耦合的分散式元件和應用程式間提供可靠的非同步訊息傳送。Message Queue 實作了 JavaTM Message Service (JMS) API 規格,並增加了企業功能,像是安全性、延展性及遠端管理。

Sun Java System Portal Server

為存取業務應用程式或服務的瀏覽器式用戶端提供重要入口網站服務,像是內容集合與個人化。Portal Server 還提供可配置的搜尋引擎。 

Sun Java System Service Registry

提供登錄與儲存庫以支援 Web 服務導向的架構 (SOA) 應用程式。Service Registry 實作了登錄與探索 Web 服務的工業標準以及管理關聯資訊和事實、工件 (像是 XML 模式、業務程序規則、存取控制、版本控制等) 的工業標準。 

Sun Java System Web Server

Java Web 元件,例如 Java TMServlet 與 JavaServer PagesTM (JSPTM) 元件提供 J2EE Web 容器服務。Web Server 也支援其他用於提供靜態與動態 Web 內容的 Web 應用程式技術,像是 CGI 程序檔和 Sun Java System Active Server Pages。

服務品質元件

表 1–1 中所示的系統服務元件外,Java ES 還包含若干個用於增強系統服務元件提供的服務品質的元件。服務品質元件還可以增強自訂開發應用程式服務。服務品質元件分成以下種類:

可用性元件

可用性元件為系統服務元件及自訂應用程式服務提供近乎不間斷的正常執行時間。下表顯示 Java ES 包含的可用性元件及其提供的服務。如需關於各個元件的更多詳細資訊,請參閱可用性元件

表 1–2 Java ES 可用性元件

元件 

提供的可用性服務 

High Availability Session Store

提供了資料儲存區,讓使用者即使在發生故障時,也能夠使用應用程式資料 (特別是階段作業狀態資料)。 

Sun Cluster

為 Java ES 與在 Java ES 基礎架構之上執行的應用程式以及部署這兩者的硬體環境,提供高可用性和延展性服務。 

Sun Cluster Geographic Edition [Java ES 5 是第一個包含 Sun Cluster Geographic Edition 做為 Java ES 產品元件的版本。]

可防止應用程式發生意外中斷,所採用的方式是使用多個在地理位置上相互隔離的叢集,並採用能夠在這些叢集之間複製資料的備援基礎架構。Sun Cluster Geographic Edition 軟體是 Sun Cluster 軟體的分層延伸。 

存取元件

存取元件提供軟體服務的前端存取,通常可以確保從企業防火牆外部的網際網路位置進行安全存取。除了提供此類存取之外,許多元件也提供路由和快取功能。下表顯示 Java ES 包含的存取元件及其提供的服務。如需關於各個元件的更多詳細資訊,請參閱存取元件

表 1–3 Java ES 存取元件

元件 

提供的存取服務 

Sun Java System Portal Server (包含 Secure Remote Access)

提供從公司防火牆外部對 Portal Server 內容與服務 (包含內部入口網站) 的安全網際網路存取。 

Sun Java System Web Proxy 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 安裝程式可能會自動安裝共用元件。

Sun Java Suite 中的元件

Java ES 以單一、點對點基礎架構軟體發行物以及可滿足重要業務需求的個別套件發行物這兩種形式提供。Java ES 包含所有的 Java ES 元件,而 Sun Java System Suite 則包含為符合特殊業務需求所選取的元件子集。Java ES 安裝程式和解除安裝程式皆包含在所有套件發行物中,但系統會將其削減以僅處理套件中的元件。所有的共用元件亦包含在所有的套件發行物中。

下表列出個別套件的內容,以及每種套件符合的業務需求。

表 1–4 Sun Java Suite 中的元件

套件 

業務需求 

目錄 

Sun Java Application Platform Suite

開發、部署和管理下一代服務導向架構 (SOA)  

Access Manager 

Application Server 

Directory Server 

HADB 

Java DB 

Message Queue 

Monitoring Console 

Portal Server (包含 Secure Remote Access 和 Mobile Access) 

Service Registry 

Web Proxy Server 

Web Server 

Sun Java Availability Suite

重要任務應用程式的損壞回復和高可用性 

Sun Cluster 軟體 

Sun Cluster Agents 

Sun Cluster Geographic Edition 

Sun Java Communications Suite [加上星號 (*) 的元件為已不包含在 Java ES 中的通訊元件或不再透過 Java ES 安裝程式安裝的通訊元件。這些元件已成為 Sun Java Communications Suite 的組成部份。]

安全及可靠的訊息傳送與協作服務 

Access Manager 

Application Server 

Calendar Server* 

Communications Express* 

Delegated Administrator* 

Directory Server 

HADB 

Instant Messaging* 

Java DB 

Message Queue 

Messaging Server* 

Monitoring Console 

Web Proxy Server 

Web Server 

Sun Java Identity Management Suite

跨運算基礎架構和應用程式環境的使用者身份識別管理 

Access Manager 

Application Server 

Directory Server 

HADB 

Java DB 

Message Queue 

Monitoring Console 

Web Server 

Sun Java Web Infrastructure Suite

中小型企業的 Web 應用程式和服務 

Access Manager 

Application Server 

Directory Server 

HADB 

Java DB 

Message Queue 

Monitoring Console 

Service Registry 

Web Proxy Server 

Web Server 

使用 Java ES

建立以 Java ES 軟體為基礎的企業解決方案涉及一些標準作業。 這些作業在範圍及難度上會有所不同,主要是視您開始採用 Java ES 的時機以及您嘗試建立和部署的解決方案本質而定。

本節會探討使用 Java ES 的兩個層面:Java ES 解決方案生命週期以及一般相關的採用方案。

Java ES 解決方案生命週期

建立以 Java ES 軟體為基礎的業務解決方案,與此相關的作業可以分為數個階段,如下圖所示。該圖例也顯示了一般會執行作業之 Java ES 使用者的類別。

圖 1–3 解決方案生命週期階段及使用者種類

顯示生命週期階段及 Java ES 使用者種類的圖形,這些使用者會執行與每個階段相關的作業。

上圖所顯示的生命週期階段可以分為下列的一般群組:

第 4 章, Java ES 解決方案生命週期將更深入探討圖 1–3 顯示的各生命週期階段作業。

圖 1–3 顯示通常會執行與生命週期階段相對應作業的 Java ES 使用者。下表描述每個使用者類別的技術與背景。

表 1–5 執行生命週期作業的 Java ES 使用者種類

使用者 

技術與背景 

階段 

業務規劃員

系統分析師 

具備一般,而非深入的技術知識 

瞭解企業的戰略方向 

瞭解業務流程、目標與需求。 

業務分析 

技術需求 

邏輯設計 

架構師

具備高級技術。 

擁有廣泛的部署架構知識。 

熟悉最新的技術。 

瞭解業務需求與限制。 

技術需求 

邏輯設計 

部署設計 

系統整合師

售後工程師 

系統管理員 

系統管理員 

具備高級技術。 

極度熟悉資訊技術環境。 

擁有實作分散式軟體解決方案的經驗。 

瞭解網路架構、協定、裝置與安全性。 

瞭解程序檔以及程式設計語言。 

部署設計 

部署實作 

專門的系統管理員

授權管理員 

支援工程師 

具備專門的技術或產品知識。 

熟悉硬體、平台、目錄及資料庫。 

擁有監視、疑難排解及升級軟體的技術。 

暸解作業系統平台的系統管理。 

作業 

Java ES 採用方案

決定 Java ES 採用方案的企業需求具有極大差異。不過,幾乎每個 Java ES 部署的高階目標均可歸入以下採用方案之一:

每個採用方案都會有各自的考量及挑戰。依據您的採用方案而定,您要解決的問題以及在生命週期階段 (如圖 1–3 所示) 中投入的資源會有所不同。

下列考量適用於不同等級的採用方案:

下表會摘要列出適用於每個 Java ES 採用方案的考量因素。

表 1–6 Java ES 採用方案重要性

採用方案 

遷移 

整合 

培訓 

硬體 

新系統 

不須考量 

整合新元件相當容易 

可能是重要的考量因素 

設備成本及勞力成本之間的抉擇 [使用幾部功能強大的電腦通常會增加設備成本,但是需求的 IT 資源也較少。使用許多部小型的電腦通常可以降低設備成本,但是需求的 IT 資源也較多。]

增強 

可能是主要的考量因素 

必須將新元件與現有系統加以整合 

可能是重要的考量因素 

因為現有設備的緣故,所以可能包含重要的限制因素 

延伸 

通常不是重要的考量因素 

可能必須將新元件與現有系統加以整合 

可能是重要的考量因素 

通常需要在新硬體方面做出與新系統相同的抉擇 

升級 

可能是重要的考量因素 

整合升級的元件相當容易 

不重要的考量因素 

不重要的考量因素 

本章的重要術語

本節說明本章中使用的重要技術術語,重點是闡明這些術語在 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 與應用程式服務以及可用性服務。