原貼地址:http://kb.csdn.net/java/Articles/200605/9cb93c0e-52b5-4286-92bb-5db24af0ba25.html
摘要:本文以實(shí)例來(lái)詳細(xì)分析運(yùn)用J2EE技術(shù)架構(gòu)來(lái)搭建企業(yè)級(jí)電子商務(wù)網(wǎng)站的全過(guò)程,并對(duì)關(guān)鍵部件的實(shí)現(xiàn)以及相關(guān)技術(shù)進(jìn)行具體剖析,同時(shí)結(jié)合筆者經(jīng)驗(yàn),提出很多有價(jià)值的思路和方法。
一. 前言: 近年來(lái),隨著互聯(lián)網(wǎng)業(yè)務(wù)的迅猛發(fā)展,企業(yè)間、企業(yè)與消費(fèi)者間實(shí)現(xiàn)電子商務(wù)已經(jīng)成為可能,建立企業(yè)級(jí)的電子商務(wù)平臺(tái)不僅可以拓寬企業(yè)的營(yíng)銷(xiāo)渠道,而且對(duì)提升企業(yè)品牌形象等方面有重要的戰(zhàn)略意義。
本文將以目前國(guó)內(nèi)最大服務(wù)交易平臺(tái)如易網(wǎng)(http://www.routease.com/)為例,來(lái)深入剖析一個(gè)電子商務(wù)交易平臺(tái)搭建的全過(guò)程。
《準(zhǔn)備篇》
一個(gè)項(xiàng)目的實(shí)施首先確定項(xiàng)目目標(biāo)、項(xiàng)目需求與開(kāi)發(fā)環(huán)境(為方便理解,將如易網(wǎng)作為項(xiàng)目來(lái)描述)。本篇主要討論這三個(gè)方面:
一.實(shí)施目標(biāo)
如易網(wǎng)的創(chuàng)辦目標(biāo):建設(shè)為國(guó)內(nèi)最大的服務(wù)類(lèi)交易平臺(tái)和在線工作平臺(tái)。由于本篇以技術(shù)講解為主,如要了解更多的背景資料,可以訪問(wèn):http://www.routease.com/AboutUs.htm 。
二.實(shí)施需求
目標(biāo)決定需求,定制清晰明確的項(xiàng)目需求是整個(gè)項(xiàng)目成敗的關(guān)鍵。可以使用Rose工具來(lái)建立項(xiàng)目對(duì)象實(shí)體圖,這里就不再贅述了,以下就幾個(gè)重要對(duì)象做一些描述:(可以對(duì)照http://www.routease.com/來(lái)瀏覽下面內(nèi)容):
TotradeEntity:交易實(shí)體對(duì)象。該對(duì)象為核心對(duì)象,標(biāo)識(shí)交易的服務(wù)對(duì)象。比如翻譯服務(wù),開(kāi)鎖服務(wù)等。
ServiceRequirement:服務(wù)需求對(duì)象。該對(duì)象標(biāo)識(shí)用戶需求。比如需要電腦維修的信息等。
SHOP:店鋪對(duì)象。該對(duì)象為中小企業(yè)或者個(gè)人開(kāi)的網(wǎng)店,一個(gè)店鋪對(duì)應(yīng)多個(gè)交易實(shí)體。
USER:用戶對(duì)象。該對(duì)象標(biāo)識(shí)從事網(wǎng)站的合法注冊(cè)用戶,它保留用戶信息。
Account:帳戶對(duì)象。該對(duì)象標(biāo)識(shí)用戶的帳戶信息。
Message:消息對(duì)象。該對(duì)象標(biāo)識(shí)用戶之間交流的信息。
Credit:信譽(yù)對(duì)象。該對(duì)象標(biāo)識(shí)用戶交易的信譽(yù)等級(jí)信息,為交易提供有力參考。
三.開(kāi)發(fā)/運(yùn)行環(huán)境
基于以上需求分析,本站采用J2EE/Structs應(yīng)用架構(gòu),服務(wù)器主機(jī)采用WIN2003 SERVER+APACHE2.0.54+TOMCAT 5.5.4的系統(tǒng)環(huán)境,開(kāi)發(fā)環(huán)境:Eclipse+JDK1.5,數(shù)據(jù)庫(kù)DAO采用的著名的ORM工具TopLink9.0.4.5。以下對(duì)相應(yīng)開(kāi)發(fā)技術(shù)及其工具做一個(gè)簡(jiǎn)要介紹:
1. Structs技術(shù)
Web應(yīng)用的開(kāi)發(fā)經(jīng)歷了一個(gè)由P2P(Page to Page)到MVC(model view controller)的發(fā)展過(guò)程。早期的Web應(yīng)用對(duì)用戶請(qǐng)求的處理和響應(yīng)均是在頁(yè)面上完成的,如圖1-1所示,即所的JSP1.0。這樣的Web架構(gòu)最大的好處就是開(kāi)發(fā)效率較高,然后近幾年隨著互聯(lián)網(wǎng)的迅猛發(fā)展,網(wǎng)站功能日益增強(qiáng),而這種P2P的網(wǎng)站架構(gòu)(因?yàn)槠錁I(yè)務(wù)規(guī)則代碼與頁(yè)面代碼混為一團(tuán),不利于維護(hù))已經(jīng)不再適應(yīng)大規(guī)模應(yīng)用的發(fā)展要求,取而代之的是基于MVC的Web架構(gòu)。MVC的核心思想是將應(yīng)用分為模型、視圖和控制器三部分。模型是指應(yīng)用程序的數(shù)據(jù),以及對(duì)這些數(shù)據(jù)的操作;視圖是指用戶界面;controller負(fù)責(zé)用戶界面和程序數(shù)據(jù)之間的同步,也就是完成兩個(gè)方向的動(dòng)作:a.在根據(jù)用戶界面(view)的操作完成對(duì)程序數(shù)據(jù)(model)的更新,b.將程序數(shù)據(jù)(model)的改變及時(shí)反應(yīng)到用戶界面(view)上。通過(guò)MVC的Web架構(gòu),可以弱化各個(gè)部分的耦合關(guān)系,并將業(yè)務(wù)邏輯處理與頁(yè)面以及數(shù)據(jù)分離開(kāi)來(lái),這樣當(dāng)其中一個(gè)模塊的代碼發(fā)生改變時(shí),并不影響其他模塊的正常運(yùn)行,所以基于MVC的Web架構(gòu)更適應(yīng)于大規(guī)模軟件應(yīng)用開(kāi)發(fā)的潮流。
 圖1  圖2 |
目前基于MVC的開(kāi)發(fā)框架主要有Structs、Spring等。本站選用其中的Structs作為開(kāi)發(fā)框架,采用Structs應(yīng)用框架開(kāi)發(fā)應(yīng)用程序,將開(kāi)發(fā)人員從繁瑣的代碼編制中解放出來(lái),取而代之的是配置一些含有對(duì)應(yīng)關(guān)系的XML文件,這樣當(dāng)應(yīng)用環(huán)境發(fā)生變化時(shí),不需重新編譯程序即可運(yùn)行,并且使得應(yīng)用更加靈活、高效,而且重用度高。
從開(kāi)發(fā)角度,Struts主要有如下的功能:
·包含一個(gè)controller servlet,能將用戶的請(qǐng)求發(fā)送到相應(yīng)的Action對(duì)象。通過(guò)Web.xml文件來(lái)配置其相關(guān)參數(shù)。
·tag庫(kù),并且在controller servlet中提供關(guān)聯(lián)支持,幫助開(kāi)發(fā)人員創(chuàng)建交互式表單應(yīng)用。
·通過(guò)配置Structs-config.xml文件,將Action對(duì)象與用戶請(qǐng)求以及請(qǐng)求結(jié)果頁(yè)面關(guān)聯(lián)起來(lái)。
如需更多了解Structs的相關(guān)信息,請(qǐng)其官方網(wǎng)站:http://jakarta.apache.org/struts
2.TopLink技術(shù)
過(guò)去,對(duì)模型數(shù)據(jù)的存取訪問(wèn)往往是直接是應(yīng)用通過(guò)ODBC這樣的數(shù)據(jù)庫(kù)接口訪問(wèn)數(shù)據(jù)庫(kù)。但是這樣處理并不符合OOP的精神,而且應(yīng)用開(kāi)發(fā)人員必須熟悉后臺(tái)數(shù)據(jù)庫(kù)的模型構(gòu)造,這就加大開(kāi)發(fā)的難度。為此,ORM(Object Relational Mapping)技術(shù)應(yīng)運(yùn)而生.ORM技術(shù)實(shí)際是一個(gè)對(duì)象持久化的框架,其核心思想是建立了Java對(duì)象與后臺(tái)數(shù)據(jù)庫(kù)之間的映射關(guān)系。這樣對(duì)這些Java對(duì)象的訪問(wèn)實(shí)際就是對(duì)后臺(tái)數(shù)據(jù)庫(kù)的訪問(wèn),從而屏蔽了數(shù)據(jù)庫(kù)訪問(wèn)的細(xì)節(jié),開(kāi)發(fā)人員甚至可以在不了解后臺(tái)數(shù)據(jù)庫(kù)的情況下進(jìn)行開(kāi)發(fā)工作。此外,Toplink在數(shù)據(jù)緩存優(yōu)化上也有很好的表現(xiàn)。本項(xiàng)目采用著名的ORM工具Toplink進(jìn)行開(kāi)發(fā)。
posted on 2006-05-31 21:28
OMG 閱讀(233)
評(píng)論(0) 編輯 收藏 所屬分類(lèi):
電子商務(wù)開(kāi)發(fā)