基于JAVA開源技術(shù)的電子商務(wù)實(shí)驗(yàn)?zāi)M系統(tǒng)設(shè)計與實(shí)現(xiàn)_第1頁
基于JAVA開源技術(shù)的電子商務(wù)實(shí)驗(yàn)?zāi)M系統(tǒng)設(shè)計與實(shí)現(xiàn)_第2頁
基于JAVA開源技術(shù)的電子商務(wù)實(shí)驗(yàn)?zāi)M系統(tǒng)設(shè)計與實(shí)現(xiàn)_第3頁
基于JAVA開源技術(shù)的電子商務(wù)實(shí)驗(yàn)?zāi)M系統(tǒng)設(shè)計與實(shí)現(xiàn)_第4頁
基于JAVA開源技術(shù)的電子商務(wù)實(shí)驗(yàn)?zāi)M系統(tǒng)設(shè)計與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于JAVA開源技術(shù)的電子商務(wù)實(shí)驗(yàn)?zāi)M系統(tǒng)設(shè)計與實(shí)現(xiàn)摘要該文介紹了如何運(yùn)用ebrk、Siteesh、Hibernate等JAVA開源技術(shù)來設(shè)計與實(shí)現(xiàn)電子商務(wù)實(shí)驗(yàn)?zāi)M系統(tǒng),給出了系統(tǒng)構(gòu)造、功能及實(shí)現(xiàn)方案。關(guān)鍵詞電子商務(wù);實(shí)驗(yàn)?zāi)M系統(tǒng);Java;開源技術(shù)1引言目前高校電子商務(wù)專業(yè)相關(guān)課程的教學(xué)迫切需要建立電子商務(wù)實(shí)驗(yàn)軟件平臺,該平臺應(yīng)實(shí)現(xiàn)包括B2、2、B2B、電子數(shù)據(jù)交換EDI、現(xiàn)代物流應(yīng)用系統(tǒng)、電子金融、平安電子交易身份認(rèn)證等施行電子商務(wù)必不可少的軟件功能模塊。電子商務(wù)的高速開展對軟件開發(fā)技術(shù)提出了強(qiáng)有力的挑戰(zhàn),由于電子商務(wù)的內(nèi)部邏輯復(fù)雜,平安性要求苛刻,商務(wù)業(yè)務(wù)規(guī)那么的變化較快,這就要求電子商

2、務(wù)實(shí)驗(yàn)?zāi)M系統(tǒng)的開發(fā)技術(shù)可以強(qiáng)大、靈敏以適應(yīng)電子商務(wù)實(shí)驗(yàn)教學(xué)的需求。在電子商務(wù)系統(tǒng)的設(shè)計與開發(fā)中,迫切需要解決的問題有:易維護(hù)性、易擴(kuò)大性、可測試性、可靠性、高性能和平安性。目前的N-tier軟件體系構(gòu)造較好的解決了上述問題。通常將系統(tǒng)分成表現(xiàn)層、商務(wù)邏輯層、持久存儲層。J2EE標(biāo)準(zhǔn)針對多層應(yīng)用的設(shè)計、集成、性能、平安性和可靠性等諸多方面,為應(yīng)用系統(tǒng)的開發(fā)提供了表現(xiàn)層、商務(wù)邏輯框架、持久化、事務(wù)、平安和日志效勞等方面的技術(shù)標(biāo)準(zhǔn)。目前符合J2EE標(biāo)準(zhǔn)的開源工程如雨后春筍般涌現(xiàn),其中不乏優(yōu)秀的技術(shù)。利用現(xiàn)有的優(yōu)秀開源技術(shù)可以大大降低應(yīng)用系統(tǒng)的開發(fā)周期和開發(fā)本錢,同時也能進(jìn)步整個系統(tǒng)的靈敏性。2本系

