徐烈英
(唐山職業技術學院 宣傳部,唐山 063004)
計算機網絡在人民生活和社會發展中扮演著越來越重要的角色。WWW網站運行作為互連網的重要應用之一已成為具有最廣泛用戶的首要應用。Web網站是直接向用戶或潛在的客戶提供產品信息和服務信息的一種途徑,其內容是由超文本的文本、聲音、圖形圖像甚至電影等形式組成,它們能夠有機地關聯并可被瀏覽器識別,是通過HTML語言實現的。同時,CGI又使Web具有交互功能。Web網站能指引用戶瀏覽該站點或其他站點上的分頁信息,可以通過表單或電子郵件的連接提供雙向交互方式。
網站是未來開展電子商務與遠程教育的基礎設施和信息平臺,它是知識經濟的制高點,企業的網址猶如企業的品牌和商標一樣,是反映企業形象和文化的巨大的無形資產。Web網站的設計猶如報紙中設計的一頁篇幅,又像電視中設計的一個片段,能給讀者或觀眾留下深刻的印象,從而產生廣告效應。Web網站的管理與維護不單要對網站的內容進行修改與更新,還要與瀏覽者通過各種因特網方式進行互動,從而產生“客戶群”等作用。本文主要介紹了數據庫軟件系統在網站的設計和維護等方面的作用。
網站是宣傳的工具,是一個組織的形象窗口,不論是商業性還是非商業性網站,都希望以最小的投入達到最好的運行效果。通過合理的網站設計,可以獲得一個更好的模式和更好的運行效果。目前,基于數據庫的運行和管理的網站運行模式就是一種典型設計。
整個設計開發過程,都是本著技術先進、界面友好、功能全面、維護性好的設計目標,以軟件工程學的觀點和方法系統的研究了整個開發過程,有計劃、有步驟地分模塊進行軟件開發,以提高其效率,保證質量。當前,動態模式是將編程腳本技術(SCRIPT)、層迭樣式技術(CSS)和文本對象技術(DOM)應用于網站設計,從而實現生動、豐富的頁面效果。在信息化的今天,頁面內容更新速度的增快,直接加大了網站運行維護的成本。因此,越來越多的網站使用了基于數據庫的網站設計技術,即B/S結構的網站設計技術。
B/S結構是一種具有二級的Client/Server模式(亦即三層C/S結構),如圖1所示。

