摘 要:該文針對電子商務這樣典型的以數據為中心,存在大量用戶的系統,為了豐富用戶體驗、提高互動性,提出了基于Flex+J2EE框架下的電子商務網站的設計方案與實現方法。該方案提升了電子商務系統的開發與維護效率,為現有遺留系統引入RIA框架提供了可靠方案。
關鍵字:RIA Flex 電子商務 框架
中圖分類號:G71 文獻標識碼:A 文章編號:1674-098X(2012)12(c)-00-01
隨著電子商務規模的不斷擴大,電子商務網站建設的優劣直接影響電子商務的效果。傳統的Web電子商務網站一般都采用頁面表現內容、由服務器端傳遞數據的開發模式。其客戶端是瀏覽器,主要是靠服務器端程序來處理相關業務程序,這種模式易于管理,安全性高,而且硬件花費較少,但同時也存在著缺乏靈活性、服務器端遇到網絡帶寬問題、應用程序缺乏豐富的用戶界面及高效的多媒體處理性能等缺點。因此,為了滿足用戶更高的、更全方位的使用體驗要求,就需要功能更加強大的表示層。于是,被稱為富互聯網應用(簡稱RIA)的、具有豐富用戶體驗和高度互動性的網絡應用模式應運而生。
1 Flex技術簡介
Flex技術由MXML、ActionScript及Flex類庫三部分組成。MXML是用來描述Flex程序視圖部分的基于XML的標記語言,主要用來呈現Flex的用戶界面,也包括一些不可見元素,例如數據綁定、訪問數據源等。ActionScript是一種基于ECMAScript的面向對象編程語言,主要負責實現和控制客戶端程序邏輯。Flex還提供了一個豐富的類庫,包括了各種Flex容器和控件、行為組件、數據綁定組件及其他功能組件[1]。這些組件作為輔助,來加快整個開發的進程。
2 電子商務網站功能設計
基于Flex技術開發的電子商務網站,徹底改變了以往的交互過程,讓顧客可以個性化地配置所選商品,并即時得到商品的最終效果,讓顧客的購物過程更方便更快捷,極大的改善了顧客的購物體驗。
2.1 需求分析
對于電子商務這樣的數據流量較大的數據庫管理系統類網絡管理系統,必須做到使用方便、操作靈活等設計要求。因此,本電子商務系統針對以下目標進行設計:(1)界面設計友好、美觀,采用人機對話的操作方式,對信息的查詢,可以做到方便快捷、靈活準確、數據存儲安全可靠。能夠全面展示所有商品,并能展示最新商品及特價商品。(2)可以對商品銷售情況進行排行,以方便顧客了解熱銷商品及幫助企業領導者做出正確的決策。(3)對用戶輸入的信息,系統可以進行嚴格的數據檢驗,盡量排除人為錯誤。(4)系統做到最大限度的易維護性和易操作性。
2.2 主要功能設計
(1)用戶注冊:用戶填寫注冊資料,進行校對后提交。將信息存入用戶信息表中。(2)個人信息維護:進入后自動顯示該用戶信息,用戶進行修改后提交。并在數據庫中對信息進行更新。(3)商品展示:商品可按不同分類進行展示。(4)購物車管理:用戶可以查看購物車,從購物車添加和移除商品。(5)結賬:用戶可通過結賬功能進行訂單管理和在線支付。
3 電子商務系統架構的設計和實現
Flex在企業級應用中與J2EE已經實現了完美的結合,所以本系統采用Flex+ J2EE的系統架構[2]。Flex應用的客戶端程序作為經過編譯的二進制字節碼文件被部署在基于J2EE的Web服務器上,當用戶瀏覽器請求這些文件時,它們被下載到用戶的客戶端,由FlashPlayer來執行。因此,開發本系統需要用到的軟件及插件包括:JDK7.0、Tomcat7.0、MyEclipse9.0、FlashBuilder4.6插件、Cairngorm2.2.2、Blaze DS4.0及SQL Server 2000等。
3.1 客戶端架構
Flex應用程序與傳統的HTML應用程序的主要區別是Flex應用程序能夠處理最適合在客戶端運行的程序,如數據格式和字段的校驗、數據分類和過濾、視頻的合成及特效果等。Flex應用程序能夠迅速地對用戶操作做出反應,在不同“頁面”之間流暢的過渡,提供連續而毫無中斷的工作流。為使程序開發人員更好地開發和交付RIA應用程序,本系統采用Adobe公司開發的Flex輕量級MVC框架Cairngorm,該框架的結構清晰,并有Adobe官方的支持,所以應用非常廣泛。
3.2 服務器端架構
大部分Flex應用程序都需要和服務器進行交互。本系統采用的是基于J2EE平臺的服務器程序架構,Web服務器采用的Tomcat。為了能和Flex客戶端進行通信,采用的是Adobe公司開發并提供的一套中間層技術解決方案——BlazeDS[3]。BlazeDS實際上是一套Java應用程序框架,能夠運行在服務器端,作為Flex實現遠程調用和實時消息通信的組件,通過AMF網關(ActionScript Messaging Formatter)來實現ActionScript語言和Java語言的數據類型的轉換。這樣前端的Flex應用程序就可以和后臺應用程序相連接,為前端的Flex應用程序和后端的數據庫搭起橋梁。
3.3 客戶端和服務器端的通信
構建用戶體驗良好的富客戶端,客戶端和服務器端就必須實現異步交互,這樣用戶才能免去等待服務器響應的煩惱。Flex客戶端和服務器端的通信編程模型為異步交互提供了支持:即當用戶進行某項操作并等待服務器返回結果時,用戶還可以進行其他操作,服務器返回的結果將由后臺程序進行處理。另外,Flex客戶端程序的應用又是一個整體,而不像傳統網頁由多個頁面組成,因此就沒有頁面刷新的問題。
4 結語
該文設計的基于Flex+J2EE框架的電子商務系統從根本上改善了用戶體驗,提高電子商務的部署效率,在電子商務應用領域可以幫助企業提供多元化的重要業務效益,用Flex技術建立電子商務網站將對企業十分有益。
參考文獻
[1] 李慶,沈鈞.我的Flex我精通[M].北京:電子工業出版社,2009.
[2] 彭曉川.基于Flex的RIA與J2EE應用的整合[J].應用技術與研究,2007(2).
[3] Barber S,Tretola R.Adobe Flex高級編程[M].北京:人民郵電出版社,2008.