[摘 要] 隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,電子商務(wù)也得以迅速普及。傳統(tǒng)的電子商務(wù)網(wǎng)站使用同步交互過程,使得用戶在訪問電子商務(wù)網(wǎng)站時需要等待較長時間或重復(fù)操作,導(dǎo)致大量客戶流失。本文對AJAX技術(shù)及其工作原理進(jìn)行了深入研究,通過分析傳統(tǒng)的商務(wù)系統(tǒng)請求/響應(yīng)方式所帶來的用戶交互可用性的不足,將AJAX異步請求訪問技術(shù)應(yīng)用于電子商務(wù)系統(tǒng),極大增強了用戶體驗和交互性。對于構(gòu)建高可用性,智能性和可擴展性的Web應(yīng)用具有一定的參考價值。
[關(guān)鍵詞] AJAX WEB 應(yīng)用 電子商務(wù) 異步通信
電子商務(wù)是指在全球各地廣泛的商業(yè)貿(mào)易活動中,在Internet開放的網(wǎng)絡(luò)環(huán)境下,通過瀏覽器/服務(wù)器的方式所進(jìn)行并完成的各種商務(wù)活動、交易活動、金融活動和相關(guān)的綜合服務(wù)活動。電子商務(wù)所具有的開放性和全球性的特點為企業(yè)創(chuàng)造了更多的貿(mào)易機會。商業(yè)電子化的趨勢為客戶提供了便利的交易方式和廣泛的選擇。
傳統(tǒng)的web應(yīng)用使用同步交互過程, 當(dāng)用戶訪問數(shù)量較小的時候,這種方式不會出現(xiàn)較大問題,而當(dāng)訪問數(shù)量較大帶寬又較窄時,用戶訪問電子商務(wù)網(wǎng)站時需等待較長時間,造成瀏覽器處于等待狀態(tài),甚至造成頁面不可用。導(dǎo)致一些用戶放棄交易,給企業(yè)造成經(jīng)濟損失,減弱了電子商務(wù)的優(yōu)越性。
AJAX技術(shù)采用異步交互方式,它的出現(xiàn)改善了傳統(tǒng)的Web 應(yīng)用,減少了用戶訪問網(wǎng)站的等待時間,實現(xiàn)了無重載的頁面刷新。本文我們將AJAX技術(shù)應(yīng)用到電子商務(wù)系統(tǒng)的設(shè)計中, 極大改善用戶體驗,有效的留住客戶,為公司創(chuàng)造更大的利潤價值。
一、AJAX技術(shù)
1.傳統(tǒng)的WEB開發(fā)模式
傳統(tǒng)WEB開發(fā)模式采用同步交互過程,用戶必須等待每個請求,當(dāng)一個請求完成后才能獲得結(jié)果,在使用完這些結(jié)果后才會發(fā)出新的請求。HTTP的設(shè)計是傳回整個新的畫面,所以在瀏覽器上必須重載整個頁面來顯示新的頁面。完全是一種請求—>刷新—>響應(yīng)的模型,用戶只有等請求完成后才能進(jìn)行用戶操作,操作完成后才能提交下一個請求,用戶行為和服務(wù)器行為是一種同步的關(guān)系。
2.AJAX技術(shù)及特點
AJAX全稱為Asynchronous JavaScript and XML(異步JavaScript和XML),是一種設(shè)計交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù),它包括:
使用XHTML+CSS來表示信息。
使用JavaScript操作DOM(Document Object Model)進(jìn)行動態(tài)顯示及交互。
使用XML和XSLT進(jìn)行數(shù)據(jù)交換及相關(guān)操作。
使用XMLHttpRequest對象與Web服務(wù)器進(jìn)行異步通信。
使用JavaScript綁定一切。
AJAX技術(shù)的核心是XMLHttpRequest,它最早由微軟IE5支持這個對象,隨后Mozilla1.0、Apple Safari1.2及Opera都陸續(xù)支持。XMLHttpRequest是一組API函數(shù)集,可被JavaScript、JScript、VBScript以及其他web瀏覽器內(nèi)嵌的腳本語言使用,通過HTTP在瀏覽器和web服務(wù)器之間收發(fā)XML或其他數(shù)據(jù)。XMLHttpRequest最大的好處在于可以動態(tài)地更新網(wǎng)頁,它無需重新從服務(wù)器讀取整個網(wǎng)頁,也不需要安裝額外的外掛程序。AJAX技術(shù)工作原理如圖所示。
AJAX中獲取XMLHttpRequest對象的方法:
針對Internet Explorer(IE)瀏覽器
new ActiveXObject(“Msxml2.XMLHTTP”);
new ActiveXObject(“Microsoft.XMLHTTP”);
針對其他瀏覽器:
new window.XMLHttpRequest();
AJAX技術(shù)的特點表現(xiàn)為:
(1)不需要切換頁面,就可以快速改變頁面。
(2)可使用不需等待服務(wù)器的異步請求。
(3)可將PHP、asp、java、asp.net、perl等服務(wù)器上的處理程序搬到客戶端進(jìn)行。
(4)減少數(shù)據(jù)傳輸。
(5)高實時互動性。
3.AJAX開發(fā)框架
AJAX技術(shù)雖然解決了瀏覽器異步讀取服務(wù)器端數(shù)據(jù)的問題,很多客戶端的操作也變得復(fù)雜和繁瑣。為了解決這些問題,AJAX開發(fā)框架也就應(yīng)運而生。AJAX框架具有豐富的插件,封裝了AJAX讀取數(shù)據(jù),提供更友好的接口,能夠解決瀏覽器兼容性的問題,并提供強大的接口更方便的操作DOM,極大提高開發(fā)效率。
常用的AJAX框架有:
Prototype框架,典型用于自動填充如Google上的搜索自動完善功能;DWR框架,典型用途:用于簡化頁面于后臺model的通信,讓人感覺我們好像可以直接通過JavaScript調(diào)用model;dojo 框架,用于頁面驗證/頁面的很多華麗效果,使頁面變的非常美觀;JSON 框架,典型用途:使用model中的方法就像訪問腳本函數(shù)一樣簡單。Ajax.NET,net平臺下使用最廣泛的框架。
二、AJAX技術(shù)在電子商務(wù)系統(tǒng)中的應(yīng)用
1.個性化設(shè)計
電子商務(wù)網(wǎng)站的個性化設(shè)計可分為客戶界面?zhèn)€性化和客戶喜好商品推薦。界面?zhèn)€性化是客戶根據(jù)自己的需求,對網(wǎng)站的界面進(jìn)行定制,主要包括商品類別模塊的布局、主要模塊的顯示、隱藏與關(guān)閉、界面色彩的設(shè)計以及商品顯示的方式等,并且可以實行界面模塊的可拖放操作。
拖放是標(biāo)準(zhǔn)GUI的應(yīng)用。用戶可以選擇一個特定的對象,它可以是一個文件,一些文本等,然后將它移動到用戶喜好的另一個特定的位置。通過AJAX技術(shù),用戶可以享受到與桌面系統(tǒng)更接近的用戶體驗,同時,用戶無需采取額外步驟將數(shù)據(jù)提交到服務(wù)器,就能完成更新和服務(wù)器端響應(yīng)。在Google Maps應(yīng)用場景中,用戶就可以通過鼠標(biāo)拖拽的方式在地圖中的街區(qū)之間穿梭漫游。
2.不完全頁面更新
不完全頁面更新是利用AJAX技術(shù)使瀏覽器刷新某一塊特定的用戶界面而不需要瀏覽器重新載入整個頁面。這個是非常有必要的考慮,在特定時間,用戶在和電子商務(wù)網(wǎng)站交互過程中,大部分頁面內(nèi)容仍然是靜態(tài)的,如電子商務(wù)網(wǎng)站中的頁眉head.html,頁腳foot.html,商品類別菜單欄menu.html等,而用戶交互的只是小部分網(wǎng)頁。假設(shè)當(dāng)用戶想查看某一商品的信息,只需將鼠標(biāo)移動到商品圖片上,所有信息將顯示,而頁面其他部分未發(fā)生任何改變。
在電子商務(wù)系統(tǒng)中,利用AJAX技術(shù),從服務(wù)器端返回一個純文本數(shù)據(jù)流,客戶端交由瀏覽器負(fù)責(zé)進(jìn)行處理。通過使用XMLHttpRequest對象來請求頁面,服務(wù)器將結(jié)果文本寫入頁面??蛻舳送ㄟ^異步通信獲取結(jié)果后,不是直接將結(jié)果顯示在頁面上,而是由客戶端的JavaScript腳本處理之后對頁面對應(yīng)的部分進(jìn)行更新。
在大多數(shù)情況下,重新載入整個頁面既浪費用戶帶寬,同時給服務(wù)器帶來負(fù)擔(dān)。AJAX技術(shù)為我們提供了較好的解決方案,允許瀏覽器僅刷新某一部分網(wǎng)頁。
3.無刷新實時數(shù)據(jù)更新
傳統(tǒng)上,我們?yōu)g覽網(wǎng)頁,如果頁面加入最新的數(shù)據(jù),只能是等用戶重新向服務(wù)器端請求時才能顯示出來.但是,對于實時性較高的電子商務(wù)網(wǎng)站,傳統(tǒng)的做法是不能滿足的。電子商務(wù)后臺加入新的商品信息或者修改商品信息時,而用戶正在瀏覽商品信息,非常有必要實行無刷新實時數(shù)據(jù)更新,用戶才能獲取最新商品信息,找到自己合適的產(chǎn)品。比如在Gmail應(yīng)用場景中,新的郵件信息被自動接收和顯示。
我們可以讓程序自動刷新.定時向服務(wù)器請求數(shù)據(jù).5秒取一次數(shù)據(jù),10秒取一次數(shù)據(jù).利用XMLHTTP發(fā)出請求并取得數(shù)據(jù).傳到客戶端,客戶端重新組織并顯示數(shù)據(jù)。
三、潛在的安全問題
不用切換頁面的服務(wù)器通訊,換而言之,對服務(wù)器來說,大部分動作都是在看不到的遠(yuǎn)程處理的,因此電子商務(wù)系統(tǒng)中的安全問題顯得更為重要。例如,必須隨時特別注意收到的數(shù)據(jù)是否為外部惡意篡改的資料。
自從JavaScript是一種客戶端的語言,這也說明它最容易接觸到最終用戶。在開發(fā)電子商務(wù)系統(tǒng)時,如果開發(fā)人員將太多在Web應(yīng)用程序內(nèi)部運作的重要信息放在JavaScript中,一些惡意用戶可能發(fā)出具有潛在破壞性的拒絕服務(wù)攻擊,甚至是將病毒經(jīng)過應(yīng)用程序下載到服務(wù)器中,導(dǎo)致服務(wù)器癱瘓。
AJAX的優(yōu)點在于減輕服務(wù)器的工作量,而把工作改由處理能力越來越強的客戶端PC來執(zhí)行,以便減少服務(wù)器的負(fù)擔(dān)。但是隨著操作方式的不同,反而可能造成請求過多,而使服務(wù)器應(yīng)付不了的可能性。
在開發(fā)電子商務(wù)系統(tǒng)時不仔細(xì)思考如何減低無謂的請求,則使用AJAX減少服務(wù)器壓力的效果是無法實現(xiàn)的。為了真正實現(xiàn)輕快的動作,數(shù)據(jù)傳送量、請求次數(shù)、服務(wù)器負(fù)擔(dān)等必須整體加以考慮調(diào)整。
四、結(jié)論
目前AJAX技術(shù)正被廣泛的應(yīng)用于基于Web的應(yīng)用系統(tǒng)中,例如:Google將AJAX應(yīng)用于其開發(fā)的Gmail、Google Suggest和Google Maps等網(wǎng)絡(luò)應(yīng)用軟件中,Amazon推出了應(yīng)用Ajax技術(shù)的A9搜索引擎等。這一切的成功都表明,在信息化的網(wǎng)絡(luò)世界,快捷與方便幾乎成為每一個成功電子商務(wù)系統(tǒng)的關(guān)鍵。
本分分析了當(dāng)前電子商務(wù)應(yīng)用中存在的問題,并充分利用AJAX技術(shù)的特點,將該技術(shù)應(yīng)用到電子商務(wù)系統(tǒng)中。從安全角度出發(fā),也指出了AJAX技術(shù)存在的一些問題。AJAX技術(shù)在電子商務(wù)中的應(yīng)用,讓用戶減少等待時間,提高響應(yīng)速度,給用戶提供更方便、更及時的服務(wù), 挖掘并留住客戶,為企業(yè)創(chuàng)造更大的價值。
參考文獻(xiàn):
[1]Garrett J J,Ajax:a new approach to web Applications
[2]Wikipedia (2008) Ajax framework, http://en.wikipedia.org/wiki/Ajax_framework, (22, July, 2008)
[3]姜有輝 高琳琦:個性化推薦系統(tǒng)中顧客信息的隱式采集方法研究[J].現(xiàn)代情報,2006,11(11):10~13
[4]Google (2008) Google Maps, http://maps.google.com/, (22, July, 2008)
[5]JavaScriptKit.com (2008) RSS Ajax JavaScript ticker,http://www.javascriptkit.com/dhtmltutors/ajaxticker/index.shtml,(22,July, 2008)
[6]顧加強:企業(yè)電子商務(wù)系統(tǒng)中的安全問題研究[J].企業(yè)經(jīng)濟.2008,2:92~94