国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

MVC模式在高校網(wǎng)站CMS系統(tǒng)中的應(yīng)用研究

2016-12-23 05:35:53郭欣徐芳
微型電腦應(yīng)用 2016年9期
關(guān)鍵詞:文件夾視圖頁面

郭欣,徐芳

MVC模式在高校網(wǎng)站CMS系統(tǒng)中的應(yīng)用研究

郭欣,徐芳

對于高校而言,網(wǎng)站是宣傳學(xué)校文化背景以及教育水平的重要途徑之一。通過學(xué)校網(wǎng)站可以讓師生更好、更快地了解學(xué)校的最新動態(tài)和發(fā)展情況。傳統(tǒng)的網(wǎng)站建設(shè)具有一些局限性,例如:語言的純解釋性執(zhí)行、服務(wù)器端腳本與前端腳本混在一起從而不利于后期的系統(tǒng)維護(hù)、安全性不強(qiáng)等,從而使得所開發(fā)的網(wǎng)站性能不高、安全性不強(qiáng)、網(wǎng)站可擴(kuò)展性不足。針對這些特點(diǎn),研究如何在新技術(shù)的幫助下建立學(xué)校的網(wǎng)站,從而幫助學(xué)校更好的對外宣傳。在研究MVC模式的基礎(chǔ)上,構(gòu)建了一個高校網(wǎng)站CMS系統(tǒng),該系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法具有普遍意義,對其他高校的網(wǎng)站設(shè)計(jì)與開發(fā)具有一定的借鑒作用。

MVC模式;CMS;網(wǎng)站系統(tǒng)

0 引言

隨著網(wǎng)絡(luò)通訊以及WEB2.0的快速發(fā)展,網(wǎng)站作為一種宣傳途徑,其表現(xiàn)形式和技術(shù)不斷的在更新提高。但是,傳統(tǒng)的開發(fā)模式存在語言的純解釋性執(zhí)行、服務(wù)器端腳本與前端腳本混在一起從而不利于后期的系統(tǒng)維護(hù)、安全性不強(qiáng)等缺點(diǎn),從而使得應(yīng)用傳統(tǒng)模式開發(fā)的網(wǎng)站性能不高、安全性不強(qiáng)、網(wǎng)站可擴(kuò)展性不足。MVC的出現(xiàn)使得Web開發(fā)結(jié)構(gòu)清晰,條理清楚,框架層次分明,并且易擴(kuò)展與維護(hù)。對于學(xué)校而言,因?yàn)闋可娴降牟块T、學(xué)院、處室比較多,所以網(wǎng)站良好的擴(kuò)展性和可維護(hù)性是至關(guān)重要的,所以選擇MVC模式作為學(xué)校網(wǎng)站建設(shè)的模式是再合適不過了。CMS作為一種常用的網(wǎng)站內(nèi)容管理系統(tǒng),在網(wǎng)站后期維護(hù)中起到舉足輕重的作用,它提供給各個部門以及處室一個統(tǒng)一的維護(hù)平臺,使得學(xué)校的對外宣傳內(nèi)容具有連貫性和流通性,使消息的更新更加及時和準(zhǔn)確。本文圍繞“如何利用MVC模式構(gòu)建學(xué)校網(wǎng)站CMS系統(tǒng)”這一問題展開研究。

1 CMS簡介

CMS是Content Management System的縮寫,中文譯為“內(nèi)容管理系統(tǒng)”。CMS從2000年開始成為一個重要的應(yīng)用領(lǐng)域,從商業(yè)門戶網(wǎng)站的新聞系統(tǒng)到個人的博客都可以使用CMS實(shí)現(xiàn)[1]。在國外,CMS已經(jīng)得到了良好的發(fā)展,尤其是在較大規(guī)模的公司中,已經(jīng)通過應(yīng)用體現(xiàn)了其價值和優(yōu)勢,如Microsoft、Interwoven、Documentum等公司已經(jīng)開發(fā)出功能強(qiáng)大的 CMS,并且占據(jù)了大量的市場份額。在國內(nèi),也出現(xiàn)了很多的CMS,如asp版的動易的CMS,php版的PHPCMS等,它們相互競爭,在技術(shù)、服務(wù)上不斷的更新和提高[2]。

