洪穎
摘要:針對當前電子商務模式的應用優勢和農業信息化的需求,采用J2EE技術基于組件的方法設計和實現了農產品電子商務平臺。由于采用了J2EE多層架構技術,該系統不但具有良好的可移植性和可擴展性,也具有較高的可靠性。
關鍵詞:農產品;電子商務;電子商務平臺;J2EE;EJB;農業
中圖分類號:TP311 文獻標識碼:A 文章編號:0439-8114(2015)01-0192-04
中國是個傳統農業大國,農業產業一直是中國的重要經濟支柱,但是農業經濟模式具有地域性強、季節性強、產品的標準化程度低、生產者分散等特點,傳統的農戶和經銷商面對面的這種農產品銷售模式顯然難以滿足農業發展要求,農民生產的農產品如果無法及時找到銷售渠道,無疑會帶來損失。隨著互聯網的發展,電子商務這種新型的商業運作模式迅速發展起來,它打破了時空的局限性,改變了傳統的貿易模式,通過網絡的方式實現消費者的購物、網上交易和在線電子支付以及各種商務活動[1]。如果將電子商務模式引入到農業行業中,構建農產品的電子商務平臺將會有效推動農業產業化的步伐,促進農村經濟發展。農產品電子商務平臺能降低成本,提高效率,打破區域和時間的限制,實現農產品流通的規模化。
目前,在大型電子商務平臺中,采用J2EE基于組件技術來開發具有較大的優勢,能保證電子商務系統所需的高可用性、安全性、可靠性和可擴展性等特點,還能降低系統實現的復雜性。為此,使用J2EE技術來開發一個農產品電子商務平臺,以期為農產品流通的規模化提供一定的保障。
1 相關技術介紹
1.1 J2EE技術
J2EE(Java 2 Platform Enterprise Edition)是SUN公司提出的使用Java技術構建多層次企業級應用的一系列標準和規范。其中所包含的各種組件、服務架構及技術層次均有共同的標準和規范,使各種依循這種標準和規范的不同平臺之間具有了良好的兼容性,擺脫了過去企業級應用之間彼此無法兼容而導致的企業內部應用與外部應用難以互通的窘境[2]。
J2EE具有典型的四層結構[3],包括運行在客戶端服務器上的客戶層組件、運行在J2EE服務器上的表示層組件和業務邏輯層組件以及運行在EIS服務器上的企業信息系統(Enterprise information system)層軟件。圖1為J2EE多層應用模型體系結構。
客戶層通常為瀏覽器或Applet等客戶端實現的用戶界面;表示層是一些Web組件,運行在J2EE服務器上,由Web容器運行,包括JSP、Servlet等;業務邏輯層由一些運行在J2EE服務器上的EJB組件組成,這些組件運行在EJB容器中,一個Bean從客戶端接收數據、處理,然后把數據送到企業信息系統層存儲起來。同樣,一個Bean也可以從企業信息系統取出數據,發送到客戶端程序;企業信息系統層主要處理企業其他一些系統軟件和進行數據的存儲。
J2EE平臺能夠更好地解決企業應用中的“信息共享”和“服務集成”兩大技術問題[4]。系統具有安全性高、穩定性和可用性好、擴展性和伸縮性好以及良好的平臺無關性等優勢。
1.2 MVC設計模式
MVC模式(Model-View-Controller)是軟件工程中的一種軟件架構模式,該模式把應用程序分為三個核心模塊:模型(Model)、視圖(View)和控制器(Controller)。各個模塊分別擔負著不同的任務[5]。
控制器負責視圖和模型之間的交互,它主要負責兩方面的動作,把用戶的請求分發到相應的模型和將模型的改變及時反映到視圖上[6,7]。視圖是應用程序和用戶之間的接口,它負責將應用顯現給用戶和顯示模型的狀態;模型是應用程序的主體核心部分,它封裝了應用程序的數據結構和事務邏輯。
1.3 EJB組件及其類型
EJB(Enterprise Java Beans)是J2EE架構中服務器端組件模型,主要用于開發和部署多層結構、分布式的應用程序[8]。EJB組件通常要運行在EJB容器中,它的優點在于封裝性和可移植性,在具有相似業務邏輯功能的應用系統之間不需要修改代碼重新編譯,支持軟件的復用,降低開發成本,應用系統可以在一個支持EJB的環境中開發,完成后可以部署在其他環境中。
EJB從功能上可分為會話Bean(Session Bean)和實體Bean(Entity Bean)。
1)會話Bean(Session Bean)。Session Bean實現了運行于服務器上的業務邏輯,用戶通過調用Session Bean來訪問服務器,Session Bean在J2EE服務器上代表一個用戶,它通過在服務器端運行業務邏輯為用戶完成特定任務。
Session Bean有兩種應用模式:無狀態Session Bean(Stateless)和有狀態Session Bean(Stateful)[9]。無狀態Session Bean在一個方法調用的過程中能維持調用用戶的狀態,一旦方法執行完,狀態就不被保持,但無狀態Session Bean的Bean實現類可以被多個客戶端共享使用。有狀態Session Bean可以使用不同的Bean實現類一對一地維持某個調用用戶的狀態,每一個并發的用戶都有一個對應的有狀態Session Bean。
2)實體Bean(Entity Bean)。實體Bean代表數據庫或另外一個企業應用系統中的數據對象,如數據庫中的一條記錄[10]。實體Bean的屬性代表業務過程中處理的永久性數據,是持久性的,運行共享訪問。會話Bean的狀態不依賴于應用服務器而存在,是底層數據庫記錄的映像,和數據庫記錄保持同步,所以如果應用服務器停止運行,實體Bean的狀態還保存在數據庫中。endprint
2 系統設計
2.1 系統功能模塊的設計分析
農產品電子商務平臺系統包括前臺和后臺部分,其中前臺有以下功能模塊。
1)會員模塊。用戶首次使用農產品電子商務平臺需要進行會員注冊,注冊成功才能登陸平臺購買商品,也可以享受會員商品特價。在會員模塊中用戶還可以進行修改注冊資料、兌換積分等操作。
2)購物車模塊。用戶進入平臺選購農產品時,可以使用購物車。購物車具有查看購物車商品、修改購物車商品、確認訂單信息(包括查看商品數量、價格和總金額等)以及提交訂單等功能。
3)訂單管理模塊。該模塊主要提供訂單信息,包括訂單編號、金額、下單日期、訂單狀態等,用戶可以查看和修改訂單信息。
4)商品搜索模塊。該模塊可以讓用戶按日期、商品名稱、類型等方式搜索商品,快速找到需要的農產品。
農產品電子商務平臺的后臺包括以下功能模塊。
1)商品類別管理模塊。主要實現對商品類別進行增加、修改和刪除等操作,管理員還可以通過分類管理實現商品的分類并可以增加、修改和刪除商品信息。該模塊還支持下載Excel模板,批量導入商品信息。
2)商品管理模塊。該模塊主要實現管理員進行增加、修改和刪除商品的操作。支持下載Excel模板,批量導入商品信息。
3)訂單管理模塊。系統管理員可以對訂單進行管理、統計和打印,既可以按照會員信息進行統計,也可以按照商品信息進行統計等。
4)會員管理模塊。此模塊實現系統管理員對注冊會員的管理功能,包括會員的查看、刪除、設置會員權限、設置會員商品折扣和會員積分管理等。
5)管理員用戶管理模塊。該模塊提供對系統管理員用戶的管理功能,包括增加、刪除、修改管理員用戶等操作。
基于J2EE的農產品電子商務平臺系統功能模塊如圖2所示。
2.2 數據庫設計
數據庫設計在系統開發過程中是一項重要的工作。一個系統的好壞很大程度上依賴于數據庫設計的質量。為實現對數據的系統管理,保證數據的整體性、完整性和共享性,系統的開發采用了SQL Server 2005數據庫。Microsoft SQL Server 2005是一個全面的數據庫平臺,提供了企業級的數據管理,具有連接速度快、支持用戶多和安全性好等優點[11]。電子商務平臺設計的主要數據表包括農產品信息表、農產品類別信息表、管理員表、用戶信息表、訂單信息表等,系統數據庫ER模型如圖3。
2.3 系統架構
依據J2EE的典型架構和B/C電子商務平臺的特點,農產品電子商務平臺采用4層架構,分別是客戶層、表示層、業務邏輯層和企業信息系統層(圖4)。
客戶層是用戶通過瀏覽器對農產品電子商務平臺進行訪問的網絡終端,系統用戶分為管理員用戶、未注冊用戶和會員用戶,管理員用戶負責對電子商務平臺進行管理和維護,而未注冊用戶和會員用戶可以通過訪問電子商務平臺的前臺界面進行商品查詢和產品訂購等操作。
表示層主要處理客戶層的請求并做出響應,主要采用JSP實現與客戶的信息交互。該層向客戶層提供了兩個接口,分別是電子商務平臺接口和管理接口。電子商務平臺接口允許客戶層的所有用戶訪問農產品電子商務平臺,而管理接口只能由管理員用戶進行訪問,一般用戶與會員用戶沒有權限。只有注冊會員才能從交易系統購買商品。一般公共信息瀏覽不做限制。
業務邏輯層主要對表示層的數據請求進行處理,是農產品電子商務平臺的核心層。在該層中封裝了各個業務邏輯EJB,如會員管理、訂單管理及商品管理等。電子商務平臺對業務邏輯層的業務對象進行封裝,使得表示層不直接訪問EJB組件,而是通過系統訪問會話Bean和子系統會話Bean來實現對EJB組件的訪問。該層主要應用的J2EE技術有EJB和JDBC。
企業信息系統層是農產品電子商務平臺數據庫系統所在的層。企業信息系統層一般處理業務邏輯層的數據庫操作,該層提供了對組織數據基本的存儲和訪問。
3 系統實現
基于J2EE架構的農產品電子商務平臺采用J2EE的4層架構,分別為客戶層、表示層、業務邏輯層和企業信息系統層。下面主要介紹一下各層的實現。
3.1 客戶層
基于J2EE架構的農產品電子商務平臺客戶層采用JSP動態網頁的形式來實現,單擊頁面鏈接或按鈕進入相應的功能模塊執行。
3.2 表示層
基于J2EE的農產品電子商務平臺通過HTTP協議使用Servlet調用相應的ELB組件來完成用戶請求,并將處理的結果返回給用戶。系統主要包括以下一些Java Servlet。
1)登錄Servlet。當用戶登錄農產品電子商務平臺時,登錄Servlet負責讀取用戶名,然后檢索和用戶名匹配的用戶實體Bean,并將用戶輸入的密碼與用戶實體Bean所存儲的密碼進行匹配,如果匹配成功,則為用戶創建一個臨時的購物車,并轉到農產品電子商務平臺的主頁Servlet,如果匹配不成功,則顯示一個錯誤信息并提示用戶再次輸入密碼。
2)購物車查詢Servlet。用戶可以查看和修改購物車,當用戶修改了購物車的狀態時,購物車查詢Servlet,將通過調用計算總價的無狀態會話Bean重新計算價格。
3)購買Servlet。用戶選擇完商品確認購買時,可以將購物車狀態會話Bean轉化為訂單實體Bean。
3.3 業務邏輯層
基于J2EE的農產品電子商務平臺業務邏輯層的EJB組件主要有商品、用戶、訂單、訂單明細、購物車、購物車明細和總價計算等。其中購物車和購物車明細不是永久性的,所以采用有狀態會話Bean來實現,而商品、用戶、訂單和訂單明細具有永久性的持續性對象,即便電子商務平臺由于某種原因意外終止服務,這些實體的狀態仍然要保證存在,所以采用實體Bean來實現,一旦機器出現問題,實體Bean能夠在內存中被重新創建。總價計算可以針對任何一個購物車,非永久性,采用無狀態會話Bean實現。
4 小結
針對電子商務平臺在農業領域的應用優勢,分析了農產品電子商務平臺開發的各個環節的關鍵技術和實現方法,構建了高質量的J2EE應用框架。與其他電子商務平臺相比,基于J2EE組件技術開發的系統具有很多優點,比如系統可以跨平臺運行,后期修改很方便,單個EJB組件的修改對整個系統的影響很小等;由于采用J2EE架構和EJB組件技術,系統具有良好的可靠性和可擴展性。
參考文獻:
[1] 楊傳明.基于開源J2EE框架的電子商務實驗平臺研究[J].計算機應用與軟件,2009,26(10):70-71.
[2] 徐俊萍,翟玉慶. J2EE技術及其在電子商務開發中的應用研究[J].計算機應用研究,2009(1):142-144.
[3] 董福壯.基于組件的B2C電子商務系統應用[J].計算機工程與應用,2009,72(2):127-129.
[4] 陳 勇.電子商務Web數據庫技術相關方法的應用研究[J].計算機工程與應用,2008(5):175-178.
[5] 常晉義.基于J2EE的電子商務網構建技術及應用[J].計算機應用研究,2009(4):105-108.
[6] 倪曉秋,季 民,王光偉. J2EE案例開發[M] .北京:中國水利出版社,2005.10-19.
[7] 馬 燕,林傳立. J2EE在電子商務開發中的應用研究[J]. 計算機應用研究,2002,19(9):42-44.
[8] 劉繼華,李臘元.基于Java的數據庫連接池的設計與實現[J].計算機工程與應用,2003(7):183-185.
[9] 王 兵,徐汀榮.基于J2EE體系結構實現網上購物系統[J].信陽師范學院學報(自然科學版),2005,18(1):110-113.
[10] 蔡 明,陳永運.J2EE架構的研究與應用[J].計算機應用與軟件,2004,21(1):42-43.
[11] 張紅梅,魚 濱.基于J2EE平臺開發電子商務應用[J].計算機工程與應用,2003(24):139-142.endprint