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

?

基于.NET的Web應(yīng)用體系架構(gòu)研究

2011-10-11 06:23:20何首武
大眾科技 2011年2期
關(guān)鍵詞:網(wǎng)關(guān)博客架構(gòu)

何首武

(桂林理工大學(xué)高等職業(yè)技術(shù)學(xué)院,廣西 南寧 530001)

基于.NET的Web應(yīng)用體系架構(gòu)研究

何首武

(桂林理工大學(xué)高等職業(yè)技術(shù)學(xué)院,廣西 南寧 530001)

文章通過(guò).NET平臺(tái)的手機(jī)博客系統(tǒng)的軟件設(shè)計(jì)與開(kāi)發(fā),探索一種基于.NET平臺(tái)的高效穩(wěn)定、安全可靠、具有良好的可移植性和跨平臺(tái)性的管理信息系統(tǒng)的開(kāi)發(fā)方法。系統(tǒng)采用基于.NET架構(gòu)的三層體系結(jié)構(gòu),設(shè)計(jì)中采用MVC設(shè)計(jì)模式實(shí)現(xiàn).NET應(yīng)用程序的三層體系結(jié)構(gòu),使得程序結(jié)構(gòu)清晰,各層職能明確,降低了程序的耦合性。

.NET體系結(jié)構(gòu);MVC模式;博客

(一)引言

.NET是微軟提供的一個(gè)標(biāo)準(zhǔn)的企業(yè)應(yīng)用開(kāi)發(fā)平臺(tái),它為我們開(kāi)發(fā)企業(yè) Web應(yīng)用提供了豐富的技術(shù)選擇。然而,一個(gè)高質(zhì)量的應(yīng)用還有賴于設(shè)計(jì)良好的體系架構(gòu)的支持。如何正確應(yīng)用.NET核心技術(shù)來(lái)設(shè)計(jì)和構(gòu)建一個(gè)穩(wěn)定的、具有伸縮性的、可重用的 Web應(yīng)用體系架構(gòu)是我們必須要解決的問(wèn)題。本文在這方面進(jìn)行探索,本文的主要內(nèi)容包括:1.介紹 NET的分布式應(yīng)用模型及MVC設(shè)計(jì)模式,討論了.NET在企業(yè)中的應(yīng)用。2.給出了博客系統(tǒng)的總體設(shè)計(jì)方案。主要從系統(tǒng)分析、系統(tǒng)建模、數(shù)據(jù)庫(kù)設(shè)計(jì)、環(huán)境設(shè)置等方面闡述了手機(jī)博客系統(tǒng)。3.介紹了手機(jī)博客系統(tǒng)的詳細(xì)設(shè)計(jì)過(guò)程所涉及的關(guān)鍵技術(shù)。主要從客戶層、業(yè)務(wù)層、持久層等方面闡述其實(shí)現(xiàn)原理。

(二)分布式應(yīng)用模型與MVC

.NET是基于分布式的多層應(yīng)用模型,在這種模型中,應(yīng)用邏輯按功能劃分為不同的組件,各個(gè)應(yīng)用組件根據(jù)他們所在的層分布在不同的機(jī)器上。一個(gè)多層化應(yīng)用能夠?yàn)槊糠N不同的服務(wù)提供一個(gè)獨(dú)立的層。1.運(yùn)行在客戶端機(jī)器上的客戶層(ClientTier)。2.Web層(WebTier)。3.業(yè)務(wù)邏輯層(BusinessTier)④數(shù)據(jù)訪問(wèn)層(DataaccessTier)。采用這種應(yīng)用模型可大大增強(qiáng)系統(tǒng)的可伸縮性、可維護(hù)性、和重用性。

圖1 MVC動(dòng)態(tài)協(xié)作關(guān)系