CMS的設(shè)計(jì)思想是將網(wǎng)站的數(shù)據(jù)內(nèi)容與其顯示相分離,從而解決網(wǎng)站功能擴(kuò)展困難、內(nèi)容更新不及時、維護(hù)成本高等難題。CMS的具體設(shè)計(jì)思路:頁面設(shè)計(jì)存儲在模板里,內(nèi)容數(shù)據(jù)存儲在數(shù)據(jù)庫或獨(dú)立的文件中。當(dāng)用戶向頁面發(fā)出訪問請求時,各部分聯(lián)合生成一個標(biāo)準(zhǔn)的HTML頁面,響應(yīng)用戶的請求。CMS各部分的基本分工和實(shí)現(xiàn)流程如圖 1所示[3]:

圖1 CMS分工和實(shí)現(xiàn)流程

由上圖可見CMS是一種位于Web前端(Web服務(wù)器)和后端網(wǎng)站系統(tǒng)或流程(內(nèi)容創(chuàng)作、編輯)之間的軟件系統(tǒng),提供直接的接口給管理人員和業(yè)務(wù)人員。內(nèi)容的創(chuàng)作人員、編輯人員、發(fā)布人員使用CMS接口非常容易提交、修改、審批、發(fā)布內(nèi)容,從而加快了內(nèi)容的更新,提高了準(zhǔn)確率,降低了信息獲取的開銷。

2 MVC模式介紹

MVC是(Model-View-Controller)的簡稱,即模型-視圖-控制器。MVC是Xerox公司在20世紀(jì)80年代為編程語言Smalltalk-80發(fā)明的一種軟件設(shè)計(jì)模式,目的是實(shí)現(xiàn)程序中的數(shù)據(jù)模型和用戶界面程序代碼分離,最近幾年被推薦為Sun公司J2EE平臺的設(shè)計(jì)模式,并且越來越受到開發(fā)者的歡迎[4],主要有3三部分組成:

模型(Model)是一組類,用于說明正在處理的數(shù)據(jù)以及如何操作這些數(shù)據(jù)的業(yè)務(wù)規(guī)則,基本上是用來和數(shù)據(jù)庫進(jìn)行交互的。類似Entity Framework、LINQ to SQL這些工具的作用。

視圖(View)是應(yīng)用程序的界面,用來處理數(shù)據(jù)的頁面顯示樣式。

控制器(Controller)是一組類,用于處理來自用戶、整個應(yīng)用程序流以及特定應(yīng)用程序邏輯的通信。是用戶界面和數(shù)據(jù)庫進(jìn)行交互的媒介。

MVC中的每個視圖都是通過控制器去渲染的,控制器會向視圖提供所需要的渲染數(shù)據(jù),并通過視圖展示出來,視圖和控制器通過Views文件夾下面對應(yīng)的controller名字的文件夾來進(jìn)行關(guān)聯(lián)。視圖展示模型中的數(shù)據(jù)有兩種方法,一種方式是通過 ViewBag屬性把模型實(shí)例添加到視圖的數(shù)據(jù)字典中,然后在視圖中顯示他們。另一種方式是通過控制器中的return View()方法,向該方法傳遞模型實(shí)例,這樣模型實(shí)例會賦給 ViewData.Model屬性,接著在視圖頁面引用該模型實(shí)例的類型,這樣就可以在視圖頁面使用智能感應(yīng)提示來調(diào)用該模型實(shí)例的各個字段,也就是強(qiáng)類型視圖。關(guān)于這三者之間的關(guān)系和各自的主要功能,如圖2所示[5];

圖2 MVC組件類型的關(guān)系和功能

3 基于MVC模式的網(wǎng)站CMS系統(tǒng)基礎(chǔ)架構(gòu)設(shè)計(jì)

高校網(wǎng)站CMS系統(tǒng)在設(shè)計(jì)時面臨以下問題:

(1)如何設(shè)計(jì)高度靈活的數(shù)據(jù)存儲和數(shù)據(jù)處理機(jī)制,以支持未知的、相互差別很大的用戶需求。

從根本上說,CMS的首要任務(wù)是分離數(shù)據(jù)的管理和數(shù)據(jù)的展示。對數(shù)據(jù)的管理而言,雖然總體上學(xué)校的各個院系、部門網(wǎng)站對數(shù)據(jù)存儲和數(shù)據(jù)處理的需求都很類似,但各院系、部門仍有一定的特殊需求。

