- 相關(guān)推薦
網(wǎng)絡(luò)應(yīng)用系統(tǒng)通用框架的研究與設(shè)計(jì)
摘要:針對(duì)目前比較流行的網(wǎng)絡(luò)管理系統(tǒng),分析其具有的共性,同時(shí)利用Java和Struts技術(shù)開發(fā)一個(gè)通用的網(wǎng)絡(luò)管理系統(tǒng)框架.通過(guò)此框架可以提高系統(tǒng)開發(fā)的效率,縮短系統(tǒng)開發(fā)周期.
關(guān)鍵詞:通用框架;網(wǎng)絡(luò)應(yīng)用系統(tǒng);Struts;MVC
結(jié)合當(dāng)前比較流行的網(wǎng)絡(luò)開發(fā)技術(shù)Java和Struts,針對(duì)信息管理系統(tǒng)的共性,開發(fā)了適用于多數(shù)信息管理系統(tǒng)的通用框架結(jié)構(gòu),使用此結(jié)構(gòu)進(jìn)行系統(tǒng)地開發(fā)可以提高系統(tǒng)開發(fā)的效率,降低開發(fā)的成本,有利于系統(tǒng)的維護(hù).
1信息管理系統(tǒng)的共性
信息管理系統(tǒng)主要是針對(duì)數(shù)據(jù)進(jìn)行處理,盡管每個(gè)行業(yè)對(duì)于處理的信息有所不同,例如人員信息、產(chǎn)品信息、車輛信息等.但是對(duì)于這些信息管理系統(tǒng)來(lái)說(shuō),存在著很多的共性.例如,它們都使用關(guān)系型數(shù)據(jù)庫(kù)、XML或其他格式的數(shù)據(jù)文件來(lái)存儲(chǔ)這些信息;對(duì)這些信息都需要顯示、查詢、添加、修改、刪除等操作.如果能夠?qū)⑦@些操作封裝到一個(gè)共同的模塊中,無(wú)疑將會(huì)加快開發(fā)的進(jìn)度,降低程序產(chǎn)生bug的數(shù)量,程序員就可以把大部分精力投放到具體業(yè)務(wù)的處理上面.
除了上面一些共同點(diǎn)外,一個(gè)成功的軟件產(chǎn)品,還需要良好的操作界面、統(tǒng)一的界面風(fēng)格,或者可定做的各種屬性.而這些也都完全可以封裝到一個(gè)模塊中,定義成屬性文件.根據(jù)客戶的不同喜好,只需要修改屬性文件,就產(chǎn)生了外觀完全不同的另一套軟件產(chǎn)品.
利用MVC良好的設(shè)計(jì)模式,使用Struts技術(shù),完全可以對(duì)上述的基本操作功能和操作界面進(jìn)行完全的封裝,開發(fā)出適用于信息管理系統(tǒng)的通用框架.
2模型一視圖一控制器
模型一視圖一控制器模式簡(jiǎn)稱MVC模式,即Mode—View—Control,是交互式應(yīng)用程序廣泛使用的一種體系結(jié)構(gòu).它可有效地存儲(chǔ)和展示數(shù)據(jù)的對(duì)象中區(qū)分功能模塊以降低它們之間的藕合度,這種架構(gòu)模式能將傳統(tǒng)的輸入、處理和輸出的模式轉(zhuǎn)化為圖形顯示用戶交互模式.MVC體系結(jié)構(gòu)具有3個(gè)層面,即模型(Model )、視圖(View)和控制(Controller) .
MVC架構(gòu)模式是針對(duì)交互式系統(tǒng),基于“分而治之”的思想,將系統(tǒng)分成不同的邏輯部件.換言之,這是對(duì)系統(tǒng)不同責(zé)任的劃分過(guò)程.這種架構(gòu)模式除了對(duì)系統(tǒng)本身帶來(lái)的優(yōu)點(diǎn)以外,對(duì)于項(xiàng)目管理也有很大的好處.它可以將開發(fā)團(tuán)隊(duì)按照MVC分成小組,擅長(zhǎng)界面設(shè)計(jì)的人員開發(fā)視圖組件,精通業(yè)務(wù)的開發(fā)模型,對(duì)于整個(gè)系統(tǒng)都比較熟悉的可進(jìn)行控制器設(shè)計(jì).
3 Struts技術(shù)
Struts是一種基于MVC經(jīng)典設(shè)計(jì)模式的開放源代碼的應(yīng)用框架,也是目前Web開發(fā)中比較成熟的一種框架.通過(guò)把Servlet , JSP, JavaBean、自定義標(biāo)簽和信息資源整合到一個(gè)統(tǒng)一的框架中,為Web開發(fā)提供了具有高可配置性的MVC開發(fā)模式.
Struts體系結(jié)構(gòu)實(shí)現(xiàn)了MVC設(shè)計(jì)模式的概念,它將Model , View和Controlle:分別映射到Web應(yīng)用中的組件.Model由代表系統(tǒng)狀態(tài)和業(yè)務(wù)邏輯的Action來(lái)構(gòu)建.在Struts中,系統(tǒng)的狀態(tài)主要由ActiomFormBean體現(xiàn),對(duì)于業(yè)務(wù)邏輯通常由JavaBean或EJB組件來(lái)實(shí)現(xiàn).View是由JSP和Struts提供的自定義標(biāo)簽來(lái)實(shí)現(xiàn),Struts自身包含了一組可擴(kuò)展的自定義標(biāo)簽庫(kù)( Taglib),可以簡(jiǎn)化創(chuàng)建用戶界面的過(guò)程.Controlle:負(fù)責(zé)控制流程,由Action Servlet和Action Mapping來(lái)完成.Action Servlet類是Struts框架中的核心組件,主要負(fù)責(zé)接收HTTP請(qǐng)求信息,并轉(zhuǎn)發(fā)給相應(yīng)的Action對(duì)象.Action類負(fù)責(zé)調(diào)用模型的方法、更新模型的狀態(tài),并幫助控制應(yīng)用程序的流程.當(dāng)Action Servlet接收HTTP請(qǐng)求信息時(shí),把用戶請(qǐng)求轉(zhuǎn)發(fā)給哪個(gè)Action對(duì)象,這就需要一些描述用戶請(qǐng)求的路徑和Action映射關(guān)系的配置信息.在Struts中,這些配置映射信息都存儲(chǔ)在Struts-config. xml文件中,在該配置文件中,每一個(gè)Action的映射信息都通過(guò)一個(gè)(action )元素來(lái)配置.這些配置信息在系統(tǒng)啟動(dòng)時(shí)會(huì)被讀人內(nèi)存,供Struts在運(yùn)行期間使用.在內(nèi)存中,每一個(gè)(action)元素都對(duì)應(yīng)一個(gè)Action Mapping類的實(shí)例.
4通用框架設(shè)計(jì)
首先從整體上對(duì)通用框架進(jìn)行設(shè)計(jì),圖1是所要設(shè)計(jì)通用框架的結(jié)構(gòu)圖.該框架在設(shè)計(jì)時(shí),考慮了當(dāng)前數(shù)據(jù)庫(kù)盡管主要是以關(guān)系型數(shù)據(jù)庫(kù)為主,但也加人了對(duì)XML等文件存儲(chǔ)格式的數(shù)據(jù)處理.下面對(duì)框架中的主要部分進(jìn)行說(shuō)明.
4.1 DAO/DPO
在該框架中采用了數(shù)據(jù)訪問(wèn)對(duì)象(Data Access Object,簡(jiǎn)稱DAO)設(shè)計(jì)模式.DAO模式提供了訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)所需的所有操作接口,其中包括了創(chuàng)建數(shù)據(jù)庫(kù),定義表、字段和索引,建立表間的關(guān)系,更新和查詢數(shù)據(jù)庫(kù)和執(zhí)行存儲(chǔ)過(guò)程等.
DAO模式將底層數(shù)據(jù)訪問(wèn)操作與高層業(yè)務(wù)邏輯分離開,對(duì)上層提供面向?qū)ο蟮臄?shù)據(jù)訪問(wèn)接口另外,該通用框架還提供了數(shù)據(jù)解析對(duì)象(DPO)設(shè)計(jì)模式. 同DAO類似,它主要是提供了對(duì)XML或其他文件格式的數(shù)據(jù)進(jìn)行操作的所有接口.
同時(shí)在該框架中,還對(duì)應(yīng)2種設(shè)計(jì)模式提供了2個(gè)類,即Data Access Object和Data Parse Object.對(duì)于Data Access Object,還提供了數(shù)據(jù)庫(kù)連接池,通過(guò)配置文件,可以設(shè)置是否使用連接池,同時(shí)還可以使用應(yīng)用服務(wù)器提供的連接池.由于當(dāng)前數(shù)據(jù)庫(kù)種類繁多,通過(guò)配置文件可以設(shè)置使用不同的數(shù)據(jù)庫(kù),例如Oracle ,SQL Server , My SQL等.
通過(guò)對(duì)數(shù)據(jù)操作的封裝,使通用框架具有了通用性.它把具體的業(yè)務(wù)對(duì)象和數(shù)據(jù)庫(kù)操作完全分離,不僅可以使程序員更專注于具體業(yè)務(wù)的處理,而且程序也易于維護(hù)和調(diào)試.
由于目前大多數(shù)信息管理系統(tǒng)都采用關(guān)系數(shù)據(jù)庫(kù),因此也有很多的DAO組件,例如Hibernate, Cas-for . Free Form等,在通用框架中也可以采用這些成熟的DAO組件.
4.2業(yè)務(wù)對(duì)象(BO)
業(yè)務(wù)對(duì)象,即Business Object,是對(duì)真實(shí)世界實(shí)體的軟件抽象,它包含數(shù)據(jù)和行為.它們對(duì)應(yīng)著數(shù)據(jù)庫(kù)中的一條
【網(wǎng)絡(luò)應(yīng)用系統(tǒng)通用框架的研究與設(shè)計(jì)】相關(guān)文章:
簡(jiǎn)析網(wǎng)絡(luò)應(yīng)用系統(tǒng)通用框架的研究與設(shè)計(jì)03-25
基于計(jì)算機(jī)網(wǎng)絡(luò)的監(jiān)控系統(tǒng)應(yīng)用研究12-06
網(wǎng)絡(luò)環(huán)境的設(shè)計(jì)與應(yīng)用11-13
研究企業(yè)擴(kuò)張理論的分析框架及其應(yīng)用03-20
智能天線在CDMA系統(tǒng)的應(yīng)用研究03-07
網(wǎng)絡(luò)課程視頻資源建設(shè)框架的研究與探討11-20