毛子健
(吉林省公安邊防總隊(duì) 圈河邊防檢查站,吉林 琿春 133300)
基于 XML的三層模式的電子商務(wù)網(wǎng)站體系結(jié)構(gòu)研究
毛子健
(吉林省公安邊防總隊(duì) 圈河邊防檢查站,吉林 琿春 133300)
本文介紹了在電子商務(wù)網(wǎng)站應(yīng)用模式設(shè)計(jì)中,采用最新的 XML技術(shù),搭建網(wǎng)站交易平臺(tái),提出了基于 XML的三層模式的Web應(yīng)用思想。
XML;電子商務(wù);網(wǎng)站
電子商務(wù)是 Internet上的商務(wù)活動(dòng),原有的應(yīng)用模式客戶機(jī)/服務(wù)器結(jié)構(gòu) (c/s)已經(jīng)無(wú)法適應(yīng)新型 Internet應(yīng)用,客戶機(jī)/服務(wù)器這種三層甚至多層結(jié)構(gòu)的應(yīng)用模式正在成為主流。本文在設(shè)計(jì)交易部分的應(yīng)用模式中,采用了最新的XML技術(shù),提出了基于 XML的三層模式的Web應(yīng)用的思想,使用 XML搭建了電子商務(wù)應(yīng)用網(wǎng)站。
其中,Web應(yīng)用程序多采用ASP技術(shù),調(diào)用ADO實(shí)現(xiàn)數(shù)據(jù)的訪問(wèn)與存取過(guò)程。注意頁(yè)面顯示、數(shù)據(jù)訪問(wèn)等所有的層都集合在應(yīng)用程序中,常常需要保存在一個(gè)大的環(huán)境中,否則就要壓縮或者模塊化代碼。這種結(jié)構(gòu)缺點(diǎn)是數(shù)據(jù)、表示與應(yīng)用程序邏輯混合在一起,不利于應(yīng)用程序的開(kāi)發(fā)、代碼重用及程序的擴(kuò)展,平臺(tái)移植也有很大困難。數(shù)據(jù)與表示混合在一起,不同系統(tǒng)之間的信息交換必須提供相應(yīng)的轉(zhuǎn)換為統(tǒng)一格式的機(jī)制,不利于對(duì)信息交換實(shí)現(xiàn)規(guī)范化。
基于以上原因,以及XML在信息規(guī)范化上的強(qiáng)大優(yōu)勢(shì),本文提出丁基于XML的分布式三層模式的Web應(yīng)用,并實(shí)現(xiàn)了交易中心的交替服務(wù)的購(gòu)買(mǎi)部分。如圖 1所示。
首先,把數(shù)據(jù)訪問(wèn)代碼獨(dú)立出來(lái)形成自己的一層,通過(guò)數(shù)據(jù)訪問(wèn)組件實(shí)現(xiàn)。通過(guò)將這一層的分離,多用戶的數(shù)據(jù)訪問(wèn)變得容易處理了。因?yàn)樗械臄?shù)據(jù)訪問(wèn)都?jí)嚎s在新的層中控制了。
其次,我們把客戶邏輯從客戶應(yīng)用中獨(dú)立出來(lái),形成商業(yè)邏輯層。這個(gè)邏輯由ASPScript和一些客戶端處理(根據(jù)客戶端類(lèi)型)結(jié)合實(shí)現(xiàn)的。
最后,表示層用XMLDOM將從商業(yè)邏輯層得到的XML數(shù)據(jù)經(jīng) XSL樣式表轉(zhuǎn)換格式為 HT ML輸出。對(duì)客戶輸入的驗(yàn)證也在表示層中進(jìn)行。
圖1 購(gòu)買(mǎi)部分分層體系結(jié)構(gòu)
當(dāng)客戶端發(fā)出請(qǐng)求時(shí),通過(guò) ASP調(diào)用數(shù)據(jù)訪問(wèn)組件訪問(wèn)數(shù)據(jù)庫(kù),生成XML數(shù)據(jù)返回表示層,經(jīng) XSL樣式表轉(zhuǎn)換為 HT ML后顯示。
表示層
表示層轉(zhuǎn)換它從商業(yè)邏輯層 (BLL)得到的 XML數(shù)據(jù)。在客戶端,XML被傳到 Explorer 6客戶端然后解析它。在客戶端使用丁一個(gè)小辦法,我們使用一個(gè)XML數(shù)據(jù)島對(duì)象從服務(wù)器取到XML,裝入一個(gè)DHT ML表。
商業(yè)邏輯層
商業(yè)邏輯層由獨(dú)立的事務(wù)函數(shù)構(gòu)成,這些函數(shù)使用DOM對(duì) XML文檔進(jìn)行檢索、插入、刪除等操作。數(shù)據(jù)訪問(wèn)層
我們把一個(gè) COM組件與運(yùn)行在 IIS上的ASP技術(shù)結(jié)合在一起。COM對(duì)象負(fù)責(zé)從數(shù)據(jù)庫(kù)取數(shù)據(jù)以及將XML形式的數(shù)據(jù)寫(xiě)回?cái)?shù)據(jù)庫(kù),使用 XML來(lái)包裝數(shù)據(jù),提供了可升級(jí)性和平臺(tái)獨(dú)立性。這一層封裝了數(shù)據(jù)訪問(wèn)所以數(shù)據(jù)結(jié)構(gòu)是隱藏的,易維護(hù),增加丁數(shù)據(jù)安全。
在客戶端,我們利用 DHT ML的特性、客戶端腳本和瀏覽器對(duì) XML的支持,程序設(shè)計(jì)非常簡(jiǎn)化。鑒于IE5.0內(nèi)置了對(duì) XML的支持,我們可以相應(yīng)地減少服務(wù)器端的處理。
根據(jù)購(gòu)買(mǎi)模塊的需求,商業(yè)邏輯層設(shè)計(jì)為客戶端商業(yè)邏輯層:腳本訪問(wèn) XMLDOM實(shí)現(xiàn)了一些不必與服務(wù)器交互的商業(yè)邏輯操作在客戶端瀏覽器實(shí)現(xiàn),減少了客戶端與服務(wù)器的訪問(wèn)時(shí)間。
系結(jié)構(gòu)使用一個(gè) COM組件實(shí)現(xiàn)數(shù)據(jù)訪問(wèn)層(DAL),這種實(shí)現(xiàn)提供了更易擴(kuò)展的代碼基礎(chǔ),并且保證丁當(dāng)需要將代碼變?yōu)榻M件時(shí),需要做的工作最少。把DAL獨(dú)立成組件也使代碼更易調(diào)試、擴(kuò)展和重用。
下面分析一下采用這種方法的優(yōu)勢(shì):
當(dāng)我們組件化DAL后,不僅代碼量減小了,而且容易調(diào)試丁,因?yàn)镈AL代碼調(diào)試一次即可。數(shù)據(jù)訪問(wèn)從應(yīng)用程序中的獨(dú)立也給了我們?cè)诜植际綉?yīng)用中的更大的靈活性。
5.1 增強(qiáng)了擴(kuò)展性
使用數(shù)據(jù)訪問(wèn)層的最大優(yōu)點(diǎn)之一就是增強(qiáng)了擴(kuò)展性,否則大量的代碼存在于程序中的很多地方甚至交織在整個(gè)應(yīng)用程序。而使用數(shù)據(jù)訪問(wèn)組件則帶來(lái)了優(yōu)勢(shì),將DAL從應(yīng)用程序中獨(dú)立出來(lái)不僅創(chuàng)建了更多的可維護(hù)代碼,而且還有可擴(kuò)展代碼和可重用代碼。當(dāng)內(nèi)部的數(shù)據(jù)訪問(wèn)代碼改變,這種獨(dú)立還減輕了使用這些代碼的應(yīng)用程序的重新編譯和測(cè)試的麻煩。需要完全重新測(cè)試的只有數(shù)據(jù)訪問(wèn)組件本身。
5.2 全局代碼量的減少
獨(dú)立的數(shù)據(jù)訪問(wèn)組件導(dǎo)致了應(yīng)用程序的代碼量的減少。如果DAL代碼被嵌入了每一個(gè)應(yīng)用程序,每一個(gè)應(yīng)用程序都帶了多余的代碼。一旦數(shù)據(jù)訪問(wèn)代碼移出了應(yīng)用程序,應(yīng)用程序?qū)⒖s小。
5.3 將APIs的數(shù)量減少
通過(guò)使用DAL,減少了一個(gè)開(kāi)發(fā)者需要掌握的APIS的數(shù)量。他們只需面對(duì)一個(gè)與應(yīng)用程序相關(guān)的API集合,把時(shí)間放在開(kāi)發(fā)應(yīng)用上而不是學(xué)習(xí)大量的APIS。
5.4 內(nèi)部隱藏,增加了安全性
如果把DAL設(shè)計(jì)為組件,其他開(kāi)發(fā)者將不必研究DAL內(nèi)部的原始的數(shù)據(jù)訪問(wèn)機(jī)制的細(xì)節(jié)。使用數(shù)據(jù)訪問(wèn)組件的一個(gè)優(yōu)勢(shì)是它對(duì)開(kāi)發(fā)者和終端用戶隱藏丁數(shù)據(jù)的實(shí)現(xiàn)過(guò)程,他們對(duì)數(shù)據(jù)沒(méi)有直接的訪問(wèn)。假設(shè)DAL設(shè)計(jì)正確,應(yīng)用程序所控制的數(shù)據(jù)訪問(wèn)是被限制的。通常數(shù)據(jù)的所有者不希望數(shù)據(jù)結(jié)構(gòu)、組織等等的細(xì)節(jié)被他人看到。使用數(shù)據(jù)訪問(wèn)組件,不僅數(shù)據(jù)結(jié)構(gòu),訪問(wèn)技術(shù)也被隱藏。把這些隱藏在內(nèi)部,數(shù)據(jù)和代碼是受到保護(hù)的。另一方面,這也提供丁強(qiáng)大的安全性。
XML自從出現(xiàn)以來(lái),以其可擴(kuò)展性、自描述性、自相容性等優(yōu)點(diǎn),被譽(yù)為信息標(biāo)準(zhǔn)化過(guò)程的有力工具?;?XML的標(biāo)準(zhǔn)將成為以后信息標(biāo)準(zhǔn)的主流。
運(yùn)用基于 XML的三層模式,XML結(jié)構(gòu)化的數(shù)據(jù)可以從商業(yè)規(guī)范和表現(xiàn)形式中分離出來(lái),而且可以更詳細(xì)地定義某個(gè)數(shù)據(jù)對(duì)象的數(shù)據(jù)結(jié)構(gòu),解決了信息標(biāo)準(zhǔn)化的問(wèn);另外,通過(guò)在三層模型使用 XML,使得企業(yè)之間可以通過(guò)網(wǎng)絡(luò),與合作伙伴間進(jìn)行跨平臺(tái)、跨操作系統(tǒng)的信息交換。隨著基于 XML的商務(wù)數(shù)據(jù)交換規(guī)范逐漸建立、健全,XML將會(huì)在電子商務(wù)里發(fā)揮更大的作用。
[1] 劉桂山,盧壯.XML和新一代電子商務(wù)平臺(tái)[J].北京理工大學(xué)學(xué)報(bào),2002(4):481-484.
[2] 柯銳.XML的研究與發(fā)展[J].軟件導(dǎo)刊,2009(2):3-5.
[3] 張麗芳.基于XML的Web開(kāi)發(fā)模式的探討[J].電腦學(xué)習(xí),2009(3):54-55.
[4] 谷東峰.基于 XML電子商務(wù)的研究[J].現(xiàn)代情報(bào),2009(2):217-218.
[5] 郝瑩.XML—電子商務(wù)發(fā)展的新技術(shù)[J].微電子學(xué)與計(jì)算機(jī),2001(4):50-52.
責(zé)任編輯:吳旭云
A research on E-commerce website architectures with three-layer model based on XML
MAO Zi-jian
(Quanhe Frontier Inspection Station,Public SecurityBorderDefense Corps of Jilin Province,Hunchun 133300,China)
This article presents theWeb application idea based on three-layermodel by using the latest XML technology to build website trading platform in E-commerce website design.
XML;electronic commerce;website
TP301
A
1009-3907(2010)06-0077-02
2010-04-07
毛子健(1980-),男,吉林通化人,助理工程師,主要從事計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)以及主動(dòng)式數(shù)據(jù)庫(kù)的研究。