(2)設(shè)計(jì)合理的模板解析引擎、提供方便的數(shù)據(jù)獲取接口。

在數(shù)據(jù)的展示方面,各院系、部門對網(wǎng)站外觀的要求千差萬別,不可能構(gòu)建一個能內(nèi)置任何前端界面要求的 CMS系統(tǒng)。普遍的思路是基于模板技術(shù),由用戶使用模板設(shè)計(jì)語言根據(jù)自己的需求設(shè)計(jì)制作頁面展示模板,由CMS提取填充頁面內(nèi)容所需的數(shù)據(jù),將模板解析為網(wǎng)站前端頁面,將數(shù)據(jù)填充到前端頁面中,以形成最終的展示效果。

(3)還需要解決系統(tǒng)的易用性、權(quán)限配置和安全設(shè)置方面的要求。

由于各院系、部門普遍缺乏專業(yè)的信息管理人員,網(wǎng)站的管理工作通常由行政人員兼職負(fù)責(zé),因此對網(wǎng)站管理的易用性提出了較高的要求;由于網(wǎng)站管理人員相關(guān)知識技能水平參差不齊,因此對網(wǎng)站各種功能的權(quán)限控制要求也較為嚴(yán)格;由于各院系、部門不可能投資建立自己的服務(wù)器和機(jī)房,因此通常只能是學(xué)校分配虛擬主機(jī)部署網(wǎng)站;對網(wǎng)站的安全性要求也較高。

MVC模式的設(shè)計(jì)思想與內(nèi)容管理系統(tǒng) CMS(Content Management System)中內(nèi)容與形式分離的需求不謀而合,可以有效解決以上高校網(wǎng)站 CMS系統(tǒng)的設(shè)計(jì)難題。根據(jù)MVC模式可以把網(wǎng)站CMS系統(tǒng)的總體結(jié)構(gòu)在邏輯上分為3個部分:視圖View、模型Model和控制器Controller,其中視圖View代表呈現(xiàn)給用戶的界面,包括Web頁面、WAP界面、SOAP等等,用于界面顯示;模型Model代表業(yè)務(wù)數(shù)據(jù),及訪問和修改數(shù)據(jù)的相關(guān)規(guī)則,負(fù)責(zé)與數(shù)據(jù)源交互;控制器Controller位于視圖與模型之間并處理二者的消息映射和業(yè)務(wù)邏輯,負(fù)責(zé)接收用戶的HTTP請求,將用戶的輸入翻譯成數(shù)據(jù)請求并判斷該請求交給哪個模型來處理,然后選擇合適的用戶視圖來展示經(jīng)模型處理后的請求輸出[6]。具體架構(gòu)如圖3所示:

圖3 基于MVC模式的網(wǎng)站CMS系統(tǒng)基礎(chǔ)架

4 基于MVC模式的網(wǎng)站CMS系統(tǒng)實(shí)現(xiàn)

4.1 系統(tǒng)目錄規(guī)劃

建立一個名字為杉達(dá)(Sandau)CMS的web應(yīng)用程序,使用ASP.NET MVC3作為結(jié)構(gòu)框架。

網(wǎng)站大致分為這么幾個部分,首先應(yīng)用程序默認(rèn)建立了三個部分也就是 MVC的核心:Views文件夾,Controllers文件夾和Models文件夾。Views文件夾用來存放所有視圖文件,Controllers文件夾用來存放所有的控制器文件,Models文件夾用來存放所有的數(shù)據(jù)模型。除了以上三個文件夾外,視圖中所使用的所有CSS樣式文件全部放在Content文件夾中,所有的圖片則放在 Image文件夾中,所有的 javascript文件以及jquery庫都放在Scripts文件夾中。

4.2 模型對象的設(shè)計(jì)

1)News模型對象

采用EF作為模型對象到數(shù)據(jù)庫表的具體映射,在Model文件夾中創(chuàng)建News.cs的類文件并且設(shè)計(jì)所有News表相關(guān)屬性,包括:newsID、newsTitle、newsDate、newsPart、newsWords、newsCreateTime和 newsUpdateTime。通過該Model生成具體的 controller以及 EF的上下文對象NewsContext,通過該對象可以直接對數(shù)據(jù)庫進(jìn)行增、刪、改、查等操作。

