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