關鍵詞 J2EE;EJB;體系結構;電子商務
隨著網絡的普及和發展,電子商務在當前的網絡時代扮演著越來越重要的角色。電子商務從最初的靜態電子商務已經發展到今天的動態電子商務。動態電子商務能夠動態適應企業不斷變化的業務策略的電子商務流程及相關系統,反映了在實時條件下實現應用動態集成的概念。動態電子商務的特點是軟件應該按照業務的過程設計成可重用的和柔性的組件。J2EE技術采用了Browser/Server結構和組件的思想,將業務邏輯從客戶端、服務器端中獨立出來,適應於日益復雜化和日益變化的業務邏輯的需要,可以充分滿足動態電子商務的開發需求。
1 J2EE體系結構
J2EE是一種利用Java 2平台來簡化企業解決方案的開發、部署和管理相關復雜問題的體系結構,可以用於開發大型的、多層次的以及分布式的企業級應用系統。J2EE采用分層結構,層與層之間相互獨立,每個層面提供特定服務。在分層結構中,任何一層只要其提供的接口不變,實現發生變化對其他層面沒有影響。分層後不僅使各層功能變得簡單且易實現,而且具有更好的可維護性和可擴展性。
圖1 J2EE體系結構
2 基於J2EE的電子商務開發模型
J2EE技術采用分布式組件思想,適於電子商務系統的開發,但采用J2EE技術進行電子商務系統的開發也存在著一些問題,具體表現在以下幾個方面。
1) 客戶端浏覽器通過遠程接口對後端服務器的業務對象進行調用,需要花費網絡開銷。如果客戶端和服務器之間存在過多的方法調用,會導致網絡性能問題。
2) 電子商務系統擁有大量用戶,用戶與服務器端業務對象間的交互會給網絡通信帶來很大的壓力,使系統性能受到很大破壞,嚴重的可能會導致系統崩潰。
3) 層次之間聯系過於緊密,客戶端和後端的業務對象具有較強的依賴關系,不利於系統的管理和維護。客戶端和業務對象之間的直接交互會導致兩者的聯系過於緊密,同時也使得客戶端過於依賴業務對象的具體實現,並負責管理與交互過程有關的業務對象查找和創建,以及不同的對象間相互調用的關系。這樣,就會要求客戶端進行對此組件過多的操作,從而降低了系統的可維護性。
為了解決以上問題,本文針對電子商務開發的具體實際,對J2EE的體系結構進行了改進,提出了基於J2EE的電子商務開發模型,其結構如圖2所示。
圖2 基於J2EE的電子商務開發模型
基於J2EE的電子商務開發模型分為四層,分別是客戶層、Web層、業務層和企業信息系統層。其中,客戶層為通過浏覽器對電子商務系統進行訪問的網絡終端用戶,一般又分為一般用戶與會員和管理員。一般用戶與會員可通過訪問電子商務系統進行信息查詢和產品定購等操作;而管理員則負責對電子商務系統進行管理和維護。
Web層實現與客戶層的交互,處理客戶層的請求並做出響應。Web層向客戶層提供了兩個接口,分別是電子商務系統接口和管理接口。客戶層的所有用戶都可以通過電子商務系統接口訪問電子商務系統;而管理接口只能由管理員進行訪問,一般用戶與會員則無此權限。Web層的功能通過Web組件實現對用戶處理數據的表達。
業務層實現與Web層的交互,處理Web層的數據處理請求,是模型的核心層。模型對業務層的業務對象進行封裝,使Web層不直接訪問EJB組件,而是通過系統訪問會話Bean和子系統會話Bean來實現對EJB組件的訪問。
企業信息系統層運行企業信息系統軟件,例如企業資源計劃、大型機事務處理、數據庫系統及其他遺留信息系統。企業信息系統層實現與業務層的交互,一般處理業務層的數據庫操作。
3 基於J2EE的電子商務開發模型的實現
基於J2EE的電子商務開發模型的核心是業務層,其實現如下:
圖3 基於J2EE的電子商務開發模型中對EJB組件的訪問過程
系統訪問會話Bean向Web層提供對系統訪問的統一接口。系統訪問會話Bean包含一個工作流中所有相關對象的交互,並實現其中的業務邏輯,管理工作流中相關對象的生命周期。對一般EJB方法的調用,系統訪問會話Bean只提供了一個對系統訪問的接口,而不提供其方法的具體實現。
電子商務系統可分為若干個子系統,每個子系統使用子系統會話Bean把一些相關的EJB組件封裝在一起。子系統會話Bean負責管理業務對象,並向系統訪問會話Bean提供對子系統的訪問接口,還可以處理底層對象的交互過程,由此屏蔽了復雜的對象交互。
對EJB組件的訪問過程如圖3所示。首先調用系統訪問會話Bean的管理方法;然後,管理方法通過參數確定相應的子系統,查找相應的子系統會話Bean,調用其相關方法;最後,子系統會話Bean通過本地接口調用EJB組件。
4 基於J2EE的電子商務開發模型性能分析
基於J2EE的電子商務開發模型通過對系統的業務層的分層和對相關業務對象的封裝,可有效解決電子商務系統中存在的問題。
首先,基於J2EE的電子商務開發模型通過提供對系統訪問的統一接口,減少了暴露給Web層的業務對象。此模型減小了Web組件和業務對象的耦合度,從而降低了Web層和業務對象之間的依賴關系。業務對象只負責對自己的數據和邏輯進行管理,而模型可以對業務對象間的交互進行管理。此模型提供了更好的可管理性、更好的靈活性以及系統發生變化時更強的處理能力。
其次,基於J2EE的電子商務開發模型可以提高系統的性能。由於消除了Web組件與業務數據和業務對象的直接交互,減少了客戶端和服務器端的網絡開銷。子系統會話Bean可對相關的EJB組件及其交互進行管理,這樣可通過定義並實現一些管理方法進行粗粒度的處理,從而減少了遠程訪問的次數,節省了網絡開銷。在此模型中,對EJB組件的調用一般通過本地接口來實現,即進行本地訪問;相對於遠程訪問,本地訪問在同一JVM中進行,可節省開銷,提高系統性能。而且,所有的業務對象之間的交互都是通過系統訪問會話Bean和子系統會話Bean以粗粒度的方式實現的,這也有效地改進了系統的性能。
最後,基於J2EE的電子商務開發模型封裝了底層的業務對象,只向Web層提供一個訪問接口,可有效控制Web層組件對底層業務對象的直接訪問,提高了系統的安全性。此模型向用戶隱藏業務對象間的交互過程和依賴關系,從而使得系統更加容易管理,並提供相當的靈活性。而且,模型提供了一套統一的用戶訪問機制,便於管理用戶對於服務的請求與訪問。
5 結束語
J2EE在開發電子商務系統方面具有無可比擬的優勢,它提供中間層集成框架用來滿足高可用性、高可靠性以及可擴展性的應用的需求,通過提供統一的開發平台,降低了開發多層應用的復雜性,同時對現有系統集成提供強有力支持。本文對J2EE體系結構進行了分析,並在此基礎上,對J2EE的體系結構進行了改進,提出了基於J2EE的電子商務開發模型,可有效解決電子商務系統存在的性能和可維護性等問題。本文所給出的電子商務開發模型已在作者承擔的企業信息系統中應用,並取得了良好的效果。
參考文獻
[1] Paul J. Perrone, et al.著, 張志偉,譚郁松,張明傑 譯. J2EE構建企業系統——專家級解決方案. 北京: 清華大學出版社, 2001
[2] John Hunt, Chris Loftus 著, 周立斌 等譯. 精通J2EE——Java企業級應用. 北京: 清華大學出版社, 2004
[3] Martin Bond 等著, 周輝 等譯. 21天學通J2EE(第二版). 北京: 人民郵電出版社, 2005
[4] William Crawford, Jonathan Kaplan 著, 劉紹華,毛天露 譯. J2EE設計模式. 北京: 中國電力出版社, 2005
[5] Deepak Alur,John Crupi,Dan Malks 著, 劉天北,熊節 等譯. J2EE核心模式(第二版). 北京: 機械工業出版社, 2005
[6] 李卉,殷兆麟,金鐵鋒.Session Fa ade設計模式及其在J2EE系統開發中的應用研究. 計算機工程,2005, 31(14): 228-230
收稿日期:11月24日 修改日期:12月5日
作者簡介:馮澤濤(1977-),男,山東工商學院教師,碩士,主要研究方向:網絡工程與管理信息系統。