2)Account模型對象

創(chuàng)建 AccountModels.cs的類文件用來映射用戶權(quán)限角色相關(guān)屬性。用戶操作可以分為3種方式,第一種就是登錄創(chuàng)建LogonModel登錄類文件:

其中,[Required]代表當(dāng)用戶沒有在該屬性上進(jìn)行任何輸入的時候?qū)⑻崾掘?yàn)證非空信息。[Display(Name="User name")]代表該屬性字段在視圖中渲染顯示的值為User name而非UserName屬性名。[DataType(DataType.Password)]代表該屬性字段在用戶輸入的時候?qū)⒉捎妹艽a輸入的常規(guī)方式不可見。該類文件具有3個屬性字段:UserName表示用戶姓名,Password表示用戶密碼,RememberMe表示是否記住密碼。

第二種就是修改密碼創(chuàng)建 ChangePasswordModel登錄類文件:

同樣的三個屬性字段都需要用戶進(jìn)行非空輸入,同時對于newpassword的輸入有最小長度的要求,而密碼匹配驗(yàn)證也是在屬性級別驗(yàn)證掉了,使用的System.Web.Mvc命名空間的Compare方法。

第三種就是注冊用戶RegisterModel類文件:

注冊類有 4個屬性字段 UserName、Password、ConfirmPassword以及Email。4個屬性字段都是必填項(xiàng),其中Email采用DateType.Email來驗(yàn)證。

4.3 控制器的設(shè)計(jì)

1)NewsController

NewsController中需要有所有 news的集中展示頁面,該方法需要返回一個db.News.toList()對象(db為NewsContext的實(shí)例化對象)。該方法使用int id作為參數(shù),并且使用 db.News.Find(id)方法來取得具體的某條新聞內(nèi)容,最后返回該News對象創(chuàng)建新聞的動作,使用news對象作為輸入?yún)?shù),該參數(shù)會把頁面中的所有表單中的相關(guān)字段都作為 news的屬性通過 httppost方法提交到數(shù)據(jù)庫。通過db.News.Add(news)以及db.SaveChanges()方法來實(shí)現(xiàn)創(chuàng)建新聞的業(yè)務(wù)邏輯、編輯具體某篇新聞的內(nèi)容。編輯某篇新聞時,首先需要通過get方法從服務(wù)器端獲取該新聞的所有相關(guān)字段,然后通過httppost把修改過的新的news對象遞交到服務(wù)器進(jìn)行數(shù)據(jù)的修改。執(zhí)行刪除操作的時候和編輯類似,首先也是需要使用get方法從服務(wù)器獲取數(shù)據(jù),用來給用戶確認(rèn)該新聞的具體信息,然后通過 db.News.Remove(news)以及db.SaveChanges()從數(shù)據(jù)庫中刪除該數(shù)據(jù)[7]。

2)AccountController

AccountController作為用戶帳戶控制器,調(diào)用membership中的許多方法進(jìn)行數(shù)據(jù)驗(yàn)證,如果要使用membership中的方法,則需要在web.config中進(jìn)行一定的修改和配置。

首先,需要在web.config中添加節(jié)點(diǎn),該節(jié)點(diǎn)的defaultprovider屬性表示所要使用提供程序的名稱,這里使用DefaultMembershipProvider作為該提供程序的名稱。在節(jié)點(diǎn)中添加一個節(jié)點(diǎn),該節(jié)點(diǎn)中的節(jié)點(diǎn)具有許多屬性,鑒于篇幅這里不再一一列出。

然后,使用到以下方法:

LogOn()方法實(shí)現(xiàn)用戶的登錄業(yè)務(wù)邏輯處理,該方法需要重載,以滿足httpGet和httpPost的請求,用戶點(diǎn)擊登錄,首先通過[HttpGet]LogOn()來加載表單以讓用戶進(jìn)行用戶名和密碼的輸入,用戶輸入完成點(diǎn)擊提交則調(diào)用[HttpPost]LogOn()方法用來提交表達(dá)進(jìn)行驗(yàn)證,所以[HttpGet]LogOn()方法只是返回一個 View(),具體的業(yè)務(wù)邏輯的處理是放在[HttpPost]LogOn()中的。然后對輸入框進(jìn)行輸入的驗(yàn)證使用ModelState的isvalid屬性,如果返回true則驗(yàn)證成功,之后匹配用戶輸入的用戶名和密碼,則使用Membership.ValidateUser[8]。