3、統(tǒng)所使用的開源技術(shù)對于現(xiàn)有較成熟的EB應(yīng)用框架而言,其解決的主要問題無外乎下面幾局部:1將客戶端的EB頁面懇求中的輸入數(shù)據(jù)封裝為一個懇求數(shù)據(jù)對象。2對EB懇求中的數(shù)據(jù)進(jìn)展合法性驗(yàn)證。3根據(jù)不同的EB頁面懇求,調(diào)度相應(yīng)的商務(wù)邏輯對象進(jìn)展處理,并將懇求數(shù)據(jù)對象作為參數(shù)傳入。4商務(wù)邏輯對象完成業(yè)務(wù)規(guī)那么的處理后,返回一個結(jié)果數(shù)據(jù)對象。5通過表現(xiàn)層將結(jié)果數(shù)據(jù)對象中的數(shù)據(jù)展現(xiàn)給用戶。6業(yè)務(wù)實(shí)體的持久存儲。ebrk2、Siteesh、Hibernate、Junit、XDlet、Ant等開源工程都是很成熟的開源工程。本系統(tǒng)的設(shè)計與實(shí)現(xiàn)通過綜合利用以上開源技術(shù),非常輕松地解決了上述問題。ebrk是由penSy

4、phny開源組織開發(fā)的,致力于組件化和代碼重用的J2EEeb框架。ebrk由Xrk1和ebrk2共兩個工程組成。Xrk1簡潔、靈敏功能強(qiáng)大,它是一個標(biāo)準(zhǔn)的and形式實(shí)現(xiàn),并且完全從eb層脫離出來。Xrk提供了很多核心功能:前端攔截器intereptr,運(yùn)行時表單屬性驗(yàn)證,類型轉(zhuǎn)換,強(qiáng)大的表達(dá)式語言等。攔截器intereptr就好似是一張過濾網(wǎng),它用來對客戶端的調(diào)用進(jìn)展攔截,并對其進(jìn)展一些處理,比方檢查客戶端調(diào)用的合法性、實(shí)現(xiàn)平安策略、對事務(wù)進(jìn)展支持等。ebrk2建立在Xrk之上,處理HTTP的響應(yīng)和懇求。ebrk2使用ServletDispather將HTTP懇求的變成Atin(由Atin類調(diào)

5、用商務(wù)邏輯對象完成業(yè)務(wù)處理),實(shí)現(xiàn)sessin及appliatin范圍的映射,以及request懇求參數(shù)映射。每一個Atin不依賴任何層和任何容器。他們通過Atinntext來使用request和respnse對象,實(shí)現(xiàn)了EB層和邏輯層的別離。ebrk的Atin可以通過賦予一定的屬性值來運(yùn)行,而不必啟動eb容器來進(jìn)展測試,增強(qiáng)了EB組件的可測試性。ebrk2支持多視圖表示,視圖局部可以使用JSP、Velity、Freearker、JasperReprts、XL等。eb應(yīng)用開發(fā)中,我們常常面臨如何保證輸入數(shù)據(jù)合法性的頭痛問題。實(shí)現(xiàn)輸入數(shù)據(jù)校驗(yàn)的方法無外乎兩種:頁面JavaSript校驗(yàn)、效勞器端

6、執(zhí)行邏輯代碼之前進(jìn)展數(shù)據(jù)校驗(yàn)。前者的系統(tǒng)平安性難以保證,通常作為輸入數(shù)據(jù)校驗(yàn)的輔助技術(shù)。ebrk使用Xrk的驗(yàn)證框架進(jìn)展驗(yàn)證處理,它可以通過配置intereptr攔截器來激活。它可以為每個需要驗(yàn)證的lass指定一個xl驗(yàn)證文件,也可以為一個lass在不同的情況下指定不同的xl驗(yàn)證文件。ebrk可以給每個Atin類指定對應(yīng)的驗(yàn)證文件,也可以給Atin類的屬性字段指定驗(yàn)證文件。最終通過攔截器來組裝Atin和其驗(yàn)證文件,使得邏輯層不需要考慮額外的數(shù)據(jù)驗(yàn)證,簡化了業(yè)務(wù)處理邏輯。Siteesh也是pensyphny開源組織開發(fā)的j2ee應(yīng)用框架之一,它主要用來對eb頁面進(jìn)展布局管理,并且致力于為很多頁面

