您可以這樣設想,分散式企業應用程式的互動軟體元件位於多個邏輯層中。這些層表示軟體元件的邏輯與實體獨立性 (以它們提供的服務的特性為依據)。
在大部份的情況下,邏輯層架構代表圖 1–1 中的分散式企業應用程式層。基礎架構服務層級中討論的 Java ES 系統服務元件提供對圖 2–4 中顯示的所有邏輯層內應用程式元件的支援。雖然邏輯層概念大部份適用於自訂企業應用程式,但也適用於由 Sun Java Communications Suite 元件和某些入口網站服務所提供的協作服務。
本節簡述了圖 2–4 中所示的四個邏輯層。這些描述所參考的是使用 J2EE 平台元件模型實作的應用程式元件。但事實上,其他分散式元件模型 (如 CORBA) 同樣支援此架構。
用戶端層。用戶端層由一般使用者可透過使用者介面直接存取的應用程式邏輯構成。用戶端層中的邏輯可以包括基於瀏覽器的用戶端、在桌上型電腦上執行的 Java 元件或在掌上型裝置上執行的 JavaTM 2 Platform, Micro Edition (J2METM 平台) 行動用戶端。
表示層。表示層由應用程式邏輯構成,應用程式邏輯的作用是準備資料以供傳送至用戶端層,以及處理來自用戶端層的請求以傳送至後端業務邏輯。表示層中的邏輯通常由 J2EE 元件 ,像是 Java Servlet 元件或 JSP 元件構成,這些 JSP 元件的作用是準備資料以便以 HTML 或 XML 格式傳送或接收供處理的請求。此層可能還包括入口網站服務,該服務提供對業務服務層中的業務服務的個人化、安全及自訂存取。
業務服務層。業務服務層由執行應用程式主要功能的邏輯構成:處理資料、實作業務規則、協調多位使用者及管理外部資源如資料庫或老舊系統。此層通常由符合 J2EE 分散式元件模型的緊耦合元件構成,像是 Java 物件、EJB 元件或訊息驅動 Bean。可將單個的 J2EE 元件組合起來,提供各種複雜的業務服務,如庫存服務或稅務計算服務。可以將單個元件與服務組合封裝為服務導向的架構模型內的鬆耦合 Web 服務,這些 Web 服務符合簡易物件存取協定 (SOAP) 介面標準。也可以將業務服務做為獨立伺服器 (像是企業行事曆伺服器或訊息傳送伺服器) 來建立。
資料層。 資料層是由一些服務所組成,這些服務會提供業務邏輯使用的永久性資料。這些資料可以是儲存在資料庫管理系統中的應用程式資料,也可以是儲存在簡易目錄存取協定 (LDAP) 資料存放區中的資源與目錄資訊。這些資料服務也可以包括從外部來源取得的資料,或從老舊運算系統存取的資料。
圖 2–4 中以圖例說明的架構要素以四個獨立的層代表,藉以強調元件的邏輯及實體獨立性。這些層表示在網路環境的不同電腦中如何分割應用程式邏輯:
邏輯獨立性。架構模型中的四個層代表邏輯獨立性:可以修改某層 (如業務服務層) 中的應用程式邏輯,而不會影響其他層中的邏輯。可以變更業務邏輯的實作,而不需要變更或升級表示層或用戶端層中的邏輯。舉例來說,這種獨立性表示在引進新的用戶端元件類型時,可不必對業務服務元件進行修改。
實體獨立性。這四個層也代表實體獨立性:您可以在不同硬體平台 (即採用不同的處理器配置、晶片組和作業系統) 上的不同層中部署邏輯。這種獨立性所帶來的益處是,能夠在最可因應各分散式應用程式元件運算需求且最適合最大化網路頻寬的電腦上執行這些元件。
如何將應用程式元件或基礎架構元件與硬體環境 (即部署架構) 對映需視眾多因素而定,而這些因素又會受軟體解決方案規模和複雜性的影響。如果是小型的部署,部署架構可能只會包含幾部電腦。若是大規模的部署,元件與硬體環境的對映可能會考量下列因素,不同電腦的速度與能力,網路連結的速度與頻寬,安全性與防火牆注意事項及重複元件策略以實作高可用性與延展性。
如圖 2–3 所示,Java ES 基礎架構服務元件為分散式軟體解決方案提供了基本的基礎架構支援。部份解決方案包含了 Sun Java Communications Suite 元件和一些 Java ES 元件提供的應用程式層級服務。這些解決方案使用邏輯層設計方法。
例如,Messaging Server 提供的電子郵件通訊服務是使用若干個邏輯上獨立的 Messaging Server 配置實作的。這些獨立配置中的每一個均提供一組不同的服務。設計訊息傳送解決方案時,這些獨立配置表示為位於不同邏輯層的個別元件,如下圖所示 (其中連接各元件的線代表彼此的互動)。
下圖並非代表完整的邏輯架構。其中省略了一些 Java ES 元件來簡化圖例。
通訊元件並不是 Java ES 的組成部份,但常隨 Java ES 元件一起部署,並在 Java ES 架構內使用。這些通訊元件為 Sun Java Communications Suite 的組成部份,在此文件中只做為說明參照之用。
由於將各 Messaging Server 功能按邏輯分割為不同的層,因而可以在同一實體環境中的不同電腦上部署邏輯上獨立的 Messaging Server 配置。實體分割在滿足服務品質需求方面提供了彈性 (請參閱第 3 要素:服務品質)。例如,實體分割為不同的實例提供了不同的可用性解決方案,也為不同的 Messaging Server 功能提供不同的安全性實作。