LogOff()方法用來實(shí)現(xiàn)用戶的注銷業(yè)務(wù)邏輯,該方法直接調(diào)用 FormsAuthentication.SignOut()方法,并通過 return RedirectToAction ("Index","Home")重定向到首頁。

Register()方法使用RegisterModel對象作為傳入?yún)?shù)接受用戶的表達(dá)輸入,并且需要兩個重載,分別對應(yīng)用戶的get和post請求,get請求中并沒有實(shí)質(zhì)性的內(nèi)容,只是用來渲染注冊視圖給用戶進(jìn)行表單的輸入,post請求中同樣首先進(jìn)行模型的輸入驗(yàn)證。

ChangePassword()方法需要提供兩個參數(shù),舊密碼和新密碼,如果修改成功返回true,并且跳轉(zhuǎn)到ChangePassword Success視圖。這里牽涉到使用Membership.GetUser()方法獲取用戶的信息,使用User. Identity.Name作為第一個參數(shù),第二個參數(shù)是用來確定該用戶是否在線,這里使用true代表該用戶在線。

這里還重寫了系統(tǒng)默認(rèn)的Dispose方法,該方法是用來釋放相關(guān)資源的。使用以下代碼:

db.Dispose()的意思就是釋放db對象的所有資源,這里就是指EF框架生成類NewsContext和數(shù)據(jù)庫交互的所有資源。

每次調(diào)用完controller中的動作之后,都會自動執(zhí)行該動作,用來釋放資源。

至此所有的 AccountController的業(yè)務(wù)邏輯已經(jīng)全部完成,接下來就是視圖的設(shè)計(jì)。

4.4 視圖的設(shè)計(jì)

1)Shared文件夾視圖

該文件夾主要用來存放所有的視圖共享文件,其中就包括了登錄模塊視圖_LogOnPartial.cshtml以及帳戶權(quán)限登錄的所有視圖的母版視圖_Layout.cshtml。

2)Account文件夾視圖

根據(jù) AccountController中的動作設(shè)計(jì),創(chuàng)建相關(guān)的LogOn.cshtml、Register.cshtml、ChangePassword.cshtml和ChangePasswordSuccess.cshtml四個視圖文件。

LogOn.cshtml視圖文件使用_Layout.cshtml作為母版頁,并且使用@model SandauCMS.Models.LogOnModel調(diào)用LogOnModel數(shù)據(jù)模型對象,這樣在視圖中就可以使用LogOnModel強(qiáng)類型對象了,并且針對該對象屬性會有自動提示,該視圖引用了兩個 js文件:jquery.validate.min.js、jquery.validate.unobtrusive.min.js,這兩個文件主要是用來實(shí)現(xiàn)ajax相關(guān)驗(yàn)證的。之后使用@using(Html.BeginForm())來形成form表單,再使用@Html.LabelFor()強(qiáng)類型html輔助方法顯示UserName的Label表單,@Html.TextBoxFor()強(qiáng)類型html輔助方法顯示UserName的輸入TextBox表單,使用@Html. ValidationMessageFor()強(qiáng)類型html輔助方法顯示UserName表達(dá)輸入錯誤驗(yàn)證信息。同樣的 Password和RememberMe的相關(guān)表單也通過強(qiáng)類型的html輔助方法實(shí)現(xiàn),不同的是 RememberMe字段需要使用一個@Html. CheckBoxFor來生成checkbox表單,用來生成用戶的Cookie,避免重復(fù)輸入登錄驗(yàn)證。使用來提交表單數(shù)據(jù)到服務(wù)器進(jìn)行登錄驗(yàn)證。

Register.cshtml視圖文件、ChangePassword.cshtml視圖文 件 、 ChangePasswordSuccess.cshtml視 圖 文 件 和LogOn.cshtml視圖文件的內(nèi)容類似。