MVC模式是“Model-View-Controller”的縮寫(xiě),中文翻譯為“模型-視圖-控制器”。MVC應(yīng)用程序總是由這三個(gè)部分組成。Model、View、Controller這三者的動(dòng)態(tài)協(xié)作關(guān)系如圖1所示。從圖1中我們可以看到,Controller接收使用者的消息,要求Model處理應(yīng)用領(lǐng)域的資料;Model告訴View,讓View知道Model的內(nèi)容已更新,View接獲通知并進(jìn)行準(zhǔn)備工作,就緒了才要求Model送來(lái)新內(nèi)容,顯示于視窗里。MVC目的是利用控制器來(lái)分離模型和視圖,達(dá)到一種層間松散耦合的效果,提高系統(tǒng)靈活性、復(fù)用性和可維護(hù)性。它確立了開(kāi)發(fā)人員與網(wǎng)頁(yè)設(shè)計(jì)者的角色分工,減輕了開(kāi)發(fā)人員的工作量,使得開(kāi)發(fā)人員不必考慮繁瑣的網(wǎng)頁(yè)設(shè)計(jì),而只專心于商業(yè)事務(wù)的開(kāi)發(fā)和后臺(tái)處理工作。網(wǎng)頁(yè)設(shè)計(jì)者也可以輕松的改變程序的外觀而不需要知道后臺(tái)的工作方式。

(三)系統(tǒng)分析

