王冬星 韓玉坤
摘要:通過對(duì)J2EE網(wǎng)上購物系統(tǒng)的設(shè)計(jì)方法和模塊功能等介紹。向?qū)W生揭示了系統(tǒng)開發(fā)的總體概念。為其以后開發(fā)相關(guān)軟件做了很好的借鑒。
關(guān)鍵詞:J2EE網(wǎng)上購物三層模型
中圖分類號(hào)TP393文獻(xiàn)標(biāo)識(shí)碼A文章編號(hào):1002-2422(2007)03-0031-02
1購物系統(tǒng)體系結(jié)構(gòu)
系統(tǒng)采用J2EE三層結(jié)構(gòu),客戶端為標(biāo)準(zhǔn)瀏覽器,中間層為J2EE服務(wù)器(包括Web Servers和應(yīng)用服務(wù)器),底層為數(shù)據(jù)庫服務(wù)器。在這個(gè)系統(tǒng)中,所有用戶端要想和數(shù)據(jù)庫建立連接,都必須經(jīng)過應(yīng)用服務(wù)器的認(rèn)證。數(shù)據(jù)庫的訪問只能通過應(yīng)用服務(wù)器,同時(shí)應(yīng)用服務(wù)器完成所有的業(yè)務(wù)邏輯處理,并且能短暫地保存用戶的業(yè)務(wù)狀態(tài)。
1.1購物子系統(tǒng)
Web網(wǎng)站、應(yīng)用服務(wù)器和數(shù)據(jù)庫系統(tǒng)構(gòu)成了購物子系統(tǒng),主要完成網(wǎng)上購物系統(tǒng)的主流程以及網(wǎng)上用戶的管理,包括用戶注冊(cè)、用戶登錄認(rèn)證、商品展示、用戶的結(jié)算接口等。Web網(wǎng)站是表示層,是用戶進(jìn)行網(wǎng)上商品交易的入口;應(yīng)用服務(wù)器是業(yè)務(wù)邏輯層:處理各種與網(wǎng)上用戶購物相關(guān)的業(yè)務(wù)邏輯。最底層是數(shù)據(jù)庫層,存儲(chǔ)系統(tǒng)運(yùn)行過程中的持久性數(shù)據(jù)。
1.2業(yè)務(wù)子系統(tǒng)
業(yè)務(wù)子系統(tǒng)由業(yè)務(wù)客戶端、應(yīng)用服務(wù)器和數(shù)據(jù)庫系統(tǒng)構(gòu)成,是由業(yè)務(wù)人員使用的,進(jìn)行業(yè)務(wù)辦理的系統(tǒng),主要完成商品的進(jìn)貨、庫存、出貨、用戶的資金注入、用戶訂單的處理和貨物配送等。
1.3管理子系統(tǒng)
管理子系統(tǒng)由管理客戶端、應(yīng)用服務(wù)器和數(shù)據(jù)庫系統(tǒng)構(gòu)成,提供給商店管理人員使用,主要用于公司內(nèi)部的管理使用,完成內(nèi)部業(yè)務(wù)人員的管理,以及商品交易、財(cái)務(wù)的統(tǒng)計(jì)等管理功能。
業(yè)務(wù)子系統(tǒng)和管理子系統(tǒng)的應(yīng)用服務(wù)框架和購物子系統(tǒng)一起部署在應(yīng)用服務(wù)器上。系統(tǒng)通過用戶權(quán)限訪問控制來分配各個(gè)不同的角色所能進(jìn)行的各種操作,在進(jìn)行任何操作前,系統(tǒng)都會(huì)要求用戶以合法有效的身份登錄,同時(shí)進(jìn)行權(quán)限驗(yàn)證,任何超越權(quán)限的操作都會(huì)遭到拒絕。并且在Web網(wǎng)站與應(yīng)用服務(wù)器之間采用了IP映射,將互聯(lián)網(wǎng)與內(nèi)部局域網(wǎng)邏輯上進(jìn)行隔離,并且對(duì)于網(wǎng)上散戶與會(huì)員用戶在沒有通過登錄驗(yàn)證的情況下,是無法穿過網(wǎng)站服務(wù)器而影響到應(yīng)用服務(wù)器的正常運(yùn)行,更難以篡改或竊取數(shù)據(jù)庫中各種重要的數(shù)據(jù)信息,因此保證了整個(gè)系統(tǒng)的安全穩(wěn)定運(yùn)行。
2系統(tǒng)模塊分析
根據(jù)以上對(duì)系統(tǒng)基本需求以及系統(tǒng)結(jié)構(gòu)的分析和研究,系統(tǒng)可以進(jìn)行如圖2所示的模塊劃分。系統(tǒng)可以分為三個(gè)層次,即表示會(huì)話、應(yīng)用服務(wù)和數(shù)據(jù)管理。
2.1用戶管理
用戶管理主要面對(duì)四類用戶(即網(wǎng)上散戶、會(huì)員制用戶、商店業(yè)務(wù)人員和商店管理人員),完成如下主要功能:
(1)用戶信息的添加;(2)用戶登錄驗(yàn)證;(3)用戶信息的修改;(4)用戶注銷;(5)用戶權(quán)限管理。
2.2商品業(yè)務(wù)管理
商品業(yè)務(wù)管理包含了所有與商品進(jìn)銷存有關(guān)的管理功能,下面只簡要列出幾種功能。
(1)商品入庫。在商店進(jìn)貨時(shí),需要將新增商品的信息添加到商品庫中:(2)商品庫存。商品購進(jìn)后是庫存,系統(tǒng)的庫存服務(wù)會(huì)記錄下商品的入庫時(shí)間,存放位置等信息,對(duì)于易變質(zhì)的商品,還需要記錄保質(zhì)期信息,以便業(yè)務(wù)人員能夠快速的查找商品,保證商品質(zhì)量;(3)商品售出。商品售出后,需要從商品庫中刪除記錄,在商品售空時(shí),系統(tǒng)需要提示業(yè)務(wù)人員該商品已售空,及時(shí)進(jìn)貨;(4)缺貨登記、商品預(yù)訂。在用戶購買的商品不存在時(shí),系統(tǒng)自動(dòng)進(jìn)行缺貨登記:(5)形成訂貨單。根據(jù)用戶選擇的商品列表,生成訂貨單,并計(jì)算需付款總額;(6)形成出貨單。審查用戶訂貨單,在條件滿足時(shí)(如商品有庫存、用戶選擇網(wǎng)上付款的款項(xiàng)已付等),生成出貨單,交由業(yè)務(wù)人員,準(zhǔn)備商品配送。
2.3財(cái)務(wù)管理
財(cái)務(wù)管理部分也涉及四類用戶,普通用戶(散戶)、會(huì)員制用戶、業(yè)務(wù)人員及管理人員。
對(duì)普通用戶,其交易是一次性的,因此能夠標(biāo)識(shí)交易的只有訂單。普通用戶的財(cái)務(wù)管理也是以訂貨單為基礎(chǔ),按訂貨單進(jìn)行付款、查詢業(yè)務(wù)。普通用戶可通過多種方式付款。
對(duì)于會(huì)員制用戶,除了用戶擁有普通用戶的所有功能,還可以通過多種方式往商店的預(yù)存賬戶中存入一定金額的預(yù)存款.財(cái)務(wù)管理部分需要提供給業(yè)務(wù)人員添加預(yù)存款服務(wù)、查詢余額服務(wù)、查詢交易記錄等。
對(duì)于業(yè)務(wù)人員,需要通過財(cái)務(wù)系統(tǒng)處理用戶的銀行或郵局匯款,以及通過貨到付款方式購物的用戶付款,在商品進(jìn)貨時(shí),添加交易信息(如價(jià)格、折扣信息等)。
2.4審計(jì)服務(wù)
審計(jì)服務(wù)有兩方面用途:一是安全審計(jì),另一個(gè)是供管理人員使用的統(tǒng)計(jì)功能.
安全審計(jì)是出于安全要求而對(duì)用戶某段時(shí)間的訪問量或者訪問權(quán)限進(jìn)行審核統(tǒng)計(jì),以發(fā)現(xiàn)某些威脅到系統(tǒng)運(yùn)行安全的行為。管理人員的統(tǒng)計(jì)功能主要統(tǒng)計(jì)商店某段時(shí)間內(nèi)整體的交易額、商品滯納、流通速度等,以便管理人員更準(zhǔn)確地進(jìn)行商務(wù)決策。通常的統(tǒng)計(jì)包括:(1)商品信息統(tǒng)計(jì),即商品的進(jìn)出貨情況,商品庫存情況;(2)交易統(tǒng)計(jì),包括普通用戶交易額、會(huì)員用戶交易額、交易變化曲線等;(3)業(yè)務(wù)量統(tǒng)計(jì),如訂單數(shù)量、出貨單數(shù)量、網(wǎng)站訪問數(shù)量等。
3系統(tǒng)實(shí)現(xiàn)
采用JBuilder作為開發(fā)工具,用DataSource方法訪問數(shù)據(jù)源,用WebLogic作為應(yīng)用服務(wù)器。系統(tǒng)中主要的數(shù)據(jù)信息有:商品信息、用戶信息、用戶報(bào)告、訂貨單、出貨單等。
3.1數(shù)據(jù)庫結(jié)構(gòu)分析
本系統(tǒng)采用SQLServer2000數(shù)據(jù)庫管理系統(tǒng),涉及的表有User,Account,Schedule,Shipment,Goodinfo。
(1)TUser表:存放用戶信息,屬性有用戶ID、密碼、用戶名、聯(lián)系電話等。
(2)TAccount表:存放用戶賬號(hào)信息,屬性有賬號(hào)ID、對(duì)應(yīng)的用戶ID、開戶時(shí)間、余額、凍結(jié)標(biāo)識(shí)等.
(3)TSchedule表:存放訂貨單,屬性有訂貨單ID、下訂單時(shí)間、下訂單的用戶ID、訂單對(duì)應(yīng)的商品ID、數(shù)據(jù)等信息。
(4)TShipment表:存放出貨單,屬性有出貨單ID、對(duì)應(yīng)訂單ID、出貨時(shí)間、配送方式等。
(5)TGoodinfo表:存放商品信息,屬性有商品ID、商品種類、商品介紹、商品價(jià)格等。
3.2EJB結(jié)構(gòu)分析
EJB有User,Account,Schedule,Shipment,Goodinfo五個(gè)實(shí)體bean與數(shù)據(jù)庫中的表格相對(duì)應(yīng)。有購物車gwcCart和定單ddOrder兩個(gè)會(huì)話Bean。購物車gwcCart是一個(gè)有狀態(tài)的session bean,維持客戶的購物信息。定單ddOrder是一個(gè)無狀態(tài)的session bean,它用來生成定單。生成定單前驗(yàn)證用戶身份,驗(yàn)證為合法用戶后,生成一份定單,并將購物信息插入定單列表。
3.3Web實(shí)現(xiàn)
用JSP實(shí)現(xiàn)網(wǎng)頁的頁面顯示,用Servlet處理網(wǎng)頁的一些簡單邏輯,取得JSP所需數(shù)據(jù)。
3.4部署
EJB需要部署,J2EE服務(wù)器才能管理它。創(chuàng)建EJBJAR文件。將EJB和Web模塊組合。在部署描述符文件中加入結(jié)構(gòu)和裝配信息。加入安全角色和環(huán)境屬性,運(yùn)行校驗(yàn)工具,找出模塊中的錯(cuò)誤。如果沒有錯(cuò)誤,則執(zhí)行裝配程序,運(yùn)行無誤后,則進(jìn)一步創(chuàng)建J2EE應(yīng)用。
4結(jié)束語
J2EE提供了一種開發(fā)、部署和管理商務(wù)系統(tǒng)的新途徑。明顯地簡化了具有可伸縮性和高度復(fù)雜的企業(yè)級(jí)應(yīng)用開發(fā),是學(xué)生掌握當(dāng)前主流開發(fā)平臺(tái)的一個(gè)理想選擇。