7、組成的大型網(wǎng)站提供統(tǒng)一的風(fēng)格、導(dǎo)航和布局功能。Siteesh通過filter截取request和respnse,并給原始的頁面參加一定的裝飾Deratr,然后把結(jié)果返回給客戶端,并且被裝飾的原始頁面并不知道Siteesh的裝飾,防止了因頁面之間互相包含造成的頁面間的耦合。本系統(tǒng)采用面向?qū)ο蟮脑O(shè)計與實(shí)現(xiàn),而系統(tǒng)使用關(guān)系型數(shù)據(jù)庫管理數(shù)據(jù),因?yàn)橄到y(tǒng)中的持久對象需要借助關(guān)系型數(shù)據(jù)庫存儲,從而帶來了對象和關(guān)系的映射問題。很難做到把關(guān)系表記錄完好的映射到持久對象的關(guān)系上來,這主要表達(dá)在多表的關(guān)系映射類型多樣,關(guān)聯(lián)的數(shù)據(jù)表個數(shù)難以確定,可能是一個表映射多個持久對象,有可能是多個表映射一個持久對象,更有可能的

8、是表的某些字段映射到一個持久對象,但是另外一些字段映射到別的持久對象上。對象假如使用直接的數(shù)據(jù)庫操作來存取成員以實(shí)現(xiàn)持久對象編程的話,對存在1:N關(guān)系的持久對象的查詢其實(shí)就是1+n次對數(shù)據(jù)庫的SQL,勢必引起數(shù)據(jù)庫存取效率的大幅下降。Hibernate那么是持久層設(shè)計的最正確技術(shù),它優(yōu)雅地解決了上述各種對象和關(guān)系的映射問題。它是開源和免費(fèi)的,API開放,當(dāng)其本身功能不夠用的時候,可以自己編碼進(jìn)展擴(kuò)展。Junit用于類模塊的單元測試。XDlet、Ant是支持工程自動重建和文檔自動生成的優(yōu)秀開源工具,它們可以大幅進(jìn)步程序員的工作效率和工作質(zhì)量。3系統(tǒng)總體設(shè)計本系統(tǒng)的主要目的是實(shí)現(xiàn)模擬電子商務(wù)系統(tǒng)以

9、便提供師生進(jìn)展相關(guān)實(shí)驗(yàn)的軟件平臺。重點(diǎn)在于模擬電子商務(wù)環(huán)境中的交易與管理各方的業(yè)務(wù)流程,同時便于交易各方根據(jù)需要制定相應(yīng)的業(yè)務(wù)規(guī)那么,因此系統(tǒng)的設(shè)計應(yīng)能適應(yīng)商務(wù)規(guī)那么的變化,對局部功能的實(shí)現(xiàn)沒有必要真實(shí)的再現(xiàn),比方平安認(rèn)證子系統(tǒng)中認(rèn)證中心的平安認(rèn)證效勞的實(shí)現(xiàn)。另外,本系統(tǒng)還應(yīng)加強(qiáng)實(shí)驗(yàn)過程管理的功能設(shè)計,以便師生快速掌握實(shí)驗(yàn)的過程和進(jìn)度,可以對實(shí)驗(yàn)的成績進(jìn)展自動處理并提供相關(guān)查詢。在一次實(shí)驗(yàn)中,學(xué)生通常在多個虛擬企業(yè)中扮演多種不同的業(yè)務(wù)角色,系統(tǒng)應(yīng)提供快速的角色轉(zhuǎn)換功能,從而便于學(xué)生理解不同業(yè)務(wù)流程相關(guān)操作之間的關(guān)系及互相影響?;谝陨夏康模到y(tǒng)共分兩大子系統(tǒng):商務(wù)系統(tǒng)、實(shí)驗(yàn)系統(tǒng)。商務(wù)系統(tǒng)共分五

