一種支持動態(tài)網(wǎng)站生成的模型與系統(tǒng)_第1頁
一種支持動態(tài)網(wǎng)站生成的模型與系統(tǒng)_第2頁
一種支持動態(tài)網(wǎng)站生成的模型與系統(tǒng)_第3頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

一種支持動態(tài)網(wǎng)站生成的模型與系統(tǒng)

論文關(guān)鍵詞:Web動態(tài)網(wǎng)站快速開發(fā)論文摘要:首先對互聯(lián)網(wǎng)上帶有后臺數(shù)據(jù)庫的動態(tài)網(wǎng)站進(jìn)行考察,發(fā)現(xiàn)占有相當(dāng)比例的動態(tài)網(wǎng)站結(jié)構(gòu)具有共同性,從而提出了一種對此類動態(tài)網(wǎng)站按照功能模塊進(jìn)行縱向劃分的結(jié)構(gòu)體系,以及與之相應(yīng)的功能組裝式的開發(fā)方式,并實(shí)現(xiàn)了一個有效、簡單的系統(tǒng),使一般不懂?dāng)?shù)據(jù)庫的用戶也能夠開發(fā)帶有后臺數(shù)據(jù)庫的動態(tài)網(wǎng)站。1引言及對現(xiàn)狀的分析隨著互聯(lián)網(wǎng)的發(fā)展,帶有后臺數(shù)據(jù)庫的動態(tài)網(wǎng)站日益增多。然而對于動態(tài)網(wǎng)站的開發(fā),一般都采用橫向的三層(或多層)結(jié)構(gòu)劃分方法,開發(fā)中存在一些明顯的問題,最主要的有如下四項(xiàng):①即使開發(fā)一個簡單的系統(tǒng),也需要專業(yè)開發(fā)人員;②需要搭建復(fù)雜的運(yùn)行平臺;③開發(fā)效率不高,開發(fā)周期長;④最終產(chǎn)品中包含的錯誤較多。為了解決如上的問題,我們對當(dāng)前網(wǎng)上的動態(tài)網(wǎng)站進(jìn)行了考察,試圖發(fā)現(xiàn)其共同點(diǎn)筆者從北京大學(xué)主頁出發(fā),采用手工跟蹤鏈接的方法,對與我們?nèi)粘I睢⒐ぷ麝P(guān)系最為密切的一百余個動態(tài)網(wǎng)站進(jìn)行手工分析和分類,發(fā)現(xiàn)動態(tài)站點(diǎn)主要的分類和大致比例如表l所示下面對表1中各項(xiàng)作一簡要說明。論壇和BBS較為相似,結(jié)構(gòu)復(fù)雜、功能強(qiáng)大,但通常功能相對成熟而固定,己經(jīng)有非常完善的解決方案(如Firehird軟件),因此不是我們考慮的重點(diǎn)調(diào)查問卷、文章評論、身份驗(yàn)證、新聞列表、報名表、地址簿這六項(xiàng)應(yīng)用中,每一項(xiàng)應(yīng)用所占的比例都不高,但其總和占到了全部應(yīng)用的近三分之一,應(yīng)該說比例很高,再加上留言板,比例已經(jīng)超過半數(shù)。這幾類應(yīng)用雖然結(jié)構(gòu)都很簡單、但功能各異,因此目前還沒有很好的解決方案,通常都是手工開發(fā),存在下述提到的四個問題,正是我們考慮的重點(diǎn)。對于動態(tài)網(wǎng)站,其關(guān)鍵在于后臺中的數(shù)據(jù)庫操作,因此我們對如上應(yīng)用的后臺數(shù)據(jù)庫操作進(jìn)行分析,發(fā)現(xiàn)我們重點(diǎn)考慮的六類不同的應(yīng)用,其內(nèi)部的數(shù)據(jù)庫操作主要都是如下幾類:增加記錄、瀏覽記錄、刪除記錄、查詢記錄、記錄訪問次數(shù)、回復(fù)留言、目錄列表、用戶身份認(rèn)證、統(tǒng)計數(shù)據(jù)等。在發(fā)現(xiàn)這個規(guī)律后,我們對這幾項(xiàng)趁行了詳細(xì)考察,發(fā)現(xiàn)它們有很強(qiáng)的共同性。多數(shù)網(wǎng)站內(nèi)部實(shí)現(xiàn)按照功能劃分,都可分為兩部分:身份認(rèn)證部分和數(shù)據(jù)操作部分,而且數(shù)據(jù)操作部分基本上都是對于單一數(shù)據(jù)表格的簡單操作,如插人、瀏覽、查詢、刪除等對于身份認(rèn)證,我們將用戶的身份劃分為非注冊用戶、注冊用戶、數(shù)據(jù)管理員、特殊用戶。由上面的分析,我們可以得到如下的結(jié)論:功能和結(jié)構(gòu)都很簡單的項(xiàng)目所占的比例很高,占到了50%一60%。而越是這些所占比例很高的小項(xiàng)目的開發(fā),越存在著我們在上面所提出的四個問題,越是需要巫待解決。下面按照它們的共性重新構(gòu)造網(wǎng)站的結(jié)構(gòu)。2基于功能模塊的設(shè)計模式2.1傳統(tǒng)的設(shè)計模式我們先按照對于動態(tài)網(wǎng)站的典型視角,從頁面、事務(wù)邏輯、數(shù)據(jù)存儲這三個層次來觀察一下目前的網(wǎng)站結(jié)構(gòu)。(I)表現(xiàn)層(頁面層)①身份認(rèn)證相關(guān)頁面。它包括一般注冊用戶、數(shù)據(jù)管理員的身份認(rèn)證,以及對用戶身份進(jìn)行管理操作的頁面,如修改密碼等。②數(shù)據(jù)操作頁面。它包括增加數(shù)據(jù)、瀏覽數(shù)據(jù)、修改數(shù)據(jù)、刪除數(shù)據(jù)等數(shù)據(jù)操作的頁面。③其他頁面。靜態(tài)頁面和少量完成其他功能的動態(tài)頁面。(2)事務(wù)邏輯與頁面相對應(yīng),可以分為:①身份認(rèn)證部分。它用來管理一般注冊用戶和數(shù)據(jù)管理員等賬戶。②數(shù)據(jù)操作部分。它也包括增加數(shù)據(jù)、瀏覽數(shù)據(jù)、修改數(shù)據(jù)、刪除數(shù)據(jù)等數(shù)據(jù)操作。同樣要說明的一點(diǎn)是:我們關(guān)注的應(yīng)用基本上是對同一個數(shù)據(jù)表格進(jìn)行的操作(用戶個人信息:如密碼等除外)。(3)數(shù)據(jù)存儲。它主要存儲在數(shù)據(jù)庫和文件系統(tǒng)中,對我們影響不大。2.2基于功能的網(wǎng)站結(jié)構(gòu)根據(jù)上述分析,我們可以重新定義帶有后臺數(shù)據(jù)庫操作的動態(tài)網(wǎng)站。這里,我們將暫時忽略靜態(tài)頁面和數(shù)據(jù)存儲部分。對于數(shù)據(jù)存儲部分的忽略,是因?yàn)榧词箤τ谕瓿刹煌δ艿木W(wǎng)站,其數(shù)據(jù)存儲部分可以設(shè)計為相同的平臺環(huán)境。因此,我們可以如此定義動態(tài)網(wǎng)站:動態(tài)網(wǎng)站是多個功能頁面組成的集合。每個功能頁面含有一個身份認(rèn)證部分和一個數(shù)據(jù)操作部分。身份認(rèn)證部分表明了用戶要訪問該頁面需要的身份權(quán)限,如系統(tǒng)管理員、注冊用戶、非注冊用戶等。此處我們特別提到“非注冊用戶”實(shí)際上對應(yīng)了毋需身份認(rèn)證的情況,之所以這樣稱呼,是為了在實(shí)現(xiàn)上能夠簡化而統(tǒng)一。網(wǎng)站由身份認(rèn)證部分和數(shù)據(jù)區(qū)域兩部分構(gòu)成。圖1(b)身份認(rèn)證區(qū)域的結(jié)構(gòu)相對固定,在不同系統(tǒng)中的結(jié)構(gòu)非常相似。而圖1(a)數(shù)據(jù)區(qū)域的具體功能在不同系統(tǒng)中變化相對較大,但結(jié)構(gòu)卻始終如圖l所示。2.3基于功能的網(wǎng)站結(jié)構(gòu)下的開發(fā)方式(l)動態(tài)項(xiàng)目開發(fā)公式的提出先考慮結(jié)構(gòu)固定的“身份認(rèn)證區(qū)域”。其模型包括兩部分:①數(shù)據(jù)區(qū)域的頁面結(jié)合;②每一項(xiàng)操作都有對應(yīng)的Web頁面或Web頁面上對應(yīng)的功能。因此,“身份認(rèn)證區(qū)域”這部分可以被專業(yè)開發(fā)人員事先開發(fā)好,只由一般開發(fā)人員在實(shí)際構(gòu)建系統(tǒng)時根據(jù)需要選擇何種認(rèn)證級別,如一般注冊用戶等。再來看“數(shù)據(jù)區(qū)域”,其結(jié)構(gòu)比較復(fù)雜。我們將其再拆分為身份認(rèn)證部分、頁面功能和數(shù)據(jù)項(xiàng)。這三項(xiàng)由開發(fā)人員來設(shè)置,而其余的如具體的數(shù)據(jù)操作和數(shù)據(jù)存儲則由系統(tǒng)完成。因此我們提出了如下的動態(tài)網(wǎng)站的“開發(fā)公式”:項(xiàng)目=功能頁面+數(shù)據(jù)項(xiàng)+身份認(rèn)證信息注意,該公式是為了降低系統(tǒng)開發(fā)難度而提出的,而不是系統(tǒng)實(shí)際結(jié)構(gòu)的拆分。因此,系統(tǒng)可能還含有一些在公式之外的屬性,如系統(tǒng)名稱、系統(tǒng)URL地址等。這些信息對系統(tǒng)的結(jié)構(gòu)幾乎沒有影響,設(shè)置也非常簡單,因此不必考慮。以下對公式中的各個項(xiàng)目一一說明:①功能頁面。它就是我們平常通過瀏覽器訪問的網(wǎng)頁,但這個頁面常常對應(yīng)了一個具體的數(shù)據(jù)操作,如“投票頁面”就對應(yīng)了插入新記錄的操作。②數(shù)據(jù)項(xiàng)。它是指我們在頁面的表單中見到的數(shù)據(jù)控件所代表的內(nèi)容。注意:此處是數(shù)據(jù)項(xiàng),而不是數(shù)據(jù)。因?yàn)檫@個公式的用途是設(shè)計Web系統(tǒng)。在設(shè)計時要考慮的是數(shù)據(jù)項(xiàng)目,而不是使用實(shí)際填寫的數(shù)據(jù)。一個數(shù)據(jù)項(xiàng)含有數(shù)據(jù)的類型、在頁面的表現(xiàn)形式、數(shù)據(jù)檢查和約束等非常多的屬性。③身份認(rèn)證信息。它是指用戶在使用系統(tǒng)時的身份資格。利用這個信息,我們就可以區(qū)分非注冊用戶、注冊用戶和數(shù)據(jù)管理員等使用者身份。(2)動態(tài)項(xiàng)目的結(jié)構(gòu)根據(jù)我們的開發(fā)公式,在非專業(yè)開發(fā)人員的眼中,網(wǎng)站的結(jié)構(gòu)將如圖2所示。在這個結(jié)構(gòu)中,系統(tǒng)僅僅由多個功能頁面和數(shù)據(jù)項(xiàng)組成,身份認(rèn)證信息為功能頁面的一部分。這樣做就進(jìn)一步簡化了系統(tǒng)的結(jié)構(gòu),有利于降低對開發(fā)人員的要求。我們只需要設(shè)置功能頁面對用戶權(quán)限的要求—比如只有注冊用戶才可以訪問投票頁面,就可以完成身份認(rèn)證信息的設(shè)置。2.4問題的回顧讓我們再來回顧一下在文章開始時提出的四個期待:(l)降低對開發(fā)人員的專業(yè)水平要求,最好能由一般辦公室工作人員進(jìn)行開發(fā)(2)提高開發(fā)效率(3)減少項(xiàng)目中存在的錯誤數(shù)量(4)簡化運(yùn)行平臺的搭建,或不再需要搭建其中的第一二項(xiàng)顯然已經(jīng)解決;對于第三項(xiàng),由于代碼完全自動生成,沒有人工干預(yù),只要系統(tǒng)的質(zhì)量有保障,這一項(xiàng)也就基本解決;而對于第四項(xiàng),如果我們地解決方案是以網(wǎng)站的形式出現(xiàn)的話,則也就解決了。因此可以說,我們已經(jīng)較好地解決了文章開始時提出的四個問題。3系統(tǒng)實(shí)現(xiàn)與應(yīng)用實(shí)例3.1系統(tǒng)結(jié)構(gòu)基于如上理論,實(shí)現(xiàn)了一個真實(shí)的網(wǎng)站。用戶通過瀏覽器訪問我們的系統(tǒng),在頁面上進(jìn)行簡單的操作就可以完成帶有后臺數(shù)據(jù)庫的動態(tài)網(wǎng)站的建設(shè)。下面是該系統(tǒng)的一個結(jié)構(gòu)簡圖。首先是系統(tǒng)用戶管理(注:此用戶是該系統(tǒng)本身的用戶,不是生成后的動態(tài)網(wǎng)站的用戶),每個用戶可以生成多個網(wǎng)站,圖3中表示為“項(xiàng)目(網(wǎng)站)管理”。每個項(xiàng)目包括頁面信息、數(shù)據(jù)項(xiàng)信息和雜項(xiàng)信息。最下面是數(shù)據(jù)庫支持,用來記錄相關(guān)數(shù)據(jù)。每個網(wǎng)站(項(xiàng)目)設(shè)計完成后,將生成單獨(dú)的代碼在服務(wù)器運(yùn)行。利用此系統(tǒng),我們已經(jīng)為從北京大學(xué)網(wǎng)絡(luò)實(shí)驗(yàn)室、北京大學(xué),到清華大學(xué)出版社等多個部門的多種事務(wù)提供了服務(wù)。而且開發(fā)時間大大低于傳統(tǒng)的開發(fā)模式,從而進(jìn)一步證明了如上理論的正確性和可行性。在新的結(jié)構(gòu)中,網(wǎng)站的開發(fā)過程也將變得與通常的開發(fā)過程完全不同。以一個最簡單的用戶信息登記表為例,看一下典型的開發(fā)過程。假設(shè)現(xiàn)在的需求非常簡單,就是登記每個用戶的姓名、性別、年齡和簡歷。其中性別為用戶選擇男女,簡歷為用戶上傳附件。任何人都可以瀏覽已登記的信息。具體操作如下:(l)設(shè)置總體信息,如系統(tǒng)名稱等內(nèi)容;(2)設(shè)置各個數(shù)據(jù)項(xiàng)的各種屬性,如名稱、類型等,具體設(shè)置如圖4所示。(4)設(shè)置各個頁面的身份認(rèn)證要求,在此應(yīng)用中無身份認(rèn)證要求。完成。由此可見,全部的開發(fā)過程都只要進(jìn)行很簡單的幾步操作就可以完成,根本不需要進(jìn)行任何編碼工作。生成的系統(tǒng)的界面如圖6、圖7所示。4小結(jié)本文在對動態(tài)網(wǎng)站實(shí)際應(yīng)用進(jìn)行考察的基礎(chǔ)上,提出了一種對其結(jié)構(gòu)按照功能進(jìn)行縱向劃分的新的認(rèn)識。并采用這種新的結(jié)構(gòu)分析方法,設(shè)計了對于一般人員進(jìn)行項(xiàng)目開發(fā)的方式,提出了“動態(tài)項(xiàng)目=功能頁面十?dāng)?shù)據(jù)項(xiàng)+身份認(rèn)證信息”這個公式,從而解決了在現(xiàn)階段動態(tài)網(wǎng)站開發(fā)過程中所遇到的四個問題。參考文獻(xiàn):[1]TomMyersAlexanderNfesaionalJavaXMLProgramingwishServletsandJSP[M].WroxPre,,2001.[2]CraigLarman.ApplyingUMLandPattems:AnIntroduetion.0obJeetOrientedAnalysisandDesign〔M〕.PrentieeHallPTR,1998.[3]CaySHorstman:,GrayCornell,CoreJava2,Volumel:Fundamen-tal、[M]prentieeHall,2000[4]Cay

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論