李紅娟,溫 喆
LI Hong-juan,WEN Zhe
(石家莊學院,石家莊 050035)
Web2.0技術是以Blog、RSS、Tag、P2P、wiki等應用為核心,根據Ajax、XML等新技術及新理論而實現的新的Internet應用模式。其之所以能夠快速地發展,主要是由于其采用了全新的Ajax(Asynchronous JavaScript and XML)技術。與傳統的Web技術相比,Ajax技術克服了B/S(Browse/Server)模式的瓶頸帶寬問題,可以使用戶像使用桌面軟件一樣方便、快捷地進行瀏覽,并且不用安裝特別的控件與插件等東西;完善了和服務器通信的方式,采用異步方式實施和服務器通信,能夠不通過刷新方式頁面就能和服務器實施數據的交換,極大地提高了交互性能;采用了動態頁面的開發方式,提高了Web頁面的顯示效果。
因此,本文充分利用了J2EE平臺的豐富功能及Ajax的性能優勢,構建了一種新的基于Web2.0模式的應用架構,該架構和未來的Web技術的發展趨勢相一致,具有較強的實踐與參考意義。本文對Ajax技術原理及Ajax框架進行了探討,對于基于J2EE平臺與Ajax技術實施Web2.0模式開發的架構,本文給出了詳細的設計方法,通過整合和改進Ajax框架的方法,開展了客戶關系管理系統架構開發工作。
MVC設計模型原理如圖1所示。

圖1 MVC設計模型原理圖
視圖(View)表示與用戶的交互界面,針對Web應用而言,能夠概括成HTML界面。模型(Model)為對業務狀態/流程的處理,對業務規則的制定。控制(Controller)能夠認為是自用戶處接收請求,把模型和視圖進行匹配,然后一同完成用戶的請求。
本文通過一個客戶關系管理系統的設計,來對采用Ajax和J2EE的構建Web應用架構進行方法的闡述。客戶關系管理系統是為企業提供統一協調與部署企業的業務查詢、銷售活動、業績考核等設計的管理系統。針對系統的不同用戶角色類型,進行了以下幾個主功能模塊的設計,即:客戶模塊、系統管理模塊、聯系人模塊、報表模塊、聯系記錄模塊、知識庫模塊以及目標管理模塊。為了保護系統的安全,還設計了用戶登錄模塊,能夠對不同的用戶實施權限的管理功,并采用MD5加密算法進行密碼的嚴重,增強系統的安全性。各功能模塊需求設計如下:
客戶模塊:實施客戶與銷售對應的查詢、新增及更改等關系,更改客戶與組相對應的關系,并對客戶基本資料進行必要的修改。
系統管理模塊:新建用戶組或功能組,把用戶添加至該組中,并給用戶賦予新的角色,設置用戶不同的權限。
聯系人模塊:新增聯系人,查詢聯系人,更改聯系人信息。
報表模塊:形成企業的銷售活動報表。
聯系記錄模塊:實施對項目的創建、修改及搜索等操作;依據實際的項目,進行客戶、聯系人及相應活動記錄的查詢。
知識庫模塊:將銷售工作中通用的資料信息進行存儲,包含了下載資料及上傳資料兩個部分。
目標管理模塊:對每個銷售獨立地設置某階段的銷售目標。
登陸界面:用戶登陸首頁,能夠對用戶任務完成及下級用戶等情況進行查看。
采用Ajax技術架構的應用主要有以下特點:1)全新的富互聯網應用 (Rich Internet Application,RIA)Web體驗,用戶可以進行平滑的Web交互以及連續的局部刷新,而不用傳統的不斷刷新頁面的方式;2)合理的Ajax分層架構,把邏輯層與表現層進行了劃分,層次劃分更加清楚,基礎類庫移植性更強;3)異步通信機制更加完善,其采用了Ajax技術的通信方式,將XMLHttpRequest組件的通信機制進行完善,從而實現Ajax的框架設計。
3.2.1 表單(Form)
設計目標:表單設計的目標是幫助用戶方便地在一個窗口中,進行全部項目的編輯,然后進行一次性的提交,從而可以提高用戶工作效率。
實現概要:表單的屬性主要有:表單條目可以按照類別分類,能夠容納頁面的控件,可以完成Ajax的異步提交功能。
3.2.2 組合編輯框(ComboBox)
設計目標:其設計目標主要是為了可以提升應用的易用性,力圖一次性地選擇完成編輯工作,使用戶的工作效率可以極大地提高。
實現概要:組合編輯框的主要屬性有:條目記錄能夠編輯、增加及刪除,進行異步更新操作;條目記錄能夠進行排序;實現無刷新異步檢測功能。
本系統使用了MVC的三層架構模式來實施開發,即:數據模型層(Model-Tier)的設計是通過JDBC的使用完成持久化處理工作;業務邏輯控制層(Control-Tier)的設計是通過Spring Framework進行業務邏輯的處理;頁面視圖層(View-Tier)的設計是綜合了JavaScript+ HTML+XML+CSS+DOM幾種技術,同時與先進的Ajax技術進行結合。
通過功能模塊劃分能夠得出,系統大體可以劃分成關聯關系數據實體及基本數據實體。基本數據實體主要包括10種類型:用戶組數據表、用戶信息數據表、銷售目標數據表、用戶角色數據表、客戶信息數據表、銷售項目數據表、聯系人信息數據表、知識庫信息數據表、知識庫類型數據表及銷售活動數據表。關聯關系數據實體主要包含了5種類型:用戶/用戶組關聯表、用戶/聯系人關聯表、用戶/角色關聯表、客戶/活動關聯表及用戶/客戶關聯表。客戶關系管理系統的數據尸體關聯如圖2所示。

