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