西安工程大學(xué) 邊 超 馬 柯
信息科技的飛速發(fā)展,加快了企業(yè)信息化的步伐。在信息化技術(shù)發(fā)展的今天,傳統(tǒng)的科技成果獎(jiǎng)勵(lì)申辦管理軟件,其設(shè)計(jì)是以事件驅(qū)動(dòng)的用戶界面為組織結(jié)構(gòu)。程序人員根據(jù)界面的需要去編寫代碼,依照用戶輸入去執(zhí)行相應(yīng)的操作,然后輸出結(jié)果。這樣的設(shè)計(jì)出來的軟件系統(tǒng),其程序的組織圍繞用戶界面元素為核心,其后臺(tái)的數(shù)據(jù)存儲(chǔ),系統(tǒng)的控制邏輯以及顯示的代碼都雜亂無章的混合在一起,這樣的程序設(shè)計(jì)和代碼編程,對(duì)我們這種大型的管理軟件,嚴(yán)重的影響了系統(tǒng)的可實(shí)用性以及軟件的可擴(kuò)展性和維護(hù)性。為了使系統(tǒng)變的更加清晰,使其維護(hù)起來更加的方便,我們引入了MVC框架模式來改變現(xiàn)有的管理系統(tǒng)。
MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫。MVC是一個(gè)框架模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。
模型它是應(yīng)用程序的主體部分,主要包括業(yè)務(wù)邏輯模塊和數(shù)據(jù)模塊。模型是與問題相關(guān)數(shù)據(jù)的邏輯抽象,沒有用戶界面。模型與數(shù)據(jù)格式無關(guān),這樣一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性。
視圖是用戶看到并與之交互的界面,即視圖是模型的外在表現(xiàn),是應(yīng)用系統(tǒng)和外界的接口。一個(gè)模型可以對(duì)應(yīng)一個(gè)或多個(gè)視圖。對(duì)較早的Web應(yīng)用程序來說,視圖就是由HTML元素組成的界面,在現(xiàn)今的Web應(yīng)用程序中,一些新的技術(shù)已層出不窮,它們包括JSP,XHTML,XML/XSL等等,本管理系統(tǒng)中采用JSP編寫視圖界面。
圖1 MVC之間的關(guān)系
圖2 框架結(jié)構(gòu)圖
控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求,控制器是模型與視圖的聯(lián)系紐帶;所以當(dāng)單擊Web頁面中的超鏈接和發(fā)送HTML表單時(shí),控制器本身不輸出任何東西和做任何處理,它只是接收請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請(qǐng)求,然后再確定用哪個(gè)視圖來顯示返回的數(shù)據(jù)。其三者的關(guān)系如圖1所示。
在本系統(tǒng)中,實(shí)現(xiàn)的主要功能包括創(chuàng)新成果在線申報(bào),成果的評(píng)審以及最終成果狀態(tài)的查詢等主要內(nèi)容。其中相關(guān)企業(yè)向協(xié)會(huì)成果獎(jiǎng)評(píng)處提交WORD版申報(bào)書,并提交附件(有關(guān)證明材料復(fù)印件)。成果獎(jiǎng)評(píng)處對(duì)申報(bào)企業(yè)的申報(bào)內(nèi)容和申報(bào)資質(zhì)初審。經(jīng)過初審的申報(bào),送交相關(guān)專家進(jìn)行評(píng)審,評(píng)審結(jié)果存檔。本系統(tǒng)就是將原有的手工或紙質(zhì)化的處理流程,編制成計(jì)算機(jī)系統(tǒng),以完成管理創(chuàng)新成果申辦的自動(dòng)化,電子化,信息化,并提供相應(yīng)的存檔、檢索及分析手段。
數(shù)據(jù)層對(duì)數(shù)據(jù)進(jìn)行管理,并向業(yè)務(wù)邏輯層提供標(biāo)準(zhǔn)化的開放訪問接口。數(shù)據(jù)層采用數(shù)據(jù)庫的方式。數(shù)據(jù)庫主要提供業(yè)務(wù)操作數(shù)據(jù)等具有明顯結(jié)構(gòu)化特性的數(shù)據(jù)的存儲(chǔ)和訪問服務(wù);其主要的功能:數(shù)據(jù)創(chuàng)建、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢、數(shù)據(jù)更新、數(shù)據(jù)刪除等操作。數(shù)據(jù)層面向業(yè)務(wù)邏輯層提供數(shù)據(jù)庫訪問服務(wù)接口,業(yè)務(wù)邏輯層通過JDBC協(xié)議訪問數(shù)據(jù)庫服務(wù)。
業(yè)務(wù)邏輯層接受從表示層輸入的用戶請(qǐng)求,將其轉(zhuǎn)化為業(yè)務(wù)邏輯過程能夠理解的方式,根據(jù)特定的業(yè)務(wù)邏輯有序地向數(shù)據(jù)層發(fā)送數(shù)據(jù)請(qǐng)求,并將數(shù)據(jù)層返回的數(shù)據(jù)解釋及組合成用戶所需信息,返回給表示層,是整個(gè)應(yīng)用軟件系統(tǒng)中業(yè)務(wù)邏輯的實(shí)現(xiàn)和處理核心。業(yè)務(wù)邏輯層運(yùn)行在基于J2EE應(yīng)用服務(wù)器的EJB及WEB容器中。業(yè)務(wù)邏輯層包含會(huì)話外觀、邏輯Bean和數(shù)據(jù)存取Bean(Data Access Bean)三個(gè)邏輯組件。
表示層接受用戶提交的輸入請(qǐng)求,通過對(duì)業(yè)務(wù)邏輯層的訪問,獲得并向用戶輸出可視化響應(yīng)。由Servlet提供頁面請(qǐng)求和請(qǐng)求響應(yīng)的總體控制,JSP和瀏覽器提供請(qǐng)求結(jié)果響應(yīng)的可視化顯示。
1)Servlet:接收所有用戶由通過瀏覽器提交的業(yè)務(wù)請(qǐng)求,并合成相應(yīng)的值對(duì)象,訪問業(yè)務(wù)邏輯層完成業(yè)務(wù)邏輯實(shí)體的業(yè)務(wù)處理;將業(yè)務(wù)邏輯實(shí)體的變化以值對(duì)象的方式通知并轉(zhuǎn)向相應(yīng)的JSP。
2)JSP:根據(jù)Servlet告知的值對(duì)象,合成請(qǐng)求響應(yīng)結(jié)果的最終輸出格式化文本(HTML);將合成格式化文本以網(wǎng)絡(luò)協(xié)議的方式發(fā)送給提交業(yè)務(wù)請(qǐng)求的用戶瀏覽器。
綜上分析,系統(tǒng)的框架結(jié)構(gòu)如圖2所示。
基于上述的描述分析,我們?cè)O(shè)計(jì)了如圖2所示的創(chuàng)新成果申辦管理系統(tǒng)的整體架構(gòu)。其中用戶發(fā)送的每一個(gè)請(qǐng)求都可以在基于MVC框架模式的方法來設(shè)計(jì)和實(shí)現(xiàn)。使程序的可擴(kuò)展性增強(qiáng),使后期的維護(hù)變的更加方便,簡單。
隨著信息化的發(fā)展,MVC技術(shù)的不斷的成熟起來,其在各個(gè)領(lǐng)域范圍內(nèi)將會(huì)得到全面的應(yīng)用與實(shí)現(xiàn)。本文在對(duì)創(chuàng)新成果申辦管理系統(tǒng)應(yīng)用的研究的同時(shí),介紹了一種基于MVC框架模式的Web管理系統(tǒng)的應(yīng)用架構(gòu),為提高管理方面軟件系統(tǒng)的可擴(kuò)展性和可維護(hù)性提供了完整的解決方法。
[1]周德仿.基于J2EE和MVC的Web技術(shù)[J].交通與計(jì)算機(jī),2004,22(3):95-98.
[2]王慶民,張舒娟.基于MVC圖書館虛擬參考咨詢系統(tǒng)研究[J].圖書館學(xué)研究,2010(1).