手機(jī)博客系統(tǒng)由兩個(gè)子系統(tǒng)構(gòu)成,分別為前臺(tái)博客子系統(tǒng)和后臺(tái)博客子系統(tǒng)。前臺(tái)子系統(tǒng)是面向普通用戶,管理用戶的注冊(cè)信息、博客信息、好友信息、評(píng)論信息等;后臺(tái)子系統(tǒng)是面向系統(tǒng)管理員,管理用戶資料信息和評(píng)論信息,能夠?qū)`反互聯(lián)網(wǎng)的某些內(nèi)容進(jìn)行刪除和屏蔽。

在圖2和圖3中給出手機(jī)博客系統(tǒng)客戶端和管理員端的功能用例圖,在圖中我們可以很清楚的看到參與者在本系統(tǒng)中的功能,從這些功能中還可以看出參與者相對(duì)應(yīng)的所有可以進(jìn)行操作的模塊。

圖2 手機(jī)博客系統(tǒng)管理功能用例

圖3 手機(jī)博客系統(tǒng)客戶功能用例

(四)數(shù)據(jù)庫(kù)的設(shè)計(jì)

數(shù)據(jù)庫(kù)設(shè)計(jì)是允許數(shù)據(jù)庫(kù)訪問(wèn)的應(yīng)用程序開(kāi)發(fā)的非常重要一部分,它將直接影響系統(tǒng)的長(zhǎng)期有效性和產(chǎn)品化程度。從最終用戶以及手機(jī)博客系統(tǒng)應(yīng)用程序設(shè)計(jì)的需要,確定了系統(tǒng)基本數(shù)據(jù)需求,圖4給出了系統(tǒng)的數(shù)據(jù)庫(kù)結(jié)構(gòu)。

圖4 系統(tǒng)數(shù)庫(kù)結(jié)構(gòu)

(五)系統(tǒng)環(huán)境配置

系統(tǒng)主要由兩大部分組成:WAP網(wǎng)絡(luò)架構(gòu)、.NET內(nèi)容服務(wù)器組成。

圖5 系統(tǒng)環(huán)境配置

1.WAP網(wǎng)絡(luò)架構(gòu)由兩部分組成,即WAP網(wǎng)關(guān)和WAP手機(jī),其中WAP網(wǎng)關(guān)起著協(xié)議的“翻譯”作用,是聯(lián)系GSM網(wǎng)與萬(wàn)維網(wǎng)(WWW)的橋梁;WAP內(nèi)容服務(wù)器存儲(chǔ)著大量的信息,以提供WAP手機(jī)用戶來(lái)訪問(wèn)、查詢、瀏覽等。圖5表明了WAP網(wǎng)絡(luò)的基本架構(gòu)。當(dāng)用戶從WAP手機(jī)鍵入他要訪問(wèn)的WAP內(nèi)容服務(wù)器的URL后,信號(hào)經(jīng)過(guò)無(wú)線網(wǎng)絡(luò),以WAP協(xié)議方式發(fā)送請(qǐng)求至WAP網(wǎng)關(guān),然后經(jīng)過(guò)翻譯,再以HTTP協(xié)議方式與.NET內(nèi)容服務(wù)器交互,最后 WAP網(wǎng)關(guān)將返回的內(nèi)容壓縮、處理成BINARY流返回到客戶的WAP手機(jī)屏幕上。

2..NET內(nèi)容服務(wù)器是系統(tǒng)的核心,主要負(fù)責(zé)處理WAP端發(fā)送過(guò)來(lái)的Http請(qǐng)求以及返回請(qǐng)求應(yīng)答。其中控制器,接收網(wǎng)關(guān)發(fā)送來(lái)Http請(qǐng)求,通過(guò)分析請(qǐng)求服務(wù)和請(qǐng)求參數(shù),轉(zhuǎn)到相應(yīng)的業(yè)務(wù)處理程序。業(yè)務(wù)處理層與數(shù)據(jù)庫(kù)進(jìn)行通信,最后通過(guò)業(yè)務(wù)層返回到手機(jī)客戶端。

(六)關(guān)鍵技術(shù)實(shí)現(xiàn)

1.客戶層即手機(jī)終端,類似于計(jì)算機(jī)中的IE瀏覽器。這層的主要作用是解析用戶的回應(yīng)數(shù)據(jù)和發(fā)送用戶請(qǐng)求。客戶層主要應(yīng)用Brew技術(shù)來(lái)實(shí)現(xiàn)。

Brew即QUALCOMM推出的無(wú)線二進(jìn)制運(yùn)行環(huán)境,是專為無(wú)線設(shè)備設(shè)計(jì)開(kāi)放標(biāo)準(zhǔn)的瘦應(yīng)用環(huán)境。借助于BREW平臺(tái),許多無(wú)線應(yīng)用可以簡(jiǎn)易快捷地開(kāi)發(fā)。由于BREW平臺(tái)的通用性,軟件開(kāi)發(fā)商在BREW環(huán)境中一次寫(xiě)就的應(yīng)用程序,可以無(wú)需進(jìn)行任何改變,即可適用所有支持BREW的各種檔次終端中。

2.業(yè)務(wù)邏輯層是系統(tǒng)架構(gòu)中體現(xiàn)核心價(jià)值的部分。它的關(guān)注點(diǎn)主要集中在業(yè)務(wù)規(guī)則的制定、業(yè)務(wù)流程的實(shí)現(xiàn)等與業(yè)務(wù)需求有關(guān)的系統(tǒng)設(shè)計(jì),也即是說(shuō)它是與系統(tǒng)所應(yīng)對(duì)的領(lǐng)域邏輯有關(guān),很多時(shí)候,我們也將業(yè)務(wù)邏輯層稱為領(lǐng)域?qū)?。圖6為業(yè)務(wù)層繼承關(guān)系中的一個(gè)實(shí)例,由 2個(gè)接口構(gòu)成和一個(gè)接口實(shí)現(xiàn)類構(gòu)成,類實(shí)現(xiàn)了接口中定義的所有抽象方法。

圖6 業(yè)務(wù)層繼承關(guān)系

3.持久層里僅僅允許數(shù)據(jù)存取操作。持久層和 Web層邏輯分開(kāi),避免了像Web層組件里的邏輯和數(shù)據(jù)存取直接混合。通過(guò)把持久層邏輯隔離出來(lái),這樣應(yīng)用程序變得易于修改而又不影響在其它層的代碼。NHibernate框架為.NET提供了“對(duì)象——關(guān)系持久化”機(jī)制和查詢服務(wù)。NHibernate持久對(duì)象是基于簡(jiǎn)單舊式對(duì)象和集合。查詢相關(guān)的信息成為對(duì)象。NHibernate 從數(shù)據(jù)庫(kù)底層來(lái)持久化你的.Net 對(duì)象到關(guān)系型數(shù)據(jù)庫(kù)。NHibernate 為你處理這些,無(wú)須SQL去從數(shù)據(jù)庫(kù)存取對(duì)象。NHibernat 自動(dòng)產(chǎn)生 SQL語(yǔ)句,并確保對(duì)象提交到正確的表和字段中去。

(七)總結(jié)

本文分析了手機(jī)博客系統(tǒng)需求和功能,給出了系統(tǒng)模型和總體設(shè)計(jì)方案,實(shí)現(xiàn)了一個(gè)采用 B/S多層體系結(jié)構(gòu)、基于MVC模式的.NET應(yīng)用的系統(tǒng)。該系統(tǒng)符合MVC設(shè)計(jì)模式和分層結(jié)構(gòu),大大降低了 Web應(yīng)用系統(tǒng)結(jié)構(gòu)的復(fù)雜程度和代碼之間的耦合度,增強(qiáng)了代碼的易維護(hù)性與可重用性。在實(shí)際應(yīng)用中,該系統(tǒng)達(dá)到了良好的預(yù)期效果。

[1] 劉宜軒.ASP.NET環(huán)境下的網(wǎng)上審批流程的設(shè)計(jì)及實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(3):535-528.

[2] 劉鈺紅.基于.net三層架構(gòu)技術(shù)的在線稿件管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].南昌大學(xué)學(xué)報(bào):理科版,2008,32(6):556-559.

[3] 馬燕.基于.NET的四層結(jié)構(gòu)研究及其應(yīng)用[J].微電子學(xué)與計(jì)算機(jī),2008,32(11):188-190

[4] 劉成棟.ASP.NET技術(shù)在燕山水庫(kù)智能監(jiān)測(cè)系統(tǒng)開(kāi)發(fā)中的應(yīng)用[J].水電能源科學(xué),2009,32(6):120-123.

[5] 孟玉環(huán).基于ASP.NET2.0天津農(nóng)學(xué)院青年科技基金項(xiàng)目申報(bào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].廣東農(nóng)業(yè)科學(xué),2009,12:210-211.

【文章編號(hào)】1008-1151(2011)02-0060-02

2010-12-12

何首武(1979-),男,山西河曲人,桂林工學(xué)院高等職業(yè)技術(shù)學(xué)院講師,碩士,研究方向?yàn)檐浖こ?,?shù)據(jù)庫(kù)網(wǎng)絡(luò)。

猜你喜歡
網(wǎng)關(guān)博客架構(gòu)
基于FPGA的RNN硬件加速架構(gòu)
功能架構(gòu)在電子電氣架構(gòu)開(kāi)發(fā)中的應(yīng)用和實(shí)踐
基于改進(jìn)RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計(jì)
LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實(shí)現(xiàn)
博客天下
博客天下(2015年2期)2015-09-15 14:12:57
LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
應(yīng)對(duì)氣候變化需要打通“網(wǎng)關(guān)”
一種基于FPGA+ARM架構(gòu)的μPMU實(shí)現(xiàn)
一種實(shí)時(shí)高效的伺服控制網(wǎng)關(guān)設(shè)計(jì)
博客相冊(cè)
博客天下(2009年12期)2009-08-21 07:35:10
柘城县| 广饶县| 巴彦县| 抚顺市| 宕昌县| 宜城市| 长汀县| 德令哈市| 阳江市| 轮台县| 定州市| 通辽市| 抚州市| 通城县| 枣庄市| 伊川县| 汝南县| 唐河县| 金门县| 葫芦岛市| 汾阳市| 丁青县| 潢川县| 交城县| 汉源县| 永泰县| 疏勒县| 渝中区| 桐乡市| 年辖:市辖区| 获嘉县| 河东区| 遂川县| 雷山县| 房产| 新余市| 恩平市| 开平市| 南康市| 石林| 比如县|