您可以這樣設想,分散式企業應用程式的互動軟體元件位於多個邏輯層中。這些層表示軟體元件的邏輯與實體獨立性 (以它們提供的服務的特性為依據)。
邏輯層架構基本上代表了圖 1–1 中分散式企業應用程式層。基礎架構服務層級中討論的 Java ES 系統服務元件提供對圖 2–4 中顯示的所有邏輯層內應用程式元件的支援。不過,邏輯層概念也適用於提供應用程式層級服務的系統服務元件,像是 Messaging Server 與 Calendar Server。
本節提供對圖 2–4 中顯示的四個邏輯層的簡短說明。這些說明所涉及的是使用 Java 2 Platform Enterprise Edition (J2EETM 平台) 元件模型實作的應用程式元件。但事實上,其他分散式元件模型 (如 CORBA) 同樣支援此架構。
用戶端層。用戶端層由一般使用者透過使用者介面直接存取的應用程式邏輯構成。用戶端層中的邏輯可以包括基於瀏覽器的用戶端、在桌面電腦上執行的 Java 元件或在手持裝置上執行的 Java 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 基礎架構服務元件為分散式軟體解決方案提供基礎的基礎架構支援。不過,這些解決方案中的一部分包括由 Java ES 元件直接提供的應用程式層級服務。這些解決方案使用邏輯層設計方法。
例如,Messaging Server 提供的電子郵件通訊服務是使用若干個邏輯上獨立的 Messaging Server 配置實作的。這些獨立配置中的每一個均提供一組不同的服務。設計訊息傳送解決方案時,這些獨立配置代表位於不同邏輯層的個別元件,如下圖所示。
圖 2–5 並非顯示完整的邏輯架構,其為簡化圖例,其中省略了若干 Java ES 元件。連接各元件的線代表彼此的互動。
將 Messaging Server 功能按邏輯分割為不同的層後,就可以在同一實體環境中的不同電腦上部署邏輯上獨立的 Messaging Server 配置。實體分割在滿足服務品質需求方面提供了彈性 (請參閱第 3 要素:服務品質)。例如,它為不同實例供給不同的可用性解決方案,為不同的 Messaging Server 功能供給不同的安全性實作。