韓 寒
中國礦業大學計算機科學與技術學院,江蘇徐州 221116
如今,互聯網日益成為應用程序開發的主要平臺。而隨著傳統的WEB模型缺少復雜的用戶交互、難以建立豐富應用等問題逐步顯現,傳統的Web應用程序已經漸漸不能滿足Web瀏覽者的要求,為了解決這一問題,出現了一種新型的Internet 應用程序——RIA。RIA繼承了C/S時代的精華,簡化并改進了Web應用程序的用戶交互,為用戶提供了更強大的交互能力和更豐富的應用體驗。
Flex是Adobe發布的開源RIA開發框架,它將基于標準的語言和各種可擴展用戶界面及數據訪問組件結合起來,使得開發者能夠構建具有豐富數據演示、強大客戶端邏輯和集成多媒體的應用程序。在解決用戶困難的同時,Flex又具備全面性、靈活性、易用性、高效性等方面的新優勢。
該基于Flex技術的B2C電子商務系統可以在Windows 和Linux 系統平臺上運行,Web服務器為Tomcat,數據庫服務器使用MySQL,AMF服務器軟件:LiveCycle Data Services(forjava)。其中使用了PHP來實現MySQL與XML文件的互導。系統使用MXML、Java 和PHP 進行開發,其中服務器端采用Java來進行代碼編寫,利用BlazeDS來實現Flex客戶端程序與遠程Java程序通訊,各界面的設計與實現則使用MXML,而PHP的功能之一為用來實現MySQL與XML文件的互導。整個系統由用戶登錄注冊模塊、商品展示模塊、購物車模塊、付款模塊四大模塊組成。
該類電子商務系統使用MySQL建立數據庫,以下是其中幾個重要的表結構SQL語句。
用戶信息表:

另外還有商品信息表、訂單信息表等等數據表,這里不再贅述。
用戶登錄模塊是用戶頁面中使用最為頻繁的模塊,其功能是在用戶輸入用戶名和密碼后進行驗證用戶的身份是否合法,以及為用戶提供相應的權限。在驗證用戶名和密碼時,需要獲取服務器端數據,進行驗證。用戶在界面填入用戶名和密碼后,根據用戶名向服務器請求獲取該用戶的密碼.如果返回的密碼和用戶輸入的密碼一致,則進入登錄后的歡迎界面。在構建登錄模塊時,將登錄和歡迎界面分別定義在畫布容器中,將兩個畫布容器層疊在一起,利用容器的visible屬性進行切換,也可利用堆疊導航容器構建,效果是相同的。
購物車模塊的設計
本模塊通過編寫Flex客戶端應用異步調用遠程Java對象的公共方法來完成本模塊的實現。在客戶端應用中,代表遠程對象的RemoteObject組件連接到LiveCycle Data Service定義的遠程對象服務目標,在LiveCyle Data Service服務器端,配置服務目標指向部署在服務器Web應用中的Java對象。客戶端Flex應用和遠程Java對象之間的數據以AMF格式進行傳輸。事實上,遠程對象可以是Java類,也可以是ColdFusion組件、PHP或.NET對象。實現了如下購物車功能:
1)應用初始化時,會調用服務器端storeService.getProductList獲取產品列表。
2)用戶點擊“購買” 按鈕 后,會調用cartService. purchaseProductItem,該服務器端代碼處理購買操作,并返回更新后的“購物車”實例,從而在客戶端更新“購物車”數據表格。
3)“取消”按鈕則會調用cartService.deleteProductItem方法,在服務器購物車對象中刪除該貨品,然后返回并更新購物車。
4)“清空”按鈕會調用服務器端Java代碼cartService.clearAll來清空購物車。
實踐表明,Web程序開發傳統模式下的電子商務網站把信息和程序資源組織起來來應對廣闊的用戶需求,但往往在可用性和用戶體驗上無法令人滿意,而使用Flex技術開發B2C電子商務系統,操作界面美觀,更重要的一點是,它可以大大改善用戶在網站上的購物體驗,讓顧客的購物流程更加順暢,縮短搜索、等待的時間,減少無效信息數量。另外,還徹底改變以往的交互過程,讓顧客能夠更加個性化地配置自己的商品,并即時得到其欲購買商品的最終效果。因此,利用Flex技術改造現有的B/S 模式建立電子商務網站的進程將指日可待。
[1]呂輝,等.Flex從入門到精通.清華大學出版社,2009,9.
[2]董龍飛,肖娜,等.AdobeFlex大師之路.電子工業出版社,2009,5.
[3]胡潔,等.Flex完全自學手冊.北京:機械工業出版社,2009,1.
[3]蔣先剛,陳海雷,涂曉斌.電子商務網站開發平臺的研究[J].華東交通大學學報,2002,19(2).
[4]張中秋,肖冬榮,張輝,等.網上購物系統的設計與實施[J].計算機應用研究,2002(8):111-113.