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