3)News文件夾視圖

該文件夾視圖主要是用來新聞后臺維護(hù)的,總共有5個視圖文件:分別為Index.cshtml、Create.cshtml、Delete.cshtml、Edit.cshtml和Detail.cshtml。Index.cshtml對應(yīng)所有新聞的新聞列表,包括創(chuàng)建新聞以及某條新聞的修改和查看詳細(xì)內(nèi)容、刪除功能。Create.cshtml對應(yīng)創(chuàng)建新聞頁面。Delete.cshtml對應(yīng)刪除新聞頁面。Edit.cshtml對應(yīng)修改新聞頁面。Detail.cshtml對應(yīng)詳細(xì)顯示某條新聞的內(nèi)容。

4)Sandau文件夾視圖

該文件夾視圖主要是用來顯示前臺頁面的,包括以下幾個視圖:SandauNews_LayoutPage.cshtml(該視圖文件是作為新聞列表頁面,以及詳細(xì)內(nèi)容頁面的母版視圖)、Default.cshtml學(xué)校首頁視圖文件、NewsList.cshtml新聞列表頁面和NewsDetail.cshtml詳細(xì)新聞內(nèi)容頁面。

5 系統(tǒng)使用情況

該系統(tǒng)主要由部門及學(xué)院信息管理人員使用,正在使用的行政部門有17個,學(xué)院有12個,還有若干專題網(wǎng)站由信息辦進(jìn)行統(tǒng)一編輯管理。同時為了系統(tǒng)的安全,考慮到教職工身份驗(yàn)證的安全性,采用從信息門戶單點(diǎn)登錄的方式進(jìn)行訪問,通過設(shè)置不同賬號角色實(shí)現(xiàn)不同權(quán)限。

為了更進(jìn)一步方便大家的使用,我們進(jìn)行了相關(guān)系統(tǒng)操作培訓(xùn)。投入使用一年后,用戶反饋情況如下:用戶體驗(yàn)方面,信息發(fā)布及管理便捷、用戶界面友好,比如從信息的起草、審核、發(fā)布到整個網(wǎng)站的創(chuàng)建,只要利用系統(tǒng)配置工具便可輕松配得,而無需編寫任何代碼;在系統(tǒng)運(yùn)行方面,由于采用了JAVA技術(shù),一次編譯后,其后訪問效率極高;平臺還支持圖文一體的仿Word的在線編輯功能,使得用戶的編輯選擇有了很大的靈活性,用戶可以通過像使用Word一樣使用此功能,從而也縮短了用戶的學(xué)習(xí)時間。該系統(tǒng)整體得到了使用人員較好的反饋。

6 總結(jié)

本文在研究MVC模式的基礎(chǔ)上,構(gòu)建了一個高校網(wǎng)站CMS系統(tǒng),學(xué)校各個部門通過該CMS可以方便地進(jìn)行新聞內(nèi)容的發(fā)布和更新,結(jié)合MVC模式將數(shù)據(jù)庫、web應(yīng)用服務(wù)器的制作與發(fā)布進(jìn)行分離,提高了訪問速度,增加了系統(tǒng)安全性,系統(tǒng)后期的擴(kuò)展性更加良好,便于進(jìn)行二次開發(fā),可以滿足使用人員的不同需求。該系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法具有普遍意義,對其他高校的網(wǎng)站設(shè)計(jì)與開發(fā)具有一定的借鑒作用。但是該CMS只是實(shí)現(xiàn)了主要功能,有些功能還有待改進(jìn),其應(yīng)用范圍也有待于進(jìn)一步擴(kuò)大,我們還需要做大量的后期實(shí)踐、完善、維護(hù)工作。

[1] 朱欣.基于模板技術(shù)的 CMS在高校信息化建設(shè)中的應(yīng)用[J]. 軟件導(dǎo)刊,2015,5:21-23.

[2] 廖旺勝,范冰冰.基于 CMS的屬性自定義方案的設(shè)計(jì)與應(yīng)用[J].計(jì)算機(jī)與現(xiàn)代化,2013(8):140-143.

[3] 張衛(wèi)云.基于 Web的內(nèi)容管理系統(tǒng)的研究與開發(fā)[D].華北電力大學(xué)碩士研究生論文,2004,1-3.