10、個二級子系統(tǒng):電子銀行系統(tǒng)、認(rèn)證系統(tǒng)、交易系統(tǒng)、企業(yè)業(yè)務(wù)管理系統(tǒng)、物流系統(tǒng)。實(shí)驗(yàn)系統(tǒng)分為學(xué)生自助、實(shí)驗(yàn)管理二個子系統(tǒng)分別供學(xué)生、老師使用。在每個子系統(tǒng)中,根據(jù)不同的操作人員角色劃分子模塊,例如“交易系統(tǒng)系統(tǒng)構(gòu)造如圖1,分成“交易大廳、“會員企業(yè)后臺管理、“交易中心后臺管理三個子系統(tǒng),在會員企業(yè)后臺管理中,可以根據(jù)當(dāng)前學(xué)生所承當(dāng)?shù)臉I(yè)務(wù)角色列出其涉及的多個企業(yè)供其選擇。整個系統(tǒng)采用單點(diǎn)登錄驗(yàn)證,從而減少學(xué)生在使用各模塊功能時的登錄操作,防止了當(dāng)前一些較流行的實(shí)驗(yàn)?zāi)M系統(tǒng)需要學(xué)生記憶多個密碼,同一次實(shí)驗(yàn)中需要屢次重復(fù)登錄的問題,讓學(xué)生更加關(guān)注業(yè)務(wù)流程,進(jìn)步實(shí)驗(yàn)效率。圖1交易系統(tǒng)構(gòu)造圖實(shí)驗(yàn)系統(tǒng)分成學(xué)生

11、自助、實(shí)驗(yàn)管理兩個子系統(tǒng)。學(xué)生通過學(xué)生自助子系統(tǒng)可以查詢老師布置的實(shí)驗(yàn)任務(wù),已做實(shí)驗(yàn)的成績,實(shí)驗(yàn)操作步驟的主要錯誤,從而理解缺乏之處及時加以改良。老師通過實(shí)驗(yàn)管理模塊可以布置實(shí)驗(yàn)任務(wù),查詢學(xué)生實(shí)驗(yàn)進(jìn)程和實(shí)驗(yàn)成績,理解學(xué)生實(shí)驗(yàn)過程中普遍存在的問題以便及時加以指導(dǎo)。系統(tǒng)的分析與設(shè)計采用面向?qū)ο蟮腢L建模語言進(jìn)展。在充分的系統(tǒng)需求分析后,通過UL的用例圖和順序圖對系統(tǒng)的概念模型進(jìn)展了描繪,然后進(jìn)展較詳細(xì)的設(shè)計,描繪出系統(tǒng)的類圖及類關(guān)系圖,并建立了初步的數(shù)據(jù)模型。通過使用Brland公司的Tgether建模工具,我們實(shí)現(xiàn)了系統(tǒng)模型與源碼、數(shù)據(jù)庫的雙向自動轉(zhuǎn)換。為了適應(yīng)本系統(tǒng)開發(fā)的工程化需要,將開發(fā)人員

12、分為如下幾類:a、系統(tǒng)分析員;b、后臺組件開發(fā)程序員主要是Atin類與業(yè)務(wù)邏輯類;、后臺組件測試人員;d、前臺用戶界面程序員主要是JSP程序員+美工;e、前臺測試技術(shù)人員。通過Siteesh和ebrk的結(jié)合,實(shí)現(xiàn)了各模塊的用戶界面與后臺組件的獨(dú)立開發(fā)與測試,有利于人員分工,大大降低了開發(fā)人員用于信息交流的時間,進(jìn)步了系統(tǒng)開發(fā)的效率。4系統(tǒng)實(shí)現(xiàn)4.1、運(yùn)行環(huán)境為適應(yīng)高校計算機(jī)系統(tǒng)軟件環(huán)境的多樣性,本系統(tǒng)可運(yùn)行于任一種符合J2EE標(biāo)準(zhǔn)的EB容器,大多數(shù)流行的關(guān)系型數(shù)據(jù)庫。本系統(tǒng)開發(fā)時選擇了開源工程Tat及ysql。4.2EB應(yīng)用的配置限于篇幅,僅列出局部關(guān)鍵配置信息?;贘2EE標(biāo)準(zhǔn),本系統(tǒng)的目錄

