譚 寧
[摘要]對基于J2EE采用B/S結構體系,設計的網上購物系統(tǒng)需要實現的模塊進行分析研究。
[關鍵詞]J2EEEJB網上購物數據庫管理系統(tǒng)實現
中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)0610064-01
基于J2EE采用B/S結構體系設計電子商務系統(tǒng)是目前比較流行的方式之一,它是一種三層結構的C/S。對于任何一個計算機應用系統(tǒng),從簡單的單機系統(tǒng)到復雜的網絡計算,都可以由三部分組成:顯示邏輯部分(表示層)、事務處理邏輯部分(功能層)和數據處理部分(數據層)。
該網上購物系統(tǒng)需要實現的模塊有:實體EJB、無狀態(tài)會話EJB、互聯網程序數據模塊、應用程序數據模塊、用戶的注冊登錄模塊、商品管理模塊、購物車模塊、訂單處理模塊、網上支付模塊。
一、系統(tǒng)配置
網上購物系統(tǒng)運行在Windows XP操作系統(tǒng)下,以Sun公司的J2EE技術為技術支持,使用JBuilder9.0作為開發(fā)平臺、WebLogic8.0作為應用服務器、SQL Sever2000作為核心數據庫管理系統(tǒng)。
Weblogic實現的J2EE服務器端編程策略集中于EJB,而BTB則是許多企業(yè)級Web應用的心臟。EJB集成了數據管理、會話管理以及業(yè)務邏輯,同時還要協(xié)調應用的各個層次。例如,使用實體Bean表示來自數據庫中的數據,使用會話Bean實現復雜的或者敏感的業(yè)務邏輯,使用消息Bean支持異步數據處理。Webiogic容器為組件提供連接和通訊服務、多用戶事務支持、復制功能,因而具有較好的性能和擴展能力。
整個系統(tǒng)將應用程序分為三層:表示層、業(yè)務層和數據庫層,采用這種方式可以顯著增加系統(tǒng)處理并發(fā)的用戶會話的能力。
二、EJB的實現
(一)實體EJB的實現。網上購物系統(tǒng)的數據表管理通過實體EJB進行管理,客戶端不直接訪問實體EJB,而是訪問無狀態(tài)會話EJB,無狀態(tài)會話EJB提供數據表操作的所有事物。系統(tǒng)中的每個實體EJB都對應于數據庫中的一個關系型表。采用這種一一對應的方式可以使容器管理持久更方便的實現,以免出現問題變得復雜甚至無法控制的情況。另外,每個實體BJB都在Home接口中提供一系列的find方法,用以根據無狀態(tài)會話EJB中傳來的參數查找數據。同時,在每個實體EJB的Remote接口中提供了獲得實體EJB中數據的方法。
在容器管理的實體EJB中查找方法只需要在其Home接口中給出,但如何查則需要在其部署描述文件中定義。
下面介紹EJB的實現:
1、進入JBuilder,創(chuàng)建項目,設置Server的屬性是Weblogic;2、為項目創(chuàng)建EJB創(chuàng)建模塊,名字是ElectronicShoppingMall;3、為EJB創(chuàng)建模塊建立數據源;4、在數據源中選擇Category數據表,創(chuàng)建實體EJBCategoryESM;5、將該EJB添加兩個查找方法,分別是findA11、findByCategory:6、CategoryESM的主文件、創(chuàng)建接口文件和的遠程接口文件代碼省略。
(二)無狀態(tài)會話EJB的實現。系統(tǒng)中編寫了兩個無狀態(tài)EJB,分別是ESMStatelessEJB和ESMDMStatelessEJB,它們集成了對實體EJB的訪問。通過訪問實體EJB,無狀態(tài)會話EJB可以向表示層提供數據,也可以實現一些商務邏輯。前者的作用是查詢上述六個實體EJB的數據,后者的作用是管理上述六個實體EJB的數據,如增加、修改和刪除等操作。
無狀態(tài)會話EJB在設置其上下文時就得到了所有實體EJB的Home接口。通過這些接口,無狀態(tài)會話EJB就可以很方便的調用實體EJB,從而獲得或修改數據。
通過下面的步驟完成無狀態(tài)會話EJB的創(chuàng)建。
1、在EJB的創(chuàng)建模塊創(chuàng)建ESMStatelessBJB;2、ESMStatelessEJB的主文件代碼、接口文件代碼、遠程接口文件代碼的編寫:3、在EJB的創(chuàng)建模塊創(chuàng)建ESMDMStatelessEJB,主文件代碼、接口文件代碼、遠程接口文件代碼的編寫。
三、數據庫管理系統(tǒng)的實現
本系統(tǒng)選用SQL Sever2000數據庫服務器來建立和管理網上商店的產品和客戶信息。根據分析,本數據庫一共建立6個信息表格用來存儲信息,分別為:商品信息表用來存放商品的詳細信息;用戶信息表用來存放客戶的詳細信息;訂單信息表用來存放訂單的概要信息;訂單信息明細表用來存放訂單的詳細信息;管理員信息表用來存放管理員信息:促銷引擎信息表用來存放發(fā)布內容。
用戶信息表、管理員信息表、促銷引擎信息表屬于文件管理數據庫,商品信息表、訂單信息表、訂單信息明細表屬于關系數據庫。關系數據庫能通過整合存儲多個表格的數據記錄,為查詢提供正確的數據信息。訂單信息表和訂單信息明細表通過訂單號聯系在一起,商品信息表和訂單信息明細表通過貨品的編號聯系在一起。
數據庫管理的操作關系到數據庫中的多個表。如退貨管理,管理人員在填寫退貨單時,既關系到退貨處理表,同時也關系到商品表和訂單表。這樣也方便商品供應的管理及用戶訂單的管理,不需要管理員在退貨管理時還要修改商品供應管理里修改商品供應情況。
本系統(tǒng)需要在JSP網頁中與數據庫進行連接,此時需要用到Javabean技術。數據庫的經常使用使得需要我們連接和操作數據庫,包括數據的插入、更新、刪除、和查詢等,為避免或減少重復代碼以及錯誤代碼的出現,將連接和操作數據庫的代碼寫成一個Javahean“connDB.java”。在相關的JSP網業(yè)中加入代碼便可以在相關網頁進行相關數據庫的操作了。
每一個管理頁面都有密碼設置,管理員通過密碼進入,進行管理操作。在用戶訂單管理中,管理員能夠很方便的查詢到用戶的購物情況,能夠了解用戶的購物需求。在商品供應管理中,商店能夠及時了解哪一種商品需要及時補充供應,哪一種商品比較暢銷。不足之處是:不能自動顯示哪種商品短缺,要管理員查詢才能得知。在銷售情況管理中,管理員能查詢到每月的銷售業(yè)績,這反映了商店的經營情況。在商品售價管理中,商店可以根據市場的行情隨時更改商品的當前價格,這對于小型商店的靈活經營是非常有用的。
總之,一個完善的數據庫管理系統(tǒng)是一個完善網上商店的不可缺少的部分,是商店成功運作的堅實后盾。