[4] 飛思科技產(chǎn)品研發(fā)中心編著.JSP 應(yīng)用開發(fā)詳解(第二版)[M].北京:電子工業(yè)出版社,2004:120-122.

[5] 黃偉.基于MVC架構(gòu)的Web應(yīng)用系統(tǒng)設(shè)計(jì)[J].微型計(jì)算機(jī)與應(yīng)用,2004,13-15.

[6] 韋加強(qiáng),潘蔭榮.基于J2EE平臺和MVC模型的電子政務(wù)系統(tǒng)的設(shè)計(jì)[J].微型電腦應(yīng)用,2006,6:34-35.

[7] 徐雯,高建華.基于Spring MVC及MyBatis的Web應(yīng)用框架研究[J].微型電腦應(yīng)用,2012,7:1-4.

[8] Chu HC Chen MY Chen YM.A semantic-based approachto content abstraction and annotation for content management[J].Expert Systems with Applications,2009,36:2.

圖1 基于NoSQL的空管異構(gòu)數(shù)據(jù)集成模式

在圖1中共分為4層,從下到上依次為數(shù)據(jù)源層、數(shù)據(jù)庫層、服務(wù)層和應(yīng)用展示層。

數(shù)據(jù)源層為現(xiàn)有機(jī)場各個信息系統(tǒng)數(shù)據(jù)庫,這里存放著大量的通信數(shù)據(jù)、雷達(dá)數(shù)據(jù)、氣象數(shù)據(jù)、導(dǎo)航數(shù)據(jù)、旅客出行數(shù)據(jù)等海量異構(gòu)的數(shù)據(jù)。這是進(jìn)行異構(gòu)數(shù)據(jù)集成的基礎(chǔ)。

通過對各個異構(gòu)數(shù)據(jù)源數(shù)據(jù)的抽取,把各個數(shù)據(jù)源的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,對數(shù)據(jù)進(jìn)行清洗,丟棄哪些臟數(shù)據(jù),并對異構(gòu)數(shù)據(jù)進(jìn)行提取,加工,轉(zhuǎn)換成某種特定的格式,并存儲到NoSQL數(shù)據(jù)庫中(如:Hbase、MonogoDB、Redis)。由于NoSQL具有較強(qiáng)很強(qiáng)的橫向擴(kuò)展的能力,并能夠在分布式架構(gòu)條件下達(dá)到很好的性能,所以隨著接入數(shù)據(jù)的增多,只需要在集群中加入新的節(jié)點(diǎn)即可完成集群的擴(kuò)容。

服務(wù)層是在數(shù)據(jù)庫層的基礎(chǔ)上,為了滿足用戶的需求對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行查詢、組合、統(tǒng)計(jì)甚至是分析等操作,組裝成特定的數(shù)據(jù)結(jié)構(gòu)返回給應(yīng)用展示界面,對用戶的特征分析、屬性提取、用戶分類等數(shù)據(jù)挖掘操作基本都是在這一層進(jìn)行完成,在實(shí)現(xiàn)各類算法和業(yè)務(wù)邏輯的基礎(chǔ)上對外提供REST接口,方便各個系統(tǒng)的調(diào)用。

應(yīng)用展示層也就是與用戶進(jìn)行交互的界面,界面接收用戶的請求,根據(jù)不同的系統(tǒng)和請求,調(diào)用不同的服務(wù)層接口,接收服務(wù)層返回的數(shù)據(jù),進(jìn)行圖形化界面展示,增強(qiáng)用戶的體驗(yàn)。

當(dāng)有新的數(shù)據(jù)源和業(yè)務(wù)需求增加時,只需要在數(shù)據(jù)源層接入新的數(shù)據(jù)源,把數(shù)據(jù)存放在NoSQL數(shù)據(jù)庫中,在服務(wù)層增加其相應(yīng)的服務(wù)接口,然后應(yīng)用界面只需要增加相應(yīng)的界面展示即可,無需修改原有的數(shù)據(jù)庫結(jié)構(gòu)甚至是服務(wù)層的業(yè)務(wù)邏輯,能夠?qū)崿F(xiàn)系統(tǒng)橫向擴(kuò)展。

3 總結(jié)

