- 相關(guān)推薦
基于輕量級(jí)J2EE電子商務(wù)的設(shè)計(jì)與實(shí)現(xiàn)論文
[摘要] 本文首先介紹了struts+spring+hibernate平臺(tái)的搭建和配置,然后以網(wǎng)上購(gòu)物車為例給出了基于lamp的電子商務(wù)平臺(tái)的開(kāi)發(fā)原理、系統(tǒng)功能的具體設(shè)計(jì)與實(shí)現(xiàn)。
[關(guān)鍵詞] 電子商務(wù) 開(kāi)源項(xiàng)目 輕量級(jí)j2ee 設(shè)計(jì)方案
一、引言
在基于j2ee的應(yīng)用程序開(kāi)發(fā)中,即使在提供優(yōu)秀的開(kāi)發(fā)工的任務(wù)。盡管j2ee平臺(tái)承諾,開(kāi)發(fā)應(yīng)用很簡(jiǎn)潔、高效,但實(shí)際情況并非如此。在使用j2ee開(kāi)發(fā)應(yīng)用程序過(guò)程中,難于控制開(kāi)發(fā)進(jìn)度、開(kāi)發(fā)效率低下、部署環(huán)境復(fù)雜、維護(hù)困難等問(wèn)題層出不窮。對(duì)于中小型企業(yè),使用完整的j2ee實(shí)現(xiàn)過(guò)于龐大,最終常導(dǎo)致開(kāi)發(fā)的失敗。
二、j2ee輕量級(jí)框架struts+spring+hibernate
最近輕量級(jí)框架開(kāi)始流行,所謂的輕量級(jí)是和以 ejb 為核心技術(shù)的復(fù)雜框架對(duì)比而言。輕量級(jí)框架致力于提供最簡(jiǎn)單的組件來(lái)構(gòu)筑 web 應(yīng)用系統(tǒng),spring 是典型的一種輕量級(jí)架構(gòu),越來(lái)越多的開(kāi)發(fā)人員開(kāi)始關(guān)注并使用這種架構(gòu)。通過(guò)spring 組合其他專一的開(kāi)源產(chǎn)品如表示層的 struts、持久對(duì)象層的hibernate,來(lái)構(gòu)建應(yīng)用系統(tǒng),實(shí)現(xiàn)了j2ee簡(jiǎn)單化編程。根據(jù)技術(shù)選擇原則,最終確定采用上述 3 種受歡迎的開(kāi)源框架,建立一個(gè)整合框架:整體框架和業(yè)務(wù)層用spring;表示層我們用 struts;而持久層則用hibernate。 整體框架如圖1所示。
spring是一個(gè)開(kāi)放的框架,不要求一定要用spring自己的解決方案,struts作為表示層的成熟技術(shù)已經(jīng)在市場(chǎng)上廣泛的應(yīng)用,struts 可以很好地和 spring 技術(shù)中間層緊密結(jié)合,struts可以使用spring提供的事務(wù)處理等特性,所以選擇struts作為框架的表示層技術(shù)。wWw.133229.cOmspring按照資源管理的方法提供和hibernate 的集成以及 dao(data access object)實(shí)現(xiàn)和事務(wù)策略支持,spring通過(guò)ioc(控制倒置)機(jī)制支持和hibernate的集成,spring能夠很好的支持開(kāi)發(fā)人員選擇的o/r映射技術(shù)。
三、電子商務(wù)平臺(tái)的系統(tǒng)開(kāi)發(fā)原理
以網(wǎng)上商店為例說(shuō)明電子商務(wù)平臺(tái)系統(tǒng)的開(kāi)發(fā)原理。
1.系統(tǒng)結(jié)構(gòu)模型
輕量級(jí)j2ee開(kāi)發(fā)平臺(tái)承襲 j2ee基于組件的多層應(yīng)用模型,在綜合考慮用戶界面、業(yè)務(wù)邏輯、數(shù)據(jù)存儲(chǔ)的功能和邏輯的基礎(chǔ)上,根據(jù)應(yīng)用功能和應(yīng)用邏輯劃分層次,明確責(zé)任,實(shí)現(xiàn)松耦合的組件式架構(gòu)。在技術(shù)層面上,使用spring規(guī)劃輕量級(jí)j2ee應(yīng)用平臺(tái)時(shí),可以按職責(zé)將應(yīng)用分成四層:域模型層、業(yè)務(wù)層、持久層、持久層。spring作為業(yè)務(wù)層成為連接其他層之間的樞紐,允許層之間以松耦合的方式向其他層暴露功能而不必依賴特定的技術(shù)。其他的層分別負(fù)責(zé)不同方面的應(yīng)用職責(zé),對(duì)功能進(jìn)行封裝,明確地定義接口在層與層之間通訊。平臺(tái)的分層架構(gòu)如圖2所示。
圖2 開(kāi)發(fā)平臺(tái)分層結(jié)構(gòu)
(1)域模型層。在一個(gè)應(yīng)用中,首先需要使用一組對(duì)象來(lái)表達(dá)現(xiàn)實(shí)世界中的概念。傳統(tǒng)的方法是使用dto(數(shù)據(jù)傳輸對(duì)象)將數(shù)據(jù)庫(kù)中的數(shù)據(jù)轉(zhuǎn)化為問(wèn)題域中的對(duì)象,在應(yīng)用開(kāi)發(fā)時(shí)需要額外的編碼。引入域模型層,借助一組業(yè)務(wù)對(duì)象,實(shí)現(xiàn)問(wèn)題域和計(jì)算機(jī)域的阻抗匹配,替代系統(tǒng)中數(shù)據(jù)傳輸對(duì)象;用對(duì)象的方式描述現(xiàn)實(shí)世界,真實(shí)的反映現(xiàn)實(shí)世界對(duì)象(如:訂單、產(chǎn)品等),可以減少額外的編碼,便于理解,降低代碼管理難度。此外,域模型層的業(yè)務(wù)對(duì)象在各層之間進(jìn)行數(shù)據(jù)傳遞和數(shù)據(jù)轉(zhuǎn)化,承擔(dān)各層之間數(shù)據(jù)通訊的載體,能夠最大化地降低系統(tǒng)間數(shù)據(jù)傳遞的開(kāi)銷,而且業(yè)務(wù)對(duì)象代表了現(xiàn)實(shí)世界中的對(duì)象,使得系統(tǒng)在進(jìn)行擴(kuò)充、重構(gòu)時(shí),各子系統(tǒng)間數(shù)據(jù)傳遞部分不會(huì)受到影響。
(2)表現(xiàn)層。表現(xiàn)層是用戶直接和軟件交互的部分。表現(xiàn)層向用戶展現(xiàn)軟件系統(tǒng)的功能,響應(yīng)用戶的請(qǐng)求,并向用戶呈現(xiàn)處理的結(jié)果。因而如果用戶界面不甚高效,那么無(wú)論其他部分多么優(yōu)良,都將于事無(wú)補(bǔ)。成熟的方式是采用mvc(模型-視圖-控制器)模式組織表現(xiàn)層,分離用戶界面代碼(視圖)與應(yīng)用數(shù)據(jù)和業(yè)務(wù)邏輯(模型),然后使用控制器匹配視圖和模型,減少數(shù)據(jù)表現(xiàn)、數(shù)據(jù)描述和應(yīng)用操作的耦合,最終得到響應(yīng)快速、界面美觀的表現(xiàn)層。
(3)持久層。持久層位于應(yīng)用的一端,負(fù)責(zé)將數(shù)據(jù)持久化。數(shù)據(jù)持久層的設(shè)計(jì)目標(biāo)是為整個(gè)項(xiàng)目提供一個(gè)高層、統(tǒng)一、安全、并發(fā)的數(shù)據(jù)持久機(jī)制,將復(fù)雜的業(yè)務(wù)邏輯和數(shù)據(jù)邏輯分離,使系統(tǒng)的緊耦合關(guān)系轉(zhuǎn)化為松耦合關(guān)系,完成對(duì)各種數(shù)據(jù)進(jìn)行持久化的編程工作,并為系統(tǒng)業(yè)務(wù)邏輯層提供服務(wù)。數(shù)據(jù)持久層提供了數(shù)據(jù)訪問(wèn)邏輯,能夠使程序員避免手工編寫程序訪問(wèn)數(shù)據(jù)持久層,使其專注于業(yè)務(wù)邏輯的開(kāi)發(fā),并且能夠在不同項(xiàng)目中重用已有實(shí)現(xiàn),簡(jiǎn)化數(shù)據(jù)增、刪、查、改等功能的開(kāi)發(fā)過(guò)程,同時(shí)又不喪失多層結(jié)構(gòu)的天然優(yōu)勢(shì),繼承延續(xù)j2ee特有的可伸縮性和可擴(kuò)展性。
(4)業(yè)務(wù)層。從應(yīng)用分層上,業(yè)務(wù)層位于中間層次。業(yè)務(wù)層又稱作服務(wù)層。合理的構(gòu)建業(yè)務(wù)層,可以降低層次之間的耦合度,增加業(yè)務(wù)的可伸縮性和靈活性。借助spring的ioc容器,使用配置文件管理其他各個(gè)層次的依賴關(guān)系、裝配業(yè)務(wù)組件,降低層次之間的耦合,實(shí)現(xiàn)插件式編程;借助spring的aop實(shí)現(xiàn),集中處理系統(tǒng)中的企業(yè)級(jí)服務(wù),如事務(wù)管理、日志管理等,使代碼更加簡(jiǎn)潔,增強(qiáng)復(fù)用性,提高開(kāi)發(fā)效率。
在應(yīng)用開(kāi)發(fā)中,域模型層將現(xiàn)實(shí)世界對(duì)象抽象為域?qū)ο螅志脤迂?fù)責(zé)將域?qū)ο蠛蛿?shù)據(jù)庫(kù)對(duì)應(yīng)起來(lái),業(yè)務(wù)層調(diào)用持久層的數(shù)據(jù)邏輯,執(zhí)行應(yīng)用邏輯,處理表現(xiàn)層的請(qǐng)求并以適當(dāng)?shù)胤绞较蛴脩粽故咎幚斫Y(jié)果。
四、電子商務(wù)平臺(tái)的系統(tǒng)功能設(shè)計(jì)與實(shí)現(xiàn)
1.網(wǎng)上購(gòu)物車的介紹。網(wǎng)上購(gòu)物車是網(wǎng)上商店的重要組成部分。網(wǎng)上商店管理系統(tǒng)一般分為網(wǎng)上商店前臺(tái)和后臺(tái)兩個(gè)管理子系統(tǒng)。后臺(tái)管理子系統(tǒng)主要是管理網(wǎng)上商店的全部數(shù)據(jù)信息,一般由客戶管理模塊、訂單管理模塊、商品管理等功能模塊組成。前臺(tái)管理子系統(tǒng)的主要功能是引導(dǎo)客戶(網(wǎng)站訪問(wèn)者)完成網(wǎng)上購(gòu)物的過(guò)程,一般由商品瀏覽檢索模塊、會(huì)員訪問(wèn)模塊、購(gòu)物車等功能模塊組成。網(wǎng)上購(gòu)物車是網(wǎng)上商店的核心部分,客戶通過(guò)網(wǎng)上購(gòu)物車進(jìn)行購(gòu)物,集中結(jié)算,網(wǎng)上商店管理系統(tǒng)的組成如圖 3所示。
2.網(wǎng)上購(gòu)物車的功能。網(wǎng)上購(gòu)物與到超市購(gòu)物過(guò)程類似,顧客可以將商品隨時(shí)放入購(gòu)物車或從購(gòu)物車放回到貨架上。網(wǎng)上購(gòu)物車的主要功能有:①新建購(gòu)物車;②添加商品;③刪除商品;④修改購(gòu)物入購(gòu)物車或從購(gòu)物車放回到貨架上。
3.用戶系統(tǒng)的具體設(shè)計(jì)與實(shí)現(xiàn)。用戶系統(tǒng)可以說(shuō)是整個(gè)網(wǎng)上購(gòu)物車最基礎(chǔ)的部分,它負(fù)責(zé)對(duì)用戶數(shù)據(jù)的處理,以及對(duì)用戶權(quán)限的設(shè)定,用戶系統(tǒng)是與其他系統(tǒng)緊密結(jié)合的一個(gè)基礎(chǔ)系統(tǒng)。(1)用戶系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì):數(shù)據(jù)庫(kù)的規(guī)劃與設(shè)計(jì)是一個(gè)系統(tǒng)成敗的關(guān)鍵,只有良好的數(shù)據(jù)結(jié)構(gòu)才能讓整個(gè)系統(tǒng)可靠、健壯、可擴(kuò)展。用戶系統(tǒng)數(shù)據(jù)庫(kù)可以通過(guò) sql語(yǔ)句建立以下表:members和groups。members表主要是記錄用戶信息,groups表是記錄用戶權(quán)限信息。(2)用戶系統(tǒng)設(shè)計(jì)實(shí)現(xiàn):創(chuàng)建了數(shù)據(jù)庫(kù)結(jié)構(gòu)后,就開(kāi)始實(shí)現(xiàn)用戶系統(tǒng)。主要涉及用戶注冊(cè),用戶登錄。用戶注冊(cè)和登錄的主要原代碼包括顯示消息、檢查e-mail地址的合法性、檢查登陸、檢查用戶名、檢查密碼以及e-mail等程序段。
五、結(jié)論
隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,建立電子商務(wù)平臺(tái)的技術(shù)已經(jīng)相當(dāng)成熟。asp/asp.net、jsp、php等語(yǔ)言為了建立電子商務(wù)平臺(tái),提供了強(qiáng)大的技術(shù)支持,而sql server、oracle、sybase等數(shù)據(jù)庫(kù)軟件為數(shù)據(jù)交換提供了強(qiáng)大的技術(shù)保障。j2ee 輕量級(jí)框架組合免費(fèi)、高效,是中小型 web 應(yīng)用系統(tǒng)的首選,在實(shí)際的應(yīng)用中,取得了良好的效果。
參考文獻(xiàn):
[1]馬風(fēng)山:輕量級(jí)j2ee框架電子商務(wù)應(yīng)用研究[j].計(jì)算機(jī)現(xiàn)代化,2007,(11)
[2]袁華強(qiáng)王亞強(qiáng)朱君:利用j2ee輕量級(jí)框架構(gòu)建 web 應(yīng)用研究 2007,(11)
[3]胡賓汪偉:論電子商務(wù)網(wǎng)站的設(shè)計(jì)與管理[j].科技經(jīng)濟(jì)市場(chǎng),2007,(04)
【基于輕量級(jí)J2EE電子商務(wù)的設(shè)計(jì)與實(shí)現(xiàn)論文】相關(guān)文章:
基于LED的光通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)論文10-29
基于PowerPC+DSP總線通信軟件的設(shè)計(jì)與實(shí)現(xiàn)論文07-10
基于Perl的DoS工具設(shè)計(jì)與實(shí)現(xiàn)10-05
基于PQRM的PACS系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)08-02
基于uCLinux的USB Host的設(shè)計(jì)與實(shí)現(xiàn)10-20
基于電子商務(wù)的網(wǎng)絡(luò)營(yíng)銷的實(shí)現(xiàn)06-03
基于Delphi的VCL控件開(kāi)發(fā)與實(shí)現(xiàn)論文10-01
基于Kinect的自主康復(fù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)05-27