韓 寒
中國礦業(yè)大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇徐州 221116
如今,互聯(lián)網(wǎng)日益成為應(yīng)用程序開發(fā)的主要平臺。而隨著傳統(tǒng)的WEB模型缺少復(fù)雜的用戶交互、難以建立豐富應(yīng)用等問題逐步顯現(xiàn),傳統(tǒng)的Web應(yīng)用程序已經(jīng)漸漸不能滿足Web瀏覽者的要求,為了解決這一問題,出現(xiàn)了一種新型的Internet 應(yīng)用程序——RIA。RIA繼承了C/S時代的精華,簡化并改進(jìn)了Web應(yīng)用程序的用戶交互,為用戶提供了更強(qiáng)大的交互能力和更豐富的應(yīng)用體驗。
Flex是Adobe發(fā)布的開源RIA開發(fā)框架,它將基于標(biāo)準(zhǔn)的語言和各種可擴(kuò)展用戶界面及數(shù)據(jù)訪問組件結(jié)合起來,使得開發(fā)者能夠構(gòu)建具有豐富數(shù)據(jù)演示、強(qiáng)大客戶端邏輯和集成多媒體的應(yīng)用程序。在解決用戶困難的同時,F(xiàn)lex又具備全面性、靈活性、易用性、高效性等方面的新優(yōu)勢。
該基于Flex技術(shù)的B2C電子商務(wù)系統(tǒng)可以在Windows 和Linux 系統(tǒng)平臺上運行,Web服務(wù)器為Tomcat,數(shù)據(jù)庫服務(wù)器使用MySQL,AMF服務(wù)器軟件:LiveCycle Data Services(forjava)。其中使用了PHP來實現(xiàn)MySQL與XML文件的互導(dǎo)。系統(tǒng)使用MXML、Java 和PHP 進(jìn)行開發(fā),其中服務(wù)器端采用Java來進(jìn)行代碼編寫,利用BlazeDS來實現(xiàn)Flex客戶端程序與遠(yuǎn)程Java程序通訊,各界面的設(shè)計與實現(xiàn)則使用MXML,而PHP的功能之一為用來實現(xiàn)MySQL與XML文件的互導(dǎo)。整個系統(tǒng)由用戶登錄注冊模塊、商品展示模塊、購物車模塊、付款模塊四大模塊組成。
該類電子商務(wù)系統(tǒng)使用MySQL建立數(shù)據(jù)庫,以下是其中幾個重要的表結(jié)構(gòu)SQL語句。
用戶信息表:
另外還有商品信息表、訂單信息表等等數(shù)據(jù)表,這里不再贅述。
用戶登錄模塊是用戶頁面中使用最為頻繁的模塊,其功能是在用戶輸入用戶名和密碼后進(jìn)行驗證用戶的身份是否合法,以及為用戶提供相應(yīng)的權(quán)限。在驗證用戶名和密碼時,需要獲取服務(wù)器端數(shù)據(jù),進(jìn)行驗證。用戶在界面填入用戶名和密碼后,根據(jù)用戶名向服務(wù)器請求獲取該用戶的密碼.如果返回的密碼和用戶輸入的密碼一致,則進(jìn)入登錄后的歡迎界面。在構(gòu)建登錄模塊時,將登錄和歡迎界面分別定義在畫布容器中,將兩個畫布容器層疊在一起,利用容器的visible屬性進(jìn)行切換,也可利用堆疊導(dǎo)航容器構(gòu)建,效果是相同的。
購物車模塊的設(shè)計
本模塊通過編寫Flex客戶端應(yīng)用異步調(diào)用遠(yuǎn)程Java對象的公共方法來完成本模塊的實現(xiàn)。在客戶端應(yīng)用中,代表遠(yuǎn)程對象的RemoteObject組件連接到LiveCycle Data Service定義的遠(yuǎn)程對象服務(wù)目標(biāo),在LiveCyle Data Service服務(wù)器端,配置服務(wù)目標(biāo)指向部署在服務(wù)器Web應(yīng)用中的Java對象。客戶端Flex應(yīng)用和遠(yuǎn)程Java對象之間的數(shù)據(jù)以AMF格式進(jìn)行傳輸。事實上,遠(yuǎn)程對象可以是Java類,也可以是ColdFusion組件、PHP或.NET對象。實現(xiàn)了如下購物車功能:
1)應(yīng)用初始化時,會調(diào)用服務(wù)器端storeService.getProductList獲取產(chǎn)品列表。
2)用戶點擊“購買” 按鈕 后,會調(diào)用cartService. purchaseProductItem,該服務(wù)器端代碼處理購買操作,并返回更新后的“購物車”實例,從而在客戶端更新“購物車”數(shù)據(jù)表格。
3)“取消”按鈕則會調(diào)用cartService.deleteProductItem方法,在服務(wù)器購物車對象中刪除該貨品,然后返回并更新購物車。
4)“清空”按鈕會調(diào)用服務(wù)器端Java代碼cartService.clearAll來清空購物車。
實踐表明,Web程序開發(fā)傳統(tǒng)模式下的電子商務(wù)網(wǎng)站把信息和程序資源組織起來來應(yīng)對廣闊的用戶需求,但往往在可用性和用戶體驗上無法令人滿意,而使用Flex技術(shù)開發(fā)B2C電子商務(wù)系統(tǒng),操作界面美觀,更重要的一點是,它可以大大改善用戶在網(wǎng)站上的購物體驗,讓顧客的購物流程更加順暢,縮短搜索、等待的時間,減少無效信息數(shù)量。另外,還徹底改變以往的交互過程,讓顧客能夠更加個性化地配置自己的商品,并即時得到其欲購買商品的最終效果。因此,利用Flex技術(shù)改造現(xiàn)有的B/S 模式建立電子商務(wù)網(wǎng)站的進(jìn)程將指日可待。
[1]呂輝,等.Flex從入門到精通.清華大學(xué)出版社,2009,9.
[2]董龍飛,肖娜,等.AdobeFlex大師之路.電子工業(yè)出版社,2009,5.
[3]胡潔,等.Flex完全自學(xué)手冊.北京:機(jī)械工業(yè)出版社,2009,1.
[3]蔣先剛,陳海雷,涂曉斌.電子商務(wù)網(wǎng)站開發(fā)平臺的研究[J].華東交通大學(xué)學(xué)報,2002,19(2).
[4]張中秋,肖冬榮,張輝,等.網(wǎng)上購物系統(tǒng)的設(shè)計與實施[J].計算機(jī)應(yīng)用研究,2002(8):111-113.