基于NoSQL的空管異構(gòu)數(shù)據(jù)集成方案具有高可擴(kuò)展性、高可用性等特點(diǎn),有助于在海量空管數(shù)據(jù)環(huán)境下,對數(shù)據(jù)的處理和分析。NoSQL在空管異構(gòu)數(shù)據(jù)中的應(yīng)用可以是以往的機(jī)場服務(wù)走向利用海量的空管數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘、知識發(fā)現(xiàn)、預(yù)測服務(wù)等方向發(fā)展。

參考文獻(xiàn)

[1] Rifkin J.The third industrial revolution: how lateral poewr Is transforming energy, The Economy, and the world[M].New York: Palgrave Macmillan, 2012.

[2] Nature.Big Data[EB/OL].[2014-08-26].http://www.nature .com/news/specials/bigdata/ index.html.

[3] Big data: the next frontier for innovation,competition,and productivity[R/OL].[2014-08-26].http://mckinsey.com/ Isight/MGI/Research/Technology_and_Innovation/Big_da ta_the_next_frontier_for_innovation.

[4] The White House. Big data across the federal govenment[R/OL].[2014-08-26].http://www.whitehouse.gov/site s/default/files/microsites/ostp/big_data_fact_innovation.

[5] Barwick H. The "Four Vs" of big data. implementing information Infrastructure Symposium [EB/OL].[2014-08-26].http://www.computerworld.com.au/article/396198/iiis _four_va_big_data/.

[6] 朱小棟,樊重俊,楊堅(jiān)爭.面向機(jī)場場區(qū)管理的數(shù)據(jù)挖掘系統(tǒng)[J].計(jì)算機(jī)工程,2012, 38(3):224-227.

(收稿日期:2016.03.14)

Research on Application of MVC Model in CMS System of Universities

Guo Xin, Xu Fang
(College of Information Science and Technology, Sanda University, Shanghai 201209, China)

In colleges and universities, the website is one of the important ways to promote the cultural background and educational level of the school. Through the schools’ website, students can get the latest trends and development of the school better and faster. Traditional website construction has some limitations. For example, pure interpretation uses ouly languages, the server side script is mixed with the front end script which are unfavorable to the system maintenance, the security is not strong, and so on. So the development of the website performance is not high, the website can’t be extended. According to these characteristics, this paper mainly studies how to establish the website of the school with the help of the new technology, so as to help the school to promote the foreign propaganda. Based on the research of MVC model and CMS, a university website CMS system is constructed, The design and implementation method of the system are of general significance, and it can be used for reference on a other university's website design and development.

MVC Model; CMS; Website System

G 642

A

1007-757X(2016)09-0055-05

2016.05.07)

郭 欣(1982-),女,上海杉達(dá)學(xué)院,信息科學(xué)與技術(shù)學(xué)院,講師,碩士,研究方向:計(jì)算機(jī)應(yīng)用、web應(yīng)用開發(fā)、云計(jì)算,上海 201209徐 芳(1991-),女,上海杉達(dá)學(xué)院,信息化辦公室,助理工程師,本科,研究方向:計(jì)算機(jī)應(yīng)用、web應(yīng)用開發(fā),上海 201209

猜你喜歡
文件夾視圖頁面
磁力文件夾
刷新生活的頁面
5.3 視圖與投影
視圖
調(diào)動右鍵 解決文件夾管理三大難題
Y—20重型運(yùn)輸機(jī)多視圖
SA2型76毫米車載高炮多視圖
TC一鍵直達(dá)常用文件夾
電腦迷(2015年1期)2015-04-29 21:24:13
同一Word文檔 縱橫頁面并存
淺析ASP.NET頁面導(dǎo)航技術(shù)
合阳县| 铁力市| 夏津县| 辉县市| 莎车县| 桂东县| 富民县| 辽源市| 西安市| 永吉县| 通河县| 卢氏县| 湖南省| 施甸县| 贵定县| 万盛区| 怀集县| 星子县| 鹰潭市| 鄂托克前旗| 仙桃市| 文成县| 昌都县| 开封市| 科技| 文山县| 邳州市| 隆安县| 林甸县| 江北区| 鲜城| 高安市| 交城县| 象州县| 张北县| 望奎县| 桂东县| 乡城县| 安乡县| 上饶县| 沁水县|