圖1 B/S結構模型示意圖
第一級C/S結構是給Web服務器提供的WWW服務,同時又給客戶端瀏覽器提供瀏覽服務。在Web Server上安裝著預先建立的網頁文件,這些頁面描述語言可以包括運行在客戶端的HTML、DHTML標注語言,VBscript、Javascript腳本語言和運行在服務器上的ASP、PHP、JSP 等多種編程語言。服務器將執行結果轉換成對應的HTML語言文本傳送到客戶端,再由客戶端軟件解釋運行,產生顯示結果。第二級C/S結構則是將Web服務器作為客戶機,進行以數據庫系統為服務器的C/S運行模式。客戶端以編程語言C++、ASP、PHP、JSP等的程序作為客戶端軟件進行數據庫的訪問操作。通過CGI或者其他方式實現Web服務器端與客戶端實現信息互動。服務器端同時使用第三方數據庫系統(如Ac2cess、SQL Server、Oracle等)作為數據庫的支持與管理系統來提供第二級C/S結構的數據庫服務。
早期的不少的網站設計主要只包含第一級C/S結構。這樣的網站缺乏互動成分,且更新速度慢。這也是許多非商業性網站存在的弱點。即使是有些商業性網站,數據庫的應用也主要體現在用戶的注冊登錄,信息檢索等方面,而在信息的更新、編輯仍然需要大量熟練工程技術人員參與。這毫無疑問會大大增加網站的運行成本。而B/S結構的網站設計技術,就能很好的解決這一問題。
當網站建設有了一定規模以后,尤其是對于那些流量較大、內容較多的網站,每天更新站點成了網站管理員維護網站的首要任務之一。然而,往往是有了資料以后,還要先做出與其相關的頁面,然后才能對網站進行更新,這對于那些流量小,且時間充裕的管理員來說問題不大;但當站點是一個企業網站,有較大規模,每天的新聞或公告等信息發布較多,這樣的更新就成了一項繁重的任務。根據制作網站的經驗,將信息動態存入數據庫,并利用ASP技術,及時把數據庫信息顯示到頁面上。這樣就不用每一條信息都做一幅靜態頁面,然后再鏈接到網頁條目中,而讓頁面能保持自動更新和自動生成瀏覽頁面。下面重點介紹在網站的動態設計過程中如何建立數據庫連接和數據庫記錄的添加、修改、檢索和刪除。
一個真正的、完整的站點離不開數據庫。利用數據庫管理數據,可使查詢和更新方便、快捷。數據庫有很多種,如Fox數據庫( .dbf )、Access數據庫( .mdb)、Informix、Oracle和SQL Server等等。下面以Mi2crosoft Access數據庫和SQL Server 2000為例來說明如何訪問數據庫。訪問數據庫首先要連接數據庫,這要用到ADO對象,下面簡單介紹ADO的概念,然后給出具體數據庫連接的例子。
瀏覽器為客戶端的操作平臺,Web服務器可以基于IIS服務器或PWS的個人服務器。為了使數據更新方便,現代Web網站大量使用動態網頁,這類網頁的數據一般通過數據庫來管理, 因此應設置后臺數據庫來存放所有數據。Web服務器要訪問數據庫中的數據,需通過ASP文件的ADO對象來實現。如圖2所示。