13、規(guī)劃如下(表1):父目錄子目錄描繪/srJava類源代碼/lib系統(tǒng)需要的第三方類庫文件/ds系統(tǒng)開發(fā)文檔/RTEB應(yīng)用根目錄/RTEB-INFEB應(yīng)用配置目錄/RT/EB-INFlassesJava類字節(jié)碼文件目錄/RT_deratrssiteesh裝飾器頁面表1系統(tǒng)目錄構(gòu)造在/RT/EB-INF中,存放eb.xl、siteesh.xl、deratrs.xl等配置文件。EB視圖層的配置:本系統(tǒng)設(shè)計了多個裝飾頁面,下面列出主裝飾頁面在/EB-INF/deratrs.xl中的配置信息:deratrsdefaultdir=/_deratrsderatrnae=ainpage=ain.jsppatt

14、ern*/pattern/deratr/deratrs在主裝飾頁面ain.jsp中進(jìn)展頁面的布局,形成較為流行的“上-左中右-下的頁面構(gòu)造,上部顯示系統(tǒng)標(biāo)識及首頁鏈接、各主要子系統(tǒng)鏈接,下部顯示版權(quán)申明及聯(lián)絡(luò)方式,左部及右部顯示常用模塊,中部為當(dāng)前頁面的主功能操作區(qū)。其JSP頁面主體局部列出如下:tableidth=100%align=entertrtdidth=134valign=tppage:applyDeratrnae=siplepage=/siteesh/left.jsp/td/trtrtdidth=488valign=tppage:applyDeratrnae=siplepage=/

15、siteesh/iddle_tp.jsp/brderatr:bdy/brpage:applyDeratrnae=siplepage=/siteesh/iddle_btt.jsp/td/trtrtdidth=122valign=tppage:applyDeratrnae=siplepage=/siteesh/right.jsp/td/tr/table持久層Hibernate的配置:首先通過lasses/hibernate.fg.xl文件配置Hibernate的數(shù)據(jù)庫連接信息。然后在每個需要持久化的類二進(jìn)制文件的所在目錄中建立與類同名的.hb.xl文件配置該類屬性與數(shù)據(jù)表中字段的對應(yīng)關(guān)系以及類之間

16、的映射關(guān)系。以下是uster.hb.xl的內(nèi)容。hibernate-appingpakage=.un.elablassnae=ustertable=USTERidnae=idlun=IDgeneratrlass=inreent/idprpertynae=strUserNaelun=usernae/prpertynae=strPassrdlun=passrd/lass/hibernate-apping在需要將uster對象持久化時,使用如下代碼:SessinFatrysf=nenfiguratin().nfigure().buildSessinFatry();Sessinsessin=sf.pe

17、nSessin();Transatintx=sessin.beginTransatin();usteruster=neuster();uster.setUsernae(usternae);uster.setPassrd(usterpassrd);sessin.save(uster);tx.it();sessin.lse();4.3業(yè)務(wù)邏輯層的實(shí)現(xiàn)以交易系統(tǒng)為例,該子系統(tǒng)實(shí)現(xiàn)的主要類列出如下表2:類名主要功能IPrdut產(chǎn)品類接口,標(biāo)準(zhǔn)產(chǎn)品類的主要操作,適應(yīng)不同企業(yè)對產(chǎn)品類的要求。Prdut產(chǎn)品類,實(shí)現(xiàn)了Iprdut接口。各企業(yè)可繼承該類,實(shí)現(xiàn)對各自產(chǎn)品的管理Eart交易中心購物車類,可管理多種交易類型。EartIte購物車子項(xiàng)類Erder訂單類Enpptins企業(yè)選項(xiàng)類,管理業(yè)務(wù)規(guī)那么表2交易系統(tǒng)主要類列表通過以上類的協(xié)作實(shí)現(xiàn)了交易系統(tǒng)的主要業(yè)務(wù)邏輯。5完畢語總體上看,采用開源技術(shù)設(shè)計電子商務(wù)實(shí)驗(yàn)?zāi)M

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論