圖2 客戶關系管理系統數據實體關聯圖
系統持久層邏輯通過JDBC引擎來進行設計,通過DAO設計模式的進行實現。通過JDBC引擎,用戶能夠以SQL語言形式把訪問請求語句編寫出來,再通過此接口發送至數據庫中,其請求結果通過該接口返回給Java應用程序。JDBC引擎基于簡單的基礎上,為開發者提供極大的靈活性。而DAO模式為J2EE的一種核心模式,其核心思想就是在具體數據源與業務核心方法二者間增加一層,通過這種方式就能夠有效減少二者間的耦合關系。使用了DAO模式后,業務邏輯核心就可以不用關系怎樣具體地操作數據庫了,因而使整個系統結構層次更加清晰合理。持久層的設計原理圖如3所示。

圖3 持久層設計原理圖
業務邏輯層采用了采用MVC設計模式及Spring框架技術進行了實現。Spring框架采用統一的方式來對DAO模式支持,采用Spring框架能夠減少很多資源裝配、SQL異常捕獲以及事物管理等繁雜的代碼編寫。
Spring框架控制器組件主要是接受用戶的請求,并進行更新處理,將合適的視圖組件返回給用戶。當Web請求出現時,Spring框架的前端控制器會自動分析這個請求,而不進行具體的邏輯處理,將其轉發至底層核心控制器實施處理,前端控制器提供一個控制、管理Web請求處理的集中式入口,并于底層核心控制器緊密耦合,并通過核心控制器發送至業務邏輯實施處理,通常該業務邏輯和數據庫服務器實施數據交換業務,直到數據交換結果返回后,再提交至Spring框架控制器組件,由控制器組件發送對應的視圖,最后,用戶通過瀏覽器進行交互信息的查看。
本文對當前新的Web2.0開發模式實施了研究和設計,對Web2.0模式下的Ajax框架技術與J2EE平臺技術進行了仔細地闡述,并設計了基于Ajax與J2EE技術的Web應用架構設計,給出了設計的方法,即整體客戶關系管理系統應用架構基于MVC分層模型設計,通過JDBC API引擎設計持久層,通過Spring框架技術設計控制層,通過Ajax技術設計視圖層。
[1] 盧雷,萬建成,鹿旭東,郭小濤.基于Web應用特點的界面組成及交互模型[J].計算機工程與設計,2006.
[2] 殷旻昊.基于J2EE輕量級框架的敏捷型Web架構研究及應用[D].重慶大學,2008.
[3] 白國枝.基于J2EE/Web架構的安全系統的設計與實現[J].現代電子技術,2008,08.
[4] 王建平.MVC&MVP集成模式在RIA開發中的應用[J].軟件導刊,2009,07.
[5] 張琪.基于MVC設計模式的Struts框架設計與應用[D].武漢科技大學,2008.