圖2 原理模型
ADO是以ActiveX技術為基礎的數據存取方法,其特點是使用簡單、訪問速度快。此外,還可以通過具有遠程數據服務功能的RDS,在一次循環中就能把服務器端的數據傳送到客戶端的應用程序或Web頁面中,在客戶端對數據進行處理后,便能立即更新服務器端的數據。ASP是一種動態服務器主頁,利用它可以建立和運行動態的、高效的、交互的Web服務器的應用程序。Web服務器能自動將ASP程序解讀成標準的HTML格式的網頁內容,并送到用戶的瀏覽器得以顯示。因此,用戶只要使用支持HTML代碼的瀏覽器,就可以瀏覽所有用ASP設計的網頁。若客戶的瀏覽器向Web服務器請求下載文件時,Web服務器會在提取文件后,隨即判斷該文件的類型,如果是HTML文件,就可直接將文件下載給客戶。若是ASP文件,IIS、PWS則會先予以解讀,在解讀的過程中,如遇到HTML標記或一般文字,會直接將有關內容下載給客戶瀏覽器;如遇到< % % >的標記,則將其中內容視為程序,按下述步驟予以解釋執行:
1)使用ASP程序中的ADO對象發送SQL指令,從數據庫中取出所需數據。
2)由ASP程序的ADO對象發出指令,把從數據庫中取出的數據傳送給Web服務器。
3)通過HTTP傳輸協議將有關數據下載到客戶端,送往瀏覽器顯示。
在上述過程中,ASP程序是直接在服務器上解釋執行,其源代碼不用下載到客戶端,進一步保證了源程序的安全。
2.3.1 模塊組成
Web網站維護方法可以分為以下三個模塊予以編程實現。
1)數據編輯模塊
此模塊主要是實現對數據庫內容的添加、刪除與修改。用戶只需通過客戶端的瀏覽器進入網站的主頁,即可調用維護程序進行操作。如果是添加內容操作,只需按界面提示填寫內容后提交即可。如果是進行修改或刪除操作,則應先從數據庫中讀取數據后,再按界面提示逐一操作,之后再將處理結果予以提交。為防止非法用戶隨意更改網站 內容,除了使用網絡系統平臺的安全體系對用戶進行一般的身份認證外,在此模塊的界面上還采取了頁面加密措施,包括在IIS和在有關文件夾中設立權限等。此外,此模塊還自動識別用戶所提交數據的格式是否正確,不正確時將要求用戶重新填寫。
2)數據的存儲
將用戶通過數據編輯模塊提交的結果按要求入庫,是數據存儲模塊的主要功能。該模塊使用ASP程序接收用戶的提交請求,通過ADO對象發送相應的SQL指令,將相應數據存入數據庫。
3)用戶瀏覽器接口
客戶端瀏覽器必須通過該接口才能瀏覽數據庫中的數據,該接口同時還能提高網頁的瀏覽速度。當接口收到用戶的瀏覽請求時,將先通過ASP程序所提供的對象到庫中提取數據,然后由Web服務器送給瀏覽器。
2.3.2 開發環境
1)系統平臺
可以在Windows NT 和IIS服務器系統平臺,也可以基于Unix或PWS個人服務器等平臺上開發。
2)數據庫的選擇
目前可用的數據庫系統有很多,如Oracle、Sybase、Access等都是很好的產品。但Oracle數據庫對系統的軟硬件環境、使用及維護等方面要求較高, 且投資大;Sybase主要適合與PowerBuilder配套使用;Access則是小型數據庫。根據系統規模和所需處理數據的容量,以及與系統平臺的無縫集成等綜合因素,選取恰當的數據庫系統。
3)開發工具的選擇
Java Script、VBScript、CGI與ASP都是可用于動態網頁腳本制作的工具。但是,JavaScript和VBScript在執行時,需要先把程序下載到客戶端,再由瀏覽器進行解釋執行,這樣會導致源代碼被公開,從而影響網絡安全性。ASP程序則是CGI程序的改進版,它跟CGI程序一樣是在Web服務器端執行,因此安全性較好。相對而言, 在收集網頁數據時,ASP比CGI的解析速度快、解析效果好, 因而選用ASP最為合適。
數據庫在WWW服務應用中能幫助Web站點更好地運行,但同時也有一定的負面影響。主要問題表現為:
1)用戶在對頁面進行訪問時,如果同時要進行大量的數據庫查詢與讀取工作,會對用戶的訪問速度有一定的影響。
2)由數據庫系統是與Web服務器共同完成Web服務的,這便使Web服務器增加對系統的依賴性,也增加了它被攻擊的潛在因素。
3)對編程技術具有更高的要求。若對數據庫編程不當,可能使得數據庫因負載過重而出現故障,從而影響系統的穩定性。然而,這些問題都可以通過恰當的方式加以解決。
4)解決辦法
對問題1)和2)可以采用雙以太結構方式加以改善。如圖3(a)和(b)分別為單以太結構和雙以太結構設計的邏輯結構。

圖3 連接數據庫服務器的兩種網絡結構
雙以太結構可以有效的進行數據流負載分流,改善以太負載曲線。同時隱藏數據庫,保障其安全。對于問題3),主要是通過軟件設施加以解決。例如選用適當的數據庫,加強程序緩沖能力,及時關閉鏈接,增強程序堅固性等。
由于網絡具有傳播信息容量極大、形態多樣、迅速方便、覆蓋面廣、自由和交互的特點,已成為新的傳播媒體。隨著網絡技術的突飛猛進,各行各業都渴望加入到IT行業中來。如何設計出達到用戶目的的網站,吸引盡可能多的人參觀訪問是網站設計人員值得研究的課題。不斷探索,將越來越多的網站建設中的新技術應用到“科學數據庫網站”中來。
[1] 馬莉,王歌.基于Web網企業動態信息發布系統[J].計算機工程與應用,2002,38(5):166 -171.
[2] 鄭源,王加陽.基于ASP技術的Web數據庫遠程維護[J].計算機工程與應用,2002,38 (11):193-195.
[3] 王劍釗,陳萍.數據庫技術在網站設計中的應用[J].技術交流,2003(8):46-49.
[4] 董麗.WEB網站的設計與維護[J].石油工業計算機應用,2007,15(1)45-47.