摘要:介紹了信息發(fā)布系統(tǒng)的設計方法、體系結構以及關鍵技術。基于ASP.NET軟件開發(fā)平臺和ADO.NET數(shù)據(jù)訪問技術開發(fā)的信息發(fā)布系統(tǒng),能動態(tài)有效地管理網(wǎng)站新聞,并且很容易擴展到各種不同的具體實際應用中,如廣告和通知信息發(fā)布等。
關鍵詞:ASP.NET;B/S模式;信息發(fā)布系統(tǒng);SQL Server2000
引言
網(wǎng)絡信息發(fā)布,先后采用了HTML技術和ASP技術。前者是靜態(tài)的,而且沒有采用數(shù)據(jù)庫技術;后者是動態(tài)的,采用了數(shù)據(jù)庫技術。一些用ASP.NET與SQL Server數(shù)據(jù)庫技術實現(xiàn)的信息發(fā)布系統(tǒng),對開發(fā)成本和開發(fā)周期和簡潔性考慮得較少,絕大多數(shù)都是用于大型企業(yè)或一些門戶網(wǎng)站。但是許多小型企業(yè)或機構,他們需要的是簡單易用、易于管理、開發(fā)成本低、開發(fā)周期短的信息發(fā)布系統(tǒng),以減少信息管理的工作量,提高信息質量和利用率,增強信息的時效性。
1 ASP.NET簡介
ASP.NET是—種建立在CLR(Common Language Runtime)基礎上的程序開發(fā)架構,主要用于開發(fā)Web應用,它將軟件設計和Web設計融為一個整體。ASP.NET使用了一種基于文本格式、等級式的配置系統(tǒng),其程序和配置信息都是以文本的方式存儲在服務器上。如果信息需要發(fā)布到網(wǎng)站上,不必在服務器上使用特殊的軟件進行設置,僅把需要的程序拷貝到服務器上就可以使用,甚至對于正在運行中的被編譯的代碼,也可對它進行配置和替換,而無需重新啟動服務器。
ASP.NET與數(shù)據(jù)庫的連接工作由ADO.NET來完成。DataSet是ADO.NET的核心組件,可以將DataSet想象成為內存中的數(shù)據(jù)庫,它是不依賴于數(shù)據(jù)庫的獨立數(shù)據(jù)集,專門用來處理從數(shù)據(jù)源中得到的數(shù)據(jù),而且不管底層數(shù)據(jù)庫是什么,其行為都是一致的。DataSet可以使用相同的方式來操作從不同數(shù)據(jù)源得到的數(shù)據(jù),它的內部是用XML來描述數(shù)據(jù)的。XML是一種與平臺、數(shù)據(jù)無關,且能描述復雜數(shù)據(jù)關系的數(shù)據(jù)描述語言。
2 信息發(fā)布系統(tǒng)的功能需求
小型企業(yè)信息發(fā)布系統(tǒng)的主要工作是將網(wǎng)頁上的某些經(jīng)常變動的信息,類似新聞、新產品發(fā)布和業(yè)界動態(tài)等更新信息進行集中管理,并對信息加以分類,最后經(jīng)系統(tǒng)化、標準化發(fā)往網(wǎng)站上的應用程序。
網(wǎng)站信息通過一個簡單操作被載入數(shù)據(jù)庫,然后按照已有的網(wǎng)頁模板格式被發(fā)布到網(wǎng)站上。通過網(wǎng)絡數(shù)據(jù)庫的引用,我們將網(wǎng)站的更新維護工作簡化到只需錄入文字和上傳圖片,從而使網(wǎng)站的更新速度縮短,保持了網(wǎng)站的時效性和影響力。
從處理流程上說,系統(tǒng)提供了一個基于Web的管理新聞的頁面(可添加和刪改每天的新聞,包括新聞圖片,標題等),以及調用新聞的顯示頁面。考慮到新聞需要插到不l可風格的網(wǎng)頁中,所以不能使用一個固定格式的頁面來顯示新聞提要,而把它們做成一個主頁的可插入部分,同時提供一個含有詳細內容的頁面。如圖1所示。
3 關鍵技術分析
3.1 ASP.NET與數(shù)據(jù)庫SQL2000的連接
在ASP.NET中,ADO.NET用于數(shù)據(jù)訪問。從數(shù)據(jù)庫取出的記錄,存入DataSet。如果需要顯示在控件中,則需要使用DataView。
3.2 文字與圖片集成綜合發(fā)布
此功能采用了一個網(wǎng)頁編輯工具htmlarea。此工具功能強大、簡單易操作,使得在添加和編輯新聞時就像在Word中一樣方便,不但可以輸入文字信息,還可以插入圖片、表格、超級鏈接等。它通過editor.js進行控制。
4 信息發(fā)布系統(tǒng)設計
Web應用程序是一種分布式的應用程序,由服務器端的Web服務器和客戶端的瀏覽器相互配合來實現(xiàn)各種功能。其結構稱為B/S(Browser/Server)結構。控制客戶端的顯示界面是所有Web應用程序都必須實現(xiàn)的功能;另外,Web應用程序一般都要使用后臺數(shù)據(jù)庫,所以與數(shù)據(jù)庫交互的功能模塊也是這類應用程序所必需的。根據(jù)Web應用程序和ASP.NET技術的特點,我們在實際工程中通過不斷的摸索得到了一種基于ASP.NET技術的應用程序開發(fā)設計模型。這種模型把Web應用程序劃分為三個基本的層次:用戶界面層、業(yè)務邏輯層和數(shù)據(jù)訪問層。
4.1 數(shù)據(jù)庫設計
數(shù)據(jù)只有用數(shù)據(jù)庫來管理才能有自動化管理的可能。數(shù)據(jù)的結構將影響整個數(shù)據(jù)管理機制的應用,所以一開始就要仔細慎重地搭建一個完整而合理的結構。Microsoft SQL Server 2000數(shù)據(jù)庫相對其它的數(shù)據(jù)庫來說功能強大而且容易操作,本新聞發(fā)布系統(tǒng)中的數(shù)據(jù)庫文件就是SQL Server 2000類型的數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫中共有兩張表一用戶信息表admin和文章信息表article:
以上的代碼置于web.eonfig文件中。web.eonfig是一個全局文件,把數(shù)據(jù)庫的連接工作放于其中,有易于系統(tǒng)移植、易于操作等優(yōu)點。系統(tǒng)中每個模塊要用到數(shù)據(jù)庫時,不必再寫相應的代碼進行連接,只需用如下一句代碼就可引用數(shù)據(jù)庫讀取數(shù)據(jù)庫:
dim objconn as new sqlconnection
(ConfigurationSettings.AppSettings(\"ConnectionString\"))
4.2 前臺用戶瀏覽設計(見圖2)

為前臺瀏覽所設計的功能有:頁面自動更新,顯示最新N條新聞和點擊率最高的N條新聞等,對新聞進行分類顯示。用戶用鼠標指到每條新聞上就能顯示新聞的更新日期時間、作者、新聞標題。并可以進行以關鍵字為索引的站內的新聞檢索。
4.3 前臺新聞顯示設計(見圖3)

頁面動態(tài)地顯示新聞的詳細內容和相關新聞的標題,也就是說當用戶點擊新聞標題時,系統(tǒng)根據(jù)輸入?yún)?shù)從數(shù)據(jù)庫里讀取新聞內容,同時查找相關新聞的標題。
顯示首頁的最頂部列示大類新聞,用戶可以直接點擊查看各項大類新聞里面的各項小類新聞,閱讀每條詳細信息。熱點新聞欄目可直接點擊查閱所列內容,最新新聞欄目則在進入各項大類新聞后就會顯示出來。系統(tǒng)設有站內搜索,以關鍵字為準的新聞搜索以及公告欄顯示最新發(fā)布各項新聞信息的功能。首頁中間的六個欄目顯示的是該欄目最新的前九條新聞,可直接點擊查看;點擊MORE可以進入該欄目單獨顯示頁面,顯示該欄目所有新聞。
4.4 后臺管理功能設計
后臺管理功能包括用戶管理和新聞管理。
用戶管理頁面載入顯示每個用戶的編號、賬號、用戶名、聯(lián)系電話、操作。通過列表綁定控件DataGrid進行數(shù)據(jù)綁定,設定屬性和方法(刪除或修改用戶信息)。
新聞管理管理者可以瀏覽新聞、查找新聞和添加新聞。點擊瀏覽新聞,通過頁面載入顯示出每條新聞的ID、標題發(fā)布時間、操作(刪除和編輯)。通過列表綁定控件DataList進行數(shù)據(jù)綁定,設定它的屬性和方法實現(xiàn)其功能。點擊查找新聞,通過載入前臺頁面,在站內搜索里檢索新聞。通過載入圖4所示頁面進行新聞添加。

5 結束語
基于Web服務的ASP.NET與數(shù)據(jù)庫SQL Server開發(fā)模式實現(xiàn)信息發(fā)布系統(tǒng),是目前各網(wǎng)絡公司開發(fā)新聞發(fā)布系統(tǒng)常采用的技術手段,具有簡潔、高效等特點,所開發(fā)的系統(tǒng)具有良好的可擴充性、可維護性。
將Web服務與XML技術相結合,由于Web服務的接口只需公共定義,隱藏了私有代碼和實際的執(zhí)行過程,從而降低了系統(tǒng)的復雜性,應用系統(tǒng)維護的成本大大降低,順應了從組件復用向服務復用轉變的軟件發(fā)展趨勢。這也是未來信息發(fā)布系統(tǒng)實現(xiàn)技術的發(fā)展趨勢。