Sun Java Enterprise System 2005Q4 技術摘要

第 1 章 Java Enterprise System 簡介

Sun JavaTM Enterprise System (Java ES) 是一組軟體元件,提供支援分散在整個網路或網際網路環境中的企業應用程式所需的服務。本書中將這些應用程式稱為分散式企業應用程式。

Java Enterprise System 也代表 Sun 軟體發行版本和交付方案及業務和定價策略。但本書的重點是介紹 Java Enterprise System 的軟體元件及它們提供的服務。

本章介紹 Java Enterprise System 及使用該系統所牽涉的作業。本章涵蓋以下主題:

為什麼需要 Java Enterprise System?

今日的業務需求需要分散在整個網路或網際網路環境內、具有高階效能、可用性、安全性、延展性及服務性的軟體解決方案。

Java Enterprise System 提供支援此類分散式企業應用程式 (即一般具有以下特性的應用程式) 所需的基礎架構服務:

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

下圖顯示整體的分層方案。Java Enterprise System 主要提供圖 1–1 所示的分散式基礎架構服務層。不過,Java Enterprise System 服務也包含若干應用程式層級服務,像是一般使用者可存取的服務。

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

顯示網路硬體環境中分散式基礎架構服務上的分散式企業應用程式的示意圖。

以下是 Java Enterprise System 提供的部分重要服務:

Java Enterprise System 還提供能增強可用性、延展性、服務性及其他應用程式或系統品質的服務。以下是 Java Enterprise System 提供的部分服務品質功能:

可以部署一個或更多個 Java Enterprise System 服務,這些服務中的每一個都可能包含若干個 Java Enterprise System 元件。

Java Enterprise System 元件

Java Enterprise System 將分離的軟體產品與元件整合成為單一軟體系統。此系統的元件已經經過共同測試以確保互通性。若干個系統層級功能簡化了它們的整合:

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

圖 1–2 Java ES 元件的種類

顯示 Java 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 Calendar Server

為一般使用者與一般使用者群組提供行事曆和排程服務。Calendar Server 包含與伺服器進行互動式操作的瀏覽器式用戶端。 

Sun Java System Directory Server

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

Sun Java System Instant Messaging

為一般使用者彼此間提供安全、即時的通訊,例如即時訊息傳送 (聊天)、會議、警示、新聞、民意調查和檔案傳輸。此服務還包括線上狀態管理者 可告知使用者目前誰在線上和基於瀏覽器的用戶端 (可與伺服器互動)。 

Sun Java System Message Queue

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

Sun Java System Messaging Server

提供支援電子郵件、傳真、呼叫器、語音及影像的安全、可靠、高容量的儲存後轉寄訊息傳送。Messaging Server 可同步運作式地存取多個訊息儲存區,並提供內容篩選以協助拒絕不請自來的電子郵件及防止病毒攻擊。 

Sun Java System Portal Server

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

Sun Java System Web Server

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

Sun Java System Service Registry 

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

服務品質元件

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

可用性元件

可用性元件為系統服務元件和自訂應用程式服務提供近乎不間斷的正常執行時間。下表顯示 Java Enterprise System 中包含的可用性元件及它們提供的服務。如需關於任何元件的更多詳細資訊,請參閱可用性元件說明

表 1–2 Java ES 可用性元件

元件 

提供的可用性服務 

Sun Cluster

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

High Availability Session Store

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

存取元件

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

表 1–3 Java ES 存取元件

元件 

提供的存取服務 

Sun Java System Directory Proxy Server

為 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 的網路型存取。 

Sun Java System Portal Server Secure Remote Access

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

Sun Java System Connector for Microsoft Outlook

提供使用 Microsoft Outlook 並具有與 Messaging Server 和 Calendar Server 兩者通訊的介面的桌面用戶端。 

管理元件

管理元件為系統服務提供了配置及監視之類的管理功能。下表顯示 Java Enterprise System 中包含的管理元件及它們提供的服務。如需關於任何元件的更多詳細資訊,請參閱管理元件說明

表 1–4 Java ES 管理元件

元件 

提供的管理服務 

Sun Java System Administration Server (及主控台)

提供讓您能配置與管理 Directory Server 和 Messaging Server 的圖形化管理工具。 

Sun Java System Directory Preparation Tool

以佈建 Messaging Server 與 Calendar Server 使用者所需的模式提供用於配置 Directory Server 的程序檔。  

Sun Java System Delegated Administrator

提供指令行和 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 Enterprise System 解決方案生命週期與通常牽涉到的各種採用方案。

Java Enterprise System 解決方案生命週期

建立以 Java ES 軟體為基礎的業務解決方案所牽涉到的作業可分成數個階段,如圖 1–3 所示。該圖例還顯示了一般負責執行各種作業的 Java Enterprise System 使用者的種類。

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

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

圖 1–3 中顯示的生命週期階段可分成以下幾大群組:

第 4 章, Java Enterprise System 解決方案生命週期作業對解決方案生命週期及圖 1–3 所示的每個階段中的作業有更詳盡的討論。

圖 1–3 顯示通常負責執行上述生命週期階段作業的 Java ES 使用者。如果使用 Java ES,您的工作應會符合圖 1–3 所示的一個或更多個使用者種類。下表描述每個使用者類別的技術與背景。

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

使用者 

技術與背景 

階段 

業務規劃員

系統分析師 

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

瞭解企業的戰略方向 

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

業務分析 

技術需求 

邏輯設計 

架構師

具備高級技術。 

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

熟悉最新的技術。 

瞭解業務需求與限制。 

邏輯設計 

部署設計 

系統整合師

售後工程師 

系統管理員 

系統管理者 

具備高級技術。 

極度熟悉資訊技術環境。 

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

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

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

部署設計 

部署實作 

專門的系統管理員

授權管理員 

支援工程師 

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

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

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

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

作業 

Java Enterprise System 採用方案

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

每個採用方案都會有個自的考量因素及挑戰。無論您的情況符合哪一種採用方案,圖 1–3 所示的解決方案生命週期程序均適用。但是,依據您的採用方案,您要解決的問題以及在生命週期階段中投入的資源會有所不同。

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

下表摘要列出適用於各 Java ES 採用方案的重要性類型。

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

採用方案 

遷移 

整合 

培訓 

硬體 

新系統 

不須考量 

整合新元件相當容易 

通常是重要的考量因素 

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

增強 

可能是主要的考量因素 

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

可能是重要的考量因素 

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

延伸 

通常不是重要的考量因素 

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

可能是重要的考量因素 

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

升級 

可能是重要的考量因素 

整合升級的元件相當容易 

不重要的考量因素 

不重要的考量因素 

本章的重要術語

本節說明本章使用的重要技術術語,重點是強調釐清這些術語之間的關係,以及它們如何在 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 及應用程式服務以及可用性服務。