摘 要: 為解決企業(yè)信息共享與同步問(wèn)題,設(shè)計(jì)了一種基于ASP.NET的信息發(fā)布網(wǎng)站。該網(wǎng)站采用B/S模式, 以Visual Studio為開(kāi)發(fā)平臺(tái), SQL Server為數(shù)據(jù)庫(kù),實(shí)現(xiàn)了信息的統(tǒng)一授權(quán)管理和集中發(fā)布。文章介紹了信息發(fā)布網(wǎng)站的開(kāi)發(fā)工具、開(kāi)發(fā)模式、體系結(jié)構(gòu)、詳細(xì)設(shè)計(jì)及關(guān)鍵技術(shù)的實(shí)現(xiàn)。
關(guān)鍵詞: ASP.NET; B/S; 統(tǒng)一授權(quán); 信息發(fā)布
中圖分類(lèi)號(hào):TP319 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2016)04-36-03
Design and implementation of information publishing Website based on ASP.NET
Jia Zongxing
(School of Information Science and Engineering, Shanxi Agricultural University, Taigu, Shanxi 030801, China)
Abstract: In order to solve the problem of enterprise information sharing and synchronization, an information publishing Website based on ASP.NET is designed. The Website adopts B/S mode, with Visual Studio as the development platform and SQL Server as the database, to realize the unified managing and centralized publishing for information. This paper introduces the development tools, development mode, architecture, detailed design and the implementation of key technology of the information publishing Website.
Key words: ASP.NET; B/S; unified authorization; information publishing
0 引言
計(jì)算機(jī)技術(shù)和互聯(lián)網(wǎng)的發(fā)展,促進(jìn)了生活、生產(chǎn)信息量增多,同時(shí)信息類(lèi)型多,信息的來(lái)源多樣,信息處理的過(guò)程復(fù)雜[1]。如何有效傳播和利用這些信息,已成為當(dāng)前企業(yè)必須考慮的問(wèn)題[1]。面對(duì)商業(yè)社會(huì)競(jìng)爭(zhēng)日益激烈,市場(chǎng)變化的步伐逐步加快,越來(lái)越多的企業(yè)認(rèn)識(shí)到了信息技術(shù)對(duì)企業(yè)持續(xù)發(fā)展的重要性和迫切性。為適應(yīng)企業(yè)發(fā)展,需開(kāi)發(fā)一個(gè)信息發(fā)布網(wǎng)站,以解決各種信息共享和同步的問(wèn)題。
本系統(tǒng)采用C#語(yǔ)言編碼,基于ASP.NET 3.5技術(shù)和B/S模式[2],同時(shí)將Dreamweaver CS6和Visual Studio 2010兩種軟件結(jié)合起來(lái)實(shí)現(xiàn)界面和編碼,采用SQL Server2008作為數(shù)據(jù)庫(kù)[3]。通過(guò)數(shù)據(jù)庫(kù)集成企業(yè)內(nèi)各種信息資源,實(shí)現(xiàn)了對(duì)信息的統(tǒng)一授權(quán)管理和集中發(fā)布,提高了工作效率。
1 系統(tǒng)平臺(tái)和系統(tǒng)工作模式
1.1 asp.net三層架構(gòu)
本系統(tǒng)采用ASP.NET技術(shù),基于三層架構(gòu)模式開(kāi)發(fā)[3]。
⑴ 表現(xiàn)層
用于用戶(hù)接口的展示,用業(yè)務(wù)層的類(lèi)和對(duì)象來(lái)“驅(qū)動(dòng)”這些接口。
在ASP.NET中,該層包括aspx頁(yè)面、用戶(hù)控件、服務(wù)器以及某些與安全相關(guān)的類(lèi)和對(duì)象。
⑵ 業(yè)務(wù)層
用于訪(fǎng)問(wèn)數(shù)據(jù)層,從數(shù)據(jù)層取數(shù)據(jù)、修改數(shù)據(jù)、刪除數(shù)據(jù),并將結(jié)果返回給表現(xiàn)層。
在ASP.NET中,該層包括使用SqlClient或OleDe從SQL Server或Access數(shù)據(jù)庫(kù)取數(shù)據(jù)、更新數(shù)據(jù)及刪除數(shù)據(jù),并把取得的數(shù)據(jù)放到DataReader或DataSet中返回給表現(xiàn)層。
⑶ 數(shù)據(jù)層
是數(shù)據(jù)庫(kù)或數(shù)據(jù)源。在ASP.NET中,它通常是一個(gè)SQL Server或Access數(shù)據(jù)庫(kù),還可能是Oracle,MySQL,甚至是XML。
1.2 數(shù)據(jù)庫(kù)工具
本系統(tǒng)采用SQL Server 2008作為數(shù)據(jù)庫(kù),SQL Server 2008實(shí)現(xiàn)了四個(gè)服務(wù)[4]。
⑴ 數(shù)據(jù)庫(kù)引擎:是核心服務(wù),負(fù)責(zé)完成數(shù)據(jù)的存儲(chǔ)、處理、查詢(xún)和安全管理等操作。
⑵ 分析服務(wù):提供多維分析和數(shù)據(jù)挖掘功能。
⑶ 報(bào)表服務(wù):為用戶(hù)提供支持Web方式的企業(yè)級(jí)報(bào)表功能,用戶(hù)可以方便地定義和發(fā)布符合需求的報(bào)表,可以方便地生成Word、PDF、Excel等格式的報(bào)表。
⑷ 集成服務(wù):是一個(gè)數(shù)據(jù)集成平臺(tái),負(fù)責(zé)完成有關(guān)數(shù)據(jù)的提取、轉(zhuǎn)換和加載等操作。
1.3 系統(tǒng)工作模式
該系統(tǒng)采用B/S(Browser/Server,瀏覽器/服務(wù)器)模式[5],該模式下,通過(guò)Web瀏覽器來(lái)實(shí)現(xiàn)用戶(hù)工作界面。它能夠?qū)崿F(xiàn)不同人員、不同地點(diǎn)、以不同的接入方式訪(fǎng)問(wèn)和操作共同的數(shù)據(jù),這樣的好處是減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶(hù)的總體成本。
2 信息發(fā)布網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
2.1 體系結(jié)構(gòu)
該系統(tǒng)采用B/S模式,可分為前臺(tái)模塊和后臺(tái)管理模塊。前臺(tái)模塊的用戶(hù)主要是本企業(yè)或單位內(nèi)部員工,后臺(tái)管理模塊的用戶(hù)為管理員。這些模塊都是通過(guò)ADO.NET對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作實(shí)現(xiàn)的[6],系統(tǒng)體系結(jié)構(gòu)如圖1所示。
[瀏覽器] [Web服務(wù)器] [信息發(fā)布網(wǎng)站][前臺(tái)][瀏覽信息][新建信息][修改信息][查詢(xún)信息][審核信息] [后臺(tái)管理][信息類(lèi)型管理][用戶(hù)管理] [ADO.NET] [數(shù)據(jù)庫(kù)]
2.1.1 前臺(tái)模塊
⑴ 瀏覽信息:?jiǎn)T工登錄網(wǎng)站后,可以瀏覽自己和別人發(fā)布的信息??梢韵螺d該信息所帶的附件,或者打印該信息內(nèi)容。
⑵ 新建(發(fā)布)信息:授權(quán)的員工登錄網(wǎng)站后,可以新建信息。
⑶ 編輯信息:授權(quán)的員工登錄網(wǎng)站后,可以編輯已經(jīng)發(fā)布信息。
⑷ 查詢(xún)信息:?jiǎn)T工登錄網(wǎng)站后,可以查詢(xún)信息。
⑸ 審核信息:具有某類(lèi)信息審核權(quán)限的人,進(jìn)入系統(tǒng)后,選中某種類(lèi)型,系統(tǒng)會(huì)列出該類(lèi)型下的所有已審核和未審核的信息;沒(méi)有審核權(quán)限的人,只能看到該類(lèi)型中已經(jīng)審核的信息。
2.1.2 后臺(tái)模塊
⑴ 信息類(lèi)型管理:如圖2所示,管理員可以新建信息類(lèi)型、編輯信息類(lèi)型、刪除信息類(lèi)型,還可以給已經(jīng)創(chuàng)建的信息類(lèi)型授權(quán),使該信息類(lèi)型可以被那些授權(quán)人員可用。
[信息類(lèi)型管理][新建信息類(lèi)型][修改信息類(lèi)型][查詢(xún)信息類(lèi)型][審核信息類(lèi)型]
⑵ 用戶(hù)管理:如圖3所示,本系統(tǒng)主要是針對(duì)一個(gè)單位或企業(yè)內(nèi)部設(shè)計(jì)的信息發(fā)布網(wǎng)站,所以該模塊主要是對(duì)部門(mén)及員工的管理和管理員的管理。部門(mén)管理包括新建部門(mén)、編輯部門(mén)、刪除部門(mén)、查詢(xún)部門(mén);員工管理包括新建員工、編輯員工、刪除員工、查詢(xún)員工;管理員管理主要有:新建管理員、刪除管理員。
[用戶(hù)管理][部門(mén)管理檔][管理員管理檔][員工管理]
2.2 詳細(xì)設(shè)計(jì)
2.2.1 主要數(shù)據(jù)庫(kù)表
本系統(tǒng)主要有:①信息類(lèi)型表(informationType_
table);②信息文件表(information_table);③發(fā)布范圍表(publishScope_table)等。信息類(lèi)型表主要字段有:類(lèi)型ID、類(lèi)型名稱(chēng)、創(chuàng)建者ID、是否授權(quán)、可用人員ID、是否需要審核、創(chuàng)建時(shí)間、備注信息等。信息文件表主要字段有:信息文件、ID標(biāo)題、所屬類(lèi)型ID、發(fā)布人ID、所屬部門(mén)ID、可編輯人員ID、可編輯人員ID、發(fā)布時(shí)間。發(fā)布范圍表主要字段有ID、信息ID、可查閱人員ID、查閱狀態(tài)等。
2.2.2 主要類(lèi)圖
本設(shè)計(jì)主要類(lèi)有:informationTypeDB(信息類(lèi)型類(lèi))、informationDB(信息類(lèi))、authorizeDB(授權(quán)類(lèi))、accessoryDB(附件類(lèi))等。如圖4所示。
2.2.3 關(guān)鍵技術(shù)與功能代碼實(shí)現(xiàn)
管理員可以給已經(jīng)創(chuàng)建的信息類(lèi)型授權(quán),使該信息類(lèi)型對(duì)被授權(quán)人員可用。通過(guò)ADO.NET的SqlConnection進(jìn)行Sql Server數(shù)據(jù)庫(kù)的連接,使用SqlCommand對(duì)象的ExecuteNonQuery命令執(zhí)行相應(yīng)授權(quán)操作,部分代碼如下:
public int set_TypeAuth(int typeid, string authstring)
{ int j=0,sum=0,itemid;
SqlConnection myConnection=new SqlConnection
(ConfigurationManager.AppSettings["ConnectionString"]);
string sql="";
SqlCommand cmd=new SqlCommand(sql,myConnection);
myConnection.Open();
authstring=authstring.Substring(0, authstring
.LastIndexOf(";"));
foreach (string oneuser in authstring
.Split(new char[] { ';' }))
{ itemid=Convert.ToInt32(oneuser);
sql="insert infor_type_scope(typeid,userid)values
('"+typeid + "','" + itemid + "')";
cmd.CommandText=sql;
j=cmd.ExecuteNonQuery();
sum=sum+j; }
myConnection.Close();
return sum; }
2.3 系統(tǒng)配置
服務(wù)器端系統(tǒng)配置:網(wǎng)絡(luò)操作系統(tǒng)Windows 2003 Server中文版及以上,數(shù)據(jù)庫(kù)系統(tǒng)Microsoft SQL Server 2008??蛻?hù)端系統(tǒng)配置:Windows XP以上,操作系統(tǒng)IE6.0以上,支持內(nèi)網(wǎng)及外網(wǎng)用相同域名訪(fǎng)問(wèn),用戶(hù)可在企業(yè)內(nèi)部通過(guò)局域網(wǎng)指定域名(網(wǎng)址)登錄信息發(fā)布網(wǎng)站,也可在外部通過(guò)因特網(wǎng)使用同一域名登錄系統(tǒng)[7]。
3 結(jié)束語(yǔ)
本文介紹了采用B/S結(jié)構(gòu),基于ASP.NET的信息發(fā)布網(wǎng)站的設(shè)計(jì)思想和其中用到的關(guān)鍵技術(shù)。實(shí)現(xiàn)了對(duì)企業(yè)信息分類(lèi)化、系統(tǒng)化和標(biāo)準(zhǔn)化管理[8],為企業(yè)信息的統(tǒng)一發(fā)布和授權(quán)管理提出了合理的解決方法。本文設(shè)計(jì)的信息發(fā)布網(wǎng)站僅適用于PC端,下一步將繼續(xù)完善,使其能適用于移動(dòng)終端。
參考文獻(xiàn)(References):
[1] 常中華.基于基于MXL的Web信息發(fā)布系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].
中國(guó)海洋大學(xué)碩士學(xué)位論文,2006.5:3-4
[2] 韓玉飛,高燕,殷旭東.支持多種手機(jī)客戶(hù)端的校園信息發(fā)布
系統(tǒng)[J].計(jì)算機(jī)時(shí)代,2014.5:71-73
[3] 楊玥.Web程序設(shè)計(jì):ASP.NET(項(xiàng)目教學(xué)版)[M].清華大學(xué)出
版社,2012.
[4] 衛(wèi)琳.SQL server 2008數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)教程(第二版)[M].清
華大學(xué)出版社,2011.
[5] 李叢.基于B/S架構(gòu)的辦公自動(dòng)化系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)
算機(jī)與現(xiàn)代化,2012.10:163-167
[6] 曹蘇群.基于NET的文檔管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].淮陰工
學(xué)院學(xué)報(bào),2003.10(5):54-57
[7] 賈宗星.基于ASP.NET的文檔管理系統(tǒng)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].
農(nóng)業(yè)網(wǎng)絡(luò)信息,2015.1:56-58
[8] 徐濤,黃增奇,羅中良.一個(gè)網(wǎng)站信息發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].
計(jì)算機(jī)時(shí)代,2014.2:15-17