劉超華 趙 勇
摘 要:介紹一種基于B/S的體系結(jié)構(gòu),基于MVC的應(yīng)用開發(fā)模型的媒體信息管理系統(tǒng)的設(shè)計和實現(xiàn)方法。數(shù)字媒體資源是當(dāng)前存儲和交換信息的主要形式,對其進行有效的管理和高效的利用對信息和知識具有重大意義。
關(guān)鍵詞:媒體信息管理;B/S結(jié)構(gòu);MVC;數(shù)字媒體資源
中圖分類號:TP315
0 引 言
Internet的發(fā)展,為改變傳統(tǒng)的信息管理模式提供了一種技術(shù)上的可行性的方案:利用Internet技術(shù)和協(xié)議,建立各種內(nèi)部網(wǎng)Intranet,外部網(wǎng)Extranet,通過廉價的通信手段,將用戶和服務(wù)緊密結(jié)合在了一起,消除時間與空間帶來的障礙,從而可以極大的節(jié)約成本,擴大使用范圍。
設(shè)計一個基于網(wǎng)絡(luò)的資源信息管理系統(tǒng),將會牽涉到許多技術(shù)上的問題。如:動態(tài)網(wǎng)頁制作技術(shù)的,后臺數(shù)據(jù)庫的設(shè)計和管理,通過功能完善的媒體信息資源管理系統(tǒng),保存的一大批具有歷史意義和科研價值的媒體素材,如錄像、圖片、動畫等,根據(jù)需要分別存儲到服務(wù)器計算機的硬盤中,對各類媒體進行分類,全面登記、保存,方便用戶快速查詢和瀏覽實用。
1 總體方案設(shè)計
系統(tǒng)的開發(fā)關(guān)鍵在于其所使用的架構(gòu),而媒體信息資源管理系統(tǒng)這種基于Web的系統(tǒng)。傳統(tǒng)的C/S架構(gòu)已經(jīng)不能滿足大量用戶的訪問和操作。B/S這種基于瀏覽器的架構(gòu)則是目前網(wǎng)絡(luò)系統(tǒng)應(yīng)用的主流。它將大量的數(shù)據(jù)處理工作交給服務(wù)器端來處理,客戶端只用普通的IE瀏覽器即可訪問系統(tǒng),方便快捷而且利于系統(tǒng)的更新和維護。Java語言在該方面更是得天獨厚,J2EE規(guī)范的出現(xiàn)則使系統(tǒng)的開發(fā)更加規(guī)范,層次更加清楚,更利于對復(fù)雜事務(wù)的處理,而且在安全性方面也做的更好。基于MVC的開發(fā)流程則使開發(fā)過程更加清晰明了,利于做一些復(fù)雜的邏輯實現(xiàn),從而節(jié)省了開發(fā)周期和開發(fā)成本。
1.1 基于B/S的體系結(jié)構(gòu)
在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡(luò)上的服務(wù)器發(fā)出請求,服務(wù)器對瀏覽器的請求進行處理,將用戶所需信息返回到瀏覽器。B/S結(jié)構(gòu)簡化了客戶機的工作,客戶機上只需配置少量的客戶端軟件,由服務(wù)器擔(dān)負(fù)更多的工作,對數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。瀏覽器發(fā)出請求,而其余如數(shù)據(jù)請求、加工、結(jié)果返回以及動態(tài)網(wǎng)頁生成等工作全部由Web Server完成。實際上B/S體系結(jié)構(gòu)是把二層C/S結(jié)構(gòu)的事務(wù)處理邏輯模塊從客戶機的任務(wù)中分離出來,由Web服務(wù)器單獨組成一層來負(fù)擔(dān)其任務(wù),這樣客戶機的壓力減輕了,把負(fù)荷分配給了Web服務(wù)器。這種三層體系結(jié)構(gòu)如圖1所示。
這種結(jié)構(gòu)不僅把客戶機從沉重的負(fù)擔(dān)和不斷提高性能的要求中解放出來,也把技術(shù)維護人員從繁重的維護升級工作中解脫出來。由于客戶機把事務(wù)處理及邏輯處理部分交給了功能服務(wù)器,使客戶機一下子“苗條”了許多,不再負(fù)責(zé)處理復(fù)雜計算和數(shù)據(jù)訪問等關(guān)鍵事務(wù),只負(fù)責(zé)顯示部分,所以維護人員不再為程序的維護工作奔波于每個客戶機之間,而把主要精力放在功能服務(wù)器上程序的更新工作。這種三層結(jié)構(gòu)在層與層之間相互獨立,任何一層的改變都不會影響其他層的功能。
1.2 基于MVC的應(yīng)用開發(fā)模型
在傳統(tǒng)的基于Web的應(yīng)用系統(tǒng)中,例如ASP,CGI等,通常開發(fā)者將業(yè)務(wù)邏輯,數(shù)據(jù)邏輯、展示邏輯等混雜在一起,在同一個界面里既進行后臺數(shù)據(jù)庫的訪問和操作,同時還包含業(yè)務(wù)流程和頁面表示。這樣編寫出來的程序,既不利于程序員對業(yè)務(wù)代碼的調(diào)試,同時也不利于編輯人員進行交互頁面的設(shè)計。
同時系統(tǒng)也不具備可擴展性,當(dāng)需要在現(xiàn)有業(yè)務(wù)上進行擴展的時候,通常無法借助于現(xiàn)有的資源和應(yīng)用,而只能夠重新編寫,大大增加了投資,延長了系統(tǒng)上線的時間。
在該系統(tǒng)中,將采用最新的MVC模式來構(gòu)建應(yīng)用。這種結(jié)構(gòu)解決了前面所述的所有問題,在該系統(tǒng)應(yīng)用的集成網(wǎng)絡(luò)中,可通過企業(yè)級高端J2EE應(yīng)用服務(wù)器實現(xiàn)MVC開發(fā)模型。MVC的邏輯圖如圖2所示,業(yè)務(wù)流程圖如圖3所示。
通過這種方案,其優(yōu)勢和特點如下:
(1) Model(模型)層。由EJB組件來實現(xiàn),EJB將具體的業(yè)務(wù)封裝在組件內(nèi)部,具備安全、高性能、可重用等優(yōu)秀的特征。
(2) View(視圖)層。由JSP,HTML組成。這一層次的特點是能夠真實地展示和客戶交互的界面,具備可描繪的功能。同時能夠嵌套動態(tài)數(shù)據(jù),可以進行動態(tài)頁面的展示。同時可以方便地進行客戶端的個性化定制,根據(jù)不同客戶的需求來展示不同風(fēng)格的界面。
(3) Controller(控制器)層。是非常重要的一層,這一層是連接View和Model的紐帶,同時也是將這兩層進行最大限度分離的工具。通常由Servlet來實現(xiàn),Servlet和JSP雖然同樣都屬于頁面展示工具,但分屬兩層。主要在于JSP以腳本語言的形式存在, 它的主要優(yōu)勢是進行動態(tài)數(shù)據(jù)的Web展示,而Servlet是一個完整的Java程序,進行業(yè)務(wù)的調(diào)用和流程的處理是它的長處。
通過這種模型的建立,應(yīng)用系統(tǒng)具備了非常好的性能和可擴展性。將業(yè)務(wù)組件和展示頁面進行分離,并通過Controller來描述調(diào)用關(guān)系,一方面可以提高效率,另一方面也可以增加系統(tǒng)擴充的能力,使系統(tǒng)可以進行最快速度的業(yè)務(wù)擴展,滿足不同用戶、不同階段及各種各樣的業(yè)務(wù)需求。
2 技術(shù)設(shè)計方案
系統(tǒng)采用SP技術(shù)實現(xiàn),完成五大功能:媒體信息的錄入功能、資源信息的查詢?yōu)g覽功能、媒體信息資源的下載和管理功能、信息資料的借閱管理功能和用戶管理功能。
功能模塊圖如圖4所示。
2.1 系統(tǒng)流程分析
2.1.1 借閱模塊流程
借閱模塊具體實現(xiàn)功能如下:
(1) 列出媒體資源的列表,使用戶能夠選擇所需要的資源;
(2) 當(dāng)用戶在點擊借閱按鈕時,執(zhí)行如下功能:
在有用戶借閱后,檢查是否有該資源存在,如存在則可借資源數(shù)量相應(yīng)減1;已借閱數(shù)量加1。具體流程如圖5所示。
[BT4+*3]2.1.2 查詢模塊流程
查詢模塊根據(jù)用戶輸入的文件名、編號或格式等信息,查找與之匹配的文件并顯示,使用戶查找資料時,節(jié)省時間,提高效率。流程如圖6所示。
[BT4]2.1.3 用戶登錄流程
如果用戶沒有登錄,則在頁面中顯示用戶登錄的選項,用戶登錄后,則可隱藏用戶登錄的選項而代之以用戶的基本信息。登錄流程如圖7所示。
[BT4]2.1.4 媒體資源管理流程
媒體資源管理流程如圖8所示。
在該功能中管理員可以進行不需要的資源的刪除,在這里管理員可以瀏覽資源的詳細信息,并且比普通用戶在瀏覽資源界面里所看到的資源信息多一個該資源在數(shù)據(jù)庫中的ID。
3 技術(shù)實現(xiàn)
[BT3]3.1 系統(tǒng)運行環(huán)境的搭建
該系統(tǒng)采用的是基于Java的JSP技術(shù) ,所以必須安裝Java虛擬機和Tomcat環(huán)境。
[BT3]3.2 系統(tǒng)數(shù)據(jù)庫表的基本設(shè)計
在設(shè)計管理系統(tǒng)時,必須對系統(tǒng)所用到的數(shù)據(jù)進行分類和詳細的結(jié)構(gòu)設(shè)計,既要做到清晰明了,又要適應(yīng)系統(tǒng)各項功能的使用,保證關(guān)鍵數(shù)據(jù)在意外情況下不會破壞,數(shù)據(jù)庫是系統(tǒng)的重中之重。數(shù)據(jù)庫設(shè)計要遵循一些規(guī)則,一個好的數(shù)據(jù)庫應(yīng)滿足一些嚴(yán)格的約束,盡量分離各實體對應(yīng)的表,一個實體對應(yīng)一個表,搞清實體有哪些屬性,對應(yīng)有些什么字段,以及各實體之間有何種聯(lián)系。實體、屬性與聯(lián)系是進行設(shè)計時要考慮的三個元素,也是一個好的數(shù)據(jù)庫設(shè)計的核心。
從實際出發(fā),經(jīng)過仔細地分析,得到各表的設(shè)計如表1~表4所示。
對于資源信息表(見表1),在實際應(yīng)用中最好是將其設(shè)置一個命名規(guī)則,管理人員在添加資源的時候能夠自動產(chǎn)生一個有一定規(guī)則和一定意義的命名規(guī)則,方便管理人員對其進行管理和維護。
對于用戶信息表(見表2),用戶編號也要有一定的命名規(guī)則,另外用戶帳號的命名規(guī)則也有一定要求,如必須以字母開頭,不能有特殊字符,長度大于4個字符小于16個字符等。利用MYSQL數(shù)據(jù)庫加密系統(tǒng)能夠有效地保證數(shù)據(jù)的安全,同時可以設(shè)定不需要了解數(shù)據(jù)內(nèi)容的系統(tǒng)管理員不能見到明文,大大提高了關(guān)鍵數(shù)據(jù)的安全性。
字段名稱數(shù)據(jù)類型字段說明50
借閱信息表(見表3)是系統(tǒng)中與其他幾個表關(guān)系最多的一個表,它包含了資源表,用戶表中的幾個重要字段,是進行最后借閱統(tǒng)計的主要依據(jù)。在確定借閱的時候,系統(tǒng)將數(shù)據(jù)寫入借閱表。
表4和用戶表一樣存在字段的命名規(guī)則的要求,出于安全考慮對于管理員帳號發(fā)放應(yīng)該謹(jǐn)慎,管理人員數(shù)量一定要控制,越少越安全。在實際應(yīng)用中,還要對整個數(shù)據(jù)庫進行加密,以防止系統(tǒng)重要數(shù)據(jù)泄漏。
3.3 主要功能模塊的實現(xiàn)
3.3.1 瀏覽查詢模塊的實現(xiàn)
作為基于Web的媒體信息資源管理系統(tǒng),如何能讓用戶以最快的速度找到自己需要的資源,是一個重要問題。該系統(tǒng)做了一個模塊,以供用戶進行一些模糊查找,用戶不必輸入全部名稱,只需輸入一些關(guān)鍵詞,系統(tǒng)就可以將符合該查詢條件的所有資料信息以網(wǎng)頁形式返回給用戶。
該搜索功能在JSP頁面中實現(xiàn)的關(guān)鍵代碼為:
[BT4]3.3.2 借閱模塊
該模塊分為兩個文件:borrow[CD#*2]manager[CD#*2]do.jsp和borrow[CD#*2]manager[CD#*2]do.jsp。模塊主要進行借閱管理,根據(jù)用戶輸入的相關(guān)借閱信息,對form1.do[CD#*2]action.Value賦予相應(yīng)的add、edit、del、detail或 return;然后根據(jù)賦值調(diào)用borrow[CD#*2]manager[CD#*2]do.jsp和borrow[CD#*2]manager[CD#*2]do.jsp,進行處理或顯示相關(guān)信息并提交表格。
[BT4]3.3.3 數(shù)據(jù)庫的連接
出于安全性的考慮,將與數(shù)據(jù)庫的連接,單獨寫出來并進行編譯,也就是數(shù)據(jù)庫連接的javabean文件,編譯出來的.class文件是無法被修改的只能通過源文件進行修改,在JSP頁面中只用直接調(diào)用改方法即可。連接關(guān)鍵代碼如下:
[BT4]3.3.4 后臺管理模塊的實現(xiàn)
管理人員必須對系統(tǒng)的各種信息進行維護,比如資源的增加、刪除、修改,用戶的審查等。管理功能是信息管理系統(tǒng)相當(dāng)重要的一部分功能。
管理員可以通過主頁面的“管理進入”進入系統(tǒng)后臺進行維護,點擊之后,首要的就是進行身份驗證,輸入正確的帳號,密碼之后,方能進入。出于安全性考慮,管理員帳號應(yīng)盡量少分配,密碼也要盡量復(fù)雜,經(jīng)常更換。
管理部分的實現(xiàn)使用的是一些SQL語句來對相關(guān)數(shù)據(jù)進行添加和修改,添加部分關(guān)鍵的SQL語句如下:
修改更新部分使用update語句。
4 結(jié) 語
利用各類格式的現(xiàn)有素材,對系統(tǒng)進行了全面、系統(tǒng)測試,驗證了該系統(tǒng)具備了用戶管理、媒體導(dǎo)入導(dǎo)出、媒體瀏覽和媒體查詢、借閱統(tǒng)計等功能。系統(tǒng)運行穩(wěn)定,信息全面,界面直觀,交互性強,實現(xiàn)了課題立項中的功能,實現(xiàn)了媒體資源管理信息化的目標(biāo),完全滿足管理人員的信息化操作需要,以及各級人員對媒體信息資源的使用需要。
同時,媒體資源管理系統(tǒng)無論是在開發(fā)過程中,還是建成后的日常維護過程中,都需要進行嚴(yán)格的檢測,以保證系統(tǒng)的服務(wù)質(zhì)量。
參 考 文 獻
[1]譚浩強.Web數(shù)據(jù)庫開發(fā)技術(shù)[M].北京:電子工業(yè)出版社,2001.[LL]
[2]任永昌.項目投資管理系統(tǒng)的分析與設(shè)計[J].福建電腦,2004(9):43[CD*2]44.
[3]何凌燕.淺析管理信息系統(tǒng)的發(fā)展動力及趨勢[J].商場現(xiàn)代化,2007(35):7.
[4]張瑜,李杰,劉躍軍.ASP.NET網(wǎng)絡(luò)應(yīng)用與開發(fā)[M].北京:清華大學(xué)出版社,2006.
[5]嚴(yán)霄蕙.煤炭企業(yè)運輸管理信息系統(tǒng)研究[J].煤炭經(jīng)濟研究,2005(9):38[CD*2]40.
[6]Richard Anderson,Chris Blexrud.ASP3高級編程[M].北京:機械工業(yè)出版社,2000.
[7]馬軍.ASP.NET 2.0網(wǎng)絡(luò)應(yīng)用系統(tǒng)開發(fā)[M].北京:人民郵電出版社,2006.
[8][美]Convery S.網(wǎng)絡(luò)安全體系結(jié)構(gòu)[M].王迎春,謝琳,江魁,譯.北京:人民郵電出版社,2005.
[9]羅永勝,葛利宏.數(shù)據(jù)安全與數(shù)據(jù)備份問題探討[J].內(nèi)蒙古電力技術(shù),2005,23(1):28[CD*2]29,35.
[10]任德昊,吳少華,顏開.局域網(wǎng)中的數(shù)據(jù)安全問題研究[J].中國民航飛行學(xué)院學(xué)報,2005,16(5):28[CD*2]31.
[11]劉毅,余發(fā)江.可信計算機平臺應(yīng)用研究[J].計算機安全,2006(6):13[CD*2]15.
[12]陳也平.基于校園網(wǎng)的高校人事管理系統(tǒng)[J].微機發(fā)展,2002,12(2):32[CD*2]34.
[13]王艷柏,譚璐.網(wǎng)絡(luò)安全的探討[J].長春大學(xué)學(xué)報,2005,15(2):35[CD*2]37.
[14]曹春萍,王志民.MVC設(shè)計模式的研究及其應(yīng)用[J].現(xiàn)代電子技術(shù),2005,28(20):80[CD*2]82.
作者簡介
劉超華 女,海軍飛行學(xué)院教研部講師。主要從事計算機教學(xué)科研工作。
趙 勇 男,海軍飛行學(xué)院教研部講師。主要研究方向信息系統(tǒng)、無線Ad Hoc網(wǎng)絡(luò)。