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