摘要:介紹了信息發(fā)布系統(tǒng)的設(shè)計(jì)方法、體系結(jié)構(gòu)以及關(guān)鍵技術(shù)?;贏SP.NET軟件開發(fā)平臺和ADO.NET數(shù)據(jù)訪問技術(shù)開發(fā)的信息發(fā)布系統(tǒng),能動態(tài)有效地管理網(wǎng)站新聞,并且很容易擴(kuò)展到各種不同的具體實(shí)際應(yīng)用中,如廣告和通知信息發(fā)布等。
關(guān)鍵詞:ASP.NET;B/S模式;信息發(fā)布系統(tǒng);SQL Server2000
引言
網(wǎng)絡(luò)信息發(fā)布,先后采用了HTML技術(shù)和ASP技術(shù)。前者是靜態(tài)的,而且沒有采用數(shù)據(jù)庫技術(shù);后者是動態(tài)的,采用了數(shù)據(jù)庫技術(shù)。一些用ASP.NET與SQL Server數(shù)據(jù)庫技術(shù)實(shí)現(xiàn)的信息發(fā)布系統(tǒng),對開發(fā)成本和開發(fā)周期和簡潔性考慮得較少,絕大多數(shù)都是用于大型企業(yè)或一些門戶網(wǎng)站。但是許多小型企業(yè)或機(jī)構(gòu),他們需要的是簡單易用、易于管理、開發(fā)成本低、開發(fā)周期短的信息發(fā)布系統(tǒng),以減少信息管理的工作量,提高信息質(zhì)量和利用率,增強(qiáng)信息的時(shí)效性。
1 ASP.NET簡介
ASP.NET是—種建立在CLR(Common Language Runtime)基礎(chǔ)上的程序開發(fā)架構(gòu),主要用于開發(fā)Web應(yīng)用,它將軟件設(shè)計(jì)和Web設(shè)計(jì)融為一個整體。ASP.NET使用了一種基于文本格式、等級式的配置系統(tǒng),其程序和配置信息都是以文本的方式存儲在服務(wù)器上。如果信息需要發(fā)布到網(wǎng)站上,不必在服務(wù)器上使用特殊的軟件進(jìn)行設(shè)置,僅把需要的程序拷貝到服務(wù)器上就可以使用,甚至對于正在運(yùn)行中的被編譯的代碼,也可對它進(jìn)行配置和替換,而無需重新啟動服務(wù)器。
ASP.NET與數(shù)據(jù)庫的連接工作由ADO.NET來完成。DataSet是ADO.NET的核心組件,可以將DataSet想象成為內(nèi)存中的數(shù)據(jù)庫,它是不依賴于數(shù)據(jù)庫的獨(dú)立數(shù)據(jù)集,專門用來處理從數(shù)據(jù)源中得到的數(shù)據(jù),而且不管底層數(shù)據(jù)庫是什么,其行為都是一致的。DataSet可以使用相同的方式來操作從不同數(shù)據(jù)源得到的數(shù)據(jù),它的內(nèi)部是用XML來描述數(shù)據(jù)的。XML是一種與平臺、數(shù)據(jù)無關(guān),且能描述復(fù)雜數(shù)據(jù)關(guān)系的數(shù)據(jù)描述語言。
2 信息發(fā)布系統(tǒng)的功能需求
小型企業(yè)信息發(fā)布系統(tǒng)的主要工作是將網(wǎng)頁上的某些經(jīng)常變動的信息,類似新聞、新產(chǎn)品發(fā)布和業(yè)界動態(tài)等更新信息進(jìn)行集中管理,并對信息加以分類,最后經(jīng)系統(tǒng)化、標(biāo)準(zhǔn)化發(fā)往網(wǎng)站上的應(yīng)用程序。
網(wǎng)站信息通過一個簡單操作被載入數(shù)據(jù)庫,然后按照已有的網(wǎng)頁模板格式被發(fā)布到網(wǎng)站上。通過網(wǎng)絡(luò)數(shù)據(jù)庫的引用,我們將網(wǎng)站的更新維護(hù)工作簡化到只需錄入文字和上傳圖片,從而使網(wǎng)站的更新速度縮短,保持了網(wǎng)站的時(shí)效性和影響力。
從處理流程上說,系統(tǒng)提供了一個基于Web的管理新聞的頁面(可添加和刪改每天的新聞,包括新聞圖片,標(biāo)題等),以及調(diào)用新聞的顯示頁面??紤]到新聞需要插到不l可風(fēng)格的網(wǎng)頁中,所以不能使用一個固定格式的頁面來顯示新聞提要,而把它們做成一個主頁的可插入部分,同時(shí)提供一個含有詳細(xì)內(nèi)容的頁面。如圖1所示。
3 關(guān)鍵技術(shù)分析
3.1 ASP.NET與數(shù)據(jù)庫SQL2000的連接
在ASP.NET中,ADO.NET用于數(shù)據(jù)訪問。從數(shù)據(jù)庫取出的記錄,存入DataSet。如果需要顯示在控件中,則需要使用DataView。
3.2 文字與圖片集成綜合發(fā)布
此功能采用了一個網(wǎng)頁編輯工具h(yuǎn)tmlarea。此工具功能強(qiáng)大、簡單易操作,使得在添加和編輯新聞時(shí)就像在Word中一樣方便,不但可以輸入文字信息,還可以插入圖片、表格、超級鏈接等。它通過editor.js進(jìn)行控制。
4 信息發(fā)布系統(tǒng)設(shè)計(jì)
Web應(yīng)用程序是一種分布式的應(yīng)用程序,由服務(wù)器端的Web服務(wù)器和客戶端的瀏覽器相互配合來實(shí)現(xiàn)各種功能。其結(jié)構(gòu)稱為B/S(Browser/Server)結(jié)構(gòu)。控制客戶端的顯示界面是所有Web應(yīng)用程序都必須實(shí)現(xiàn)的功能;另外,Web應(yīng)用程序一般都要使用后臺數(shù)據(jù)庫,所以與數(shù)據(jù)庫交互的功能模塊也是這類應(yīng)用程序所必需的。根據(jù)Web應(yīng)用程序和ASP.NET技術(shù)的特點(diǎn),我們在實(shí)際工程中通過不斷的摸索得到了一種基于ASP.NET技術(shù)的應(yīng)用程序開發(fā)設(shè)計(jì)模型。這種模型把Web應(yīng)用程序劃分為三個基本的層次:用戶界面層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層。
4.1 數(shù)據(jù)庫設(shè)計(jì)
數(shù)據(jù)只有用數(shù)據(jù)庫來管理才能有自動化管理的可能。數(shù)據(jù)的結(jié)構(gòu)將影響整個數(shù)據(jù)管理機(jī)制的應(yīng)用,所以一開始就要仔細(xì)慎重地搭建一個完整而合理的結(jié)構(gòu)。Microsoft SQL Server 2000數(shù)據(jù)庫相對其它的數(shù)據(jù)庫來說功能強(qiáng)大而且容易操作,本新聞發(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)點(diǎn)。系統(tǒng)中每個模塊要用到數(shù)據(jù)庫時(shí),不必再寫相應(yīng)的代碼進(jìn)行連接,只需用如下一句代碼就可引用數(shù)據(jù)庫讀取數(shù)據(jù)庫:
dim objconn as new sqlconnection
(ConfigurationSettings.AppSettings(\"ConnectionString\"))
4.2 前臺用戶瀏覽設(shè)計(jì)(見圖2)
為前臺瀏覽所設(shè)計(jì)的功能有:頁面自動更新,顯示最新N條新聞和點(diǎn)擊率最高的N條新聞等,對新聞進(jìn)行分類顯示。用戶用鼠標(biāo)指到每條新聞上就能顯示新聞的更新日期時(shí)間、作者、新聞標(biāo)題。并可以進(jìn)行以關(guān)鍵字為索引的站內(nèi)的新聞檢索。
4.3 前臺新聞顯示設(shè)計(jì)(見圖3)
頁面動態(tài)地顯示新聞的詳細(xì)內(nèi)容和相關(guān)新聞的標(biāo)題,也就是說當(dāng)用戶點(diǎn)擊新聞標(biāo)題時(shí),系統(tǒng)根據(jù)輸入?yún)?shù)從數(shù)據(jù)庫里讀取新聞內(nèi)容,同時(shí)查找相關(guān)新聞的標(biāo)題。
顯示首頁的最頂部列示大類新聞,用戶可以直接點(diǎn)擊查看各項(xiàng)大類新聞里面的各項(xiàng)小類新聞,閱讀每條詳細(xì)信息。熱點(diǎn)新聞欄目可直接點(diǎn)擊查閱所列內(nèi)容,最新新聞欄目則在進(jìn)入各項(xiàng)大類新聞后就會顯示出來。系統(tǒng)設(shè)有站內(nèi)搜索,以關(guān)鍵字為準(zhǔn)的新聞搜索以及公告欄顯示最新發(fā)布各項(xiàng)新聞信息的功能。首頁中間的六個欄目顯示的是該欄目最新的前九條新聞,可直接點(diǎn)擊查看;點(diǎn)擊MORE可以進(jìn)入該欄目單獨(dú)顯示頁面,顯示該欄目所有新聞。
4.4 后臺管理功能設(shè)計(jì)
后臺管理功能包括用戶管理和新聞管理。
用戶管理頁面載入顯示每個用戶的編號、賬號、用戶名、聯(lián)系電話、操作。通過列表綁定控件DataGrid進(jìn)行數(shù)據(jù)綁定,設(shè)定屬性和方法(刪除或修改用戶信息)。
新聞管理管理者可以瀏覽新聞、查找新聞和添加新聞。點(diǎn)擊瀏覽新聞,通過頁面載入顯示出每條新聞的ID、標(biāo)題發(fā)布時(shí)間、操作(刪除和編輯)。通過列表綁定控件DataList進(jìn)行數(shù)據(jù)綁定,設(shè)定它的屬性和方法實(shí)現(xiàn)其功能。點(diǎn)擊查找新聞,通過載入前臺頁面,在站內(nèi)搜索里檢索新聞。通過載入圖4所示頁面進(jìn)行新聞添加。
5 結(jié)束語
基于Web服務(wù)的ASP.NET與數(shù)據(jù)庫SQL Server開發(fā)模式實(shí)現(xiàn)信息發(fā)布系統(tǒng),是目前各網(wǎng)絡(luò)公司開發(fā)新聞發(fā)布系統(tǒng)常采用的技術(shù)手段,具有簡潔、高效等特點(diǎn),所開發(fā)的系統(tǒng)具有良好的可擴(kuò)充性、可維護(hù)性。
將Web服務(wù)與XML技術(shù)相結(jié)合,由于Web服務(wù)的接口只需公共定義,隱藏了私有代碼和實(shí)際的執(zhí)行過程,從而降低了系統(tǒng)的復(fù)雜性,應(yīng)用系統(tǒng)維護(hù)的成本大大降低,順應(yīng)了從組件復(fù)用向服務(wù)復(fù)用轉(zhuǎn)變的軟件發(fā)展趨勢。這也是未來信息發(fā)布系統(tǒng)實(shí)現(xiàn)技術(shù)的發(fā)展趨勢。