簡介
J2EE 平台支援開發和部署多種標準的部署配置。基於這些標準的部署配置,才能免除應用程式開發的許多疑慮。下列各節提供最常見的部署配置的說明及利弊。
如果您還不熟悉 J2EE 概念,請先參閱 Java 2 Platform 企業版 (J2EE) 概觀。
獨立式部署配置
圖 1 顯示第一種部署配置。在此配置中,沒有 Web 儲存區,也沒有 EJB 儲存區 - 用戶端直接存取 EIS 資源,且自行處理任何呈現邏輯、商業邏輯及整合邏輯。
圖 1:獨立式部署配置
乍看之下,此配置似乎是個不錯的應用程式提議,可以簡單地操作 EIS 資源中保存的資料。不過,此配置有許多潛在的缺點。
變更 EIS 資源可能會對應用程式的實作造成巨大衝擊,這通常直接和每一個 EIS 資源的內部結構有關,例如資料庫表格的結構。應用程式本身的任何變動需要整個重新發佈給每一位使用者 -
沒有可部署應用程式的中央伺服器,用戶端無法立即取得最新的修正程式。
另外,此部署配置也不利於責任劃分。例如,呈現邏輯和商業邏輯經常緊密結合,難以支援應用程式演進和維護。
不過,當您決定調整應用程式時,此部署配置的真正問題才會開始浮現。用戶端工作站大多效能有限,理論上,您應該將處理工作分散在許多機器上。然而,獨立式配置不是以支援分散式處理為目的。而且,在試圖支援多個用戶端同時存取 EIS
資源時,您可能會發現應用程式受限於 EIS 資源本身,例如並行資料庫連線的數目。
EJB 集中式部署配置
圖 2 顯示 EJB 集中式部署配置。在此配置中,EJB 儲存區座落於用戶端儲存區和 EIS 資源之間 - 沒有 Web 儲存區。呈現邏輯放在用戶端,商業邏輯放在 EJB。用戶端的所有要求不直接存取 EIS 資源,而是由適當的 EJB
來管理。因此,用戶端不會受到 EIS 資源變更的影響。
圖 2:EJB 集中式部署配置
EJB 集中式部署配置專門解決獨立式部署配置中存在的許多問題。從延展性的觀點來看,J2EE 平台實作可以將處理工作分散在許多機器上。此外,EJB
儲存區會負責確保有效率地利用有限的資源,例如資料庫連線。從應用程式演進和維護的觀點來看,此配置也有利於分隔呈現邏輯和商業邏輯。
不過,EJB 集中式部署配置有一項缺點,只要稍微變更使用者介面,就必須將整個應用程式重新發佈給每一位使用者。即使封裝在 EJB
內的商業邏輯可以重新部署在伺服器上(從而讓使用者立即獲悉任何變動),但呈現邏輯卻無法這樣做。實在很可惜,因為應用程式的外觀和操作方式時常變動。
Web 集中式部署配置
圖 3 顯示 Web 集中式部署配置。在此配置中,Web 儲存區座落於用戶端儲存區和 EIS 資源之間 - 沒有 EJB 儲存區。呈現邏輯和商業邏輯由 Web 儲存區的元素來處理(JSP 和
Servlet)。在此配置中,用戶端使用簡單的標示語言,例如 HTML,基本上和 XML 或 WML 一樣。
圖 3:Web 集中式部署配置
Web 集中式部署配置通常會強調支援最終應用程式的外觀和操作方式,較不重注支援商業邏輯。這種配置支援經常變更應用程式的外觀,目前相當流行。
Web 集中式部署配置有許多好處。首先,用戶端不受 EIS 資源變動的影響,因為用戶端不直接存取這些資源。其次,重新部署整個應用程式時,不必完整地向使用者發佈,因為應用程式完全放在伺服器上。
不過,雖然使用 EJB 有時會過分強調手上的工作,但缺乏 EJB
卻會導致出現獨立式部署配置的一些問題。坦白說,這種配置不利於清楚劃分呈現邏輯和商業邏輯的責任,通常會形成緊密結合的元素,阻礙應用程式的演進和維護。此外,獨立式部署配置中存在的所有延展性問題,也同樣會發生在 Web 集中式架構。
多層部署配置
圖 4 顯示多層部署配置。此配置包含一個 Web 儲存區和一個 EJB 儲存區,且具有其他部署配置所討論的全部好處,毫無缺點。呈現邏輯由 Web 儲存區的元素處理,商業邏輯由 EJB 儲存區中的 EJB 處理。
圖 4:多層部署配置
用戶端不受 EIS 資源變動的影響,因為不直接存取這些資源。而且,重新部署整個應用程式時,不必完整地向使用者發佈,因為應用程式完全放在伺服器上。
從延展性的觀點來看,處理程序可以分散來支援並行處理。在同樣的觀點上,EJB 儲存區會負責確保有效率地使用有限的資源,例如資料庫連線。
從應用程式演進和維護的觀點來看,此配置也有利於清楚劃分責任。呈現邏輯和 EIS 資源分離,商業邏輯與外觀和操作方式分離。這樣清楚的區隔有利於將工作分配給不同程度的開發人員,呈現邏輯和商業邏輯可以同步開發。
多層部署配置也可以輕鬆地從一種用戶端裝置(例如 Web 瀏覽器)移轉至另一種用戶端裝置(例如 PDA)。不必重寫應用程式,因為封裝在 EJB 內的商業邏輯保持不變,可以直接使用。
總言之,部署配置眾多,各有利弊。J2EE 平台的其中一個目標是發揮最大的彈性,支援組織認為最適合的任何部署配置,同時解決企業關心的問題。
|