潘鶴婷
【摘 要】使用.NET技術(shù)的三層結(jié)構(gòu)組織體系開(kāi)發(fā)論文認(rèn)證系統(tǒng),利用ASP.NET來(lái)設(shè)計(jì)用戶(hù)界面,用ADO.NET實(shí)現(xiàn)對(duì)數(shù)據(jù)的存取。該系統(tǒng)的使用提高了工作效率又便于對(duì)論文認(rèn)證申請(qǐng)數(shù)據(jù)的整理,拓展了數(shù)字圖書(shū)館的業(yè)務(wù)服務(wù)范圍。
【關(guān)鍵詞】.NET技術(shù);ASP.NET;數(shù)字圖書(shū)館
【Abstract】Paper authentication system is built by three-layer structure based on .NET Framework. This system using ASP.NET to design the user interface, using ADO.NET to achieve access to the data.The use of the system to improve the working efficiency and facilitate the paper certification application data sorting, expand the scope of the digital library business services.
【Key words】.NET Framework; ASP.NET; Digital Library
0 引言
天津醫(yī)科大學(xué)作為一所“211”工程院校,每年培養(yǎng)的各級(jí)各類(lèi)研究生1000余名。學(xué)校規(guī)定研究生需要公開(kāi)發(fā)表論文作為申請(qǐng)學(xué)位的條件,對(duì)于這些發(fā)表論文的認(rèn)證審核由學(xué)校的圖書(shū)館完成。研究生發(fā)表論文的類(lèi)型多樣既有中文核心期刊又有SCI收錄的英文期刊,以往每年圖書(shū)館對(duì)于研究生發(fā)表論文的認(rèn)證工作都是由研究生在Word文檔上填寫(xiě)認(rèn)證申請(qǐng)后以郵件的形式發(fā)送至圖書(shū)館,圖書(shū)館工作人員接收申請(qǐng)后填寫(xiě)論文認(rèn)證的詳細(xì)信息并打印。該方法工作量大,不利于論文認(rèn)證申請(qǐng)數(shù)據(jù)的保存和統(tǒng)計(jì)工作。為此,天津醫(yī)科大學(xué)圖書(shū)館開(kāi)發(fā)了基于.NET技術(shù)論文認(rèn)證系統(tǒng)既提高了工作效率又便于對(duì)論文認(rèn)證申請(qǐng)數(shù)據(jù)的整理。
1 相關(guān)技術(shù)簡(jiǎn)介
論文認(rèn)證系統(tǒng)采用了.NET環(huán)境的三層結(jié)構(gòu)組織體系,通過(guò)組件來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)和應(yīng)用邏輯的封裝,使用Web服務(wù)向外部提供信息,利用ASP.NET來(lái)設(shè)計(jì)用戶(hù)界面,用ADO.NET實(shí)現(xiàn)對(duì)數(shù)據(jù)的存取,使整個(gè)設(shè)計(jì)更為模塊化、合理化,加速了程序開(kāi)發(fā)進(jìn)程[1]。此外,本系統(tǒng)使用SQL Server 2005作為后臺(tái)數(shù)據(jù)庫(kù)保存論文認(rèn)證提交申請(qǐng)以及論文認(rèn)證處理信息。
2 系統(tǒng)設(shè)計(jì)
系統(tǒng)的總體設(shè)計(jì)目標(biāo)是建一個(gè)基于Web的論文認(rèn)證信息管理系統(tǒng),既方便提交申請(qǐng)的研究生,規(guī)范論文認(rèn)證制度,又能減輕圖書(shū)館的工作量,從技術(shù)上保證論文認(rèn)證工作的規(guī)范化、自動(dòng)化和科學(xué)化,提高論文認(rèn)證工作的工作效率[2]。
2.1 設(shè)計(jì)思路
系統(tǒng)采用ASP.NET+SQL Server技術(shù),將數(shù)據(jù)庫(kù)與網(wǎng)絡(luò)緊密結(jié)合,發(fā)揮信息化管理的強(qiáng)大優(yōu)勢(shì),為論文認(rèn)證工作的自動(dòng)化管理提供技術(shù)保障。依據(jù)這一思想,制定的設(shè)計(jì)目標(biāo)是:(1)研究生在線填寫(xiě)論文認(rèn)證申請(qǐng);(2)圖書(shū)館工作人員根據(jù)研究生學(xué)號(hào)接受認(rèn)證申請(qǐng),填寫(xiě)論文認(rèn)證處理信息;(3)根據(jù)處理完成的認(rèn)證申請(qǐng)開(kāi)具正式/臨時(shí)論文認(rèn)證報(bào)告。此外,為了保證系統(tǒng)的安全性,在設(shè)計(jì)上著重考慮了以下幾個(gè)方面:(1)圖書(shū)館工作人員通過(guò)用戶(hù)名和密碼登錄進(jìn)入系統(tǒng)的同時(shí),系統(tǒng)產(chǎn)生Session,避免非法用戶(hù)繞開(kāi)系統(tǒng)登錄直接使用系統(tǒng);(2)在訪問(wèn)數(shù)據(jù)庫(kù)的操作上采用ASP.NET調(diào)用SQL Server存儲(chǔ)過(guò)程實(shí)現(xiàn),有效的避免了SQL注入攻擊[3]。
2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)
在建立論文認(rèn)證系統(tǒng)后臺(tái)數(shù)據(jù)庫(kù)之前需要設(shè)計(jì)系統(tǒng)的靜態(tài)模型[4],根據(jù)系統(tǒng)靜態(tài)模型所涉及的類(lèi)建立數(shù)據(jù)庫(kù)關(guān)系模式。整個(gè)系統(tǒng)的靜態(tài)模型主要分為三類(lèi):論文作者信息、認(rèn)證申請(qǐng)信息和認(rèn)證處理信息。由于研究生所發(fā)表論文刊物分為國(guó)內(nèi)正式期刊、中文核心期刊、中文社會(huì)科學(xué)引文索引、自主認(rèn)定核心期刊、SCI索引源期刊、中華系列期刊,因此將六個(gè)種類(lèi)分為中文期刊和SCI索引源期刊建立靜態(tài)模型,針對(duì)中文期刊首先建立類(lèi)“國(guó)內(nèi)正式期刊”,中文核心期刊、中文社會(huì)科學(xué)引文索引、自主認(rèn)定核心期刊和中華系列期刊這四種類(lèi)型期刊所建立的類(lèi)均可以從該類(lèi)派生得到。認(rèn)證處理信息對(duì)應(yīng)的靜態(tài)模型建立方式與之類(lèi)似,也分為中文期刊和SCI索引源期刊,首先建立類(lèi)“國(guó)內(nèi)正式期刊處理信息”,其他類(lèi)型中文期刊的處理信息所對(duì)應(yīng)的類(lèi)均從該類(lèi)派生得到,以“國(guó)內(nèi)正式期刊”為例所對(duì)應(yīng)的靜態(tài)模型如下圖所示。
2.3 系統(tǒng)功能設(shè)計(jì)
論文認(rèn)證系統(tǒng)在功能上分為論文認(rèn)證申請(qǐng)?zhí)峤蛔酉到y(tǒng)和論文認(rèn)證申請(qǐng)?zhí)幚碜酉到y(tǒng)。在申請(qǐng)?zhí)峤蛔酉到y(tǒng)中,研究生在系統(tǒng)界面填寫(xiě)所發(fā)表論文的詳細(xì)信息,該子系統(tǒng)還支持對(duì)所提交申請(qǐng)進(jìn)行修改。申請(qǐng)?zhí)幚碜酉到y(tǒng)能夠提供的功能為檢索認(rèn)證申請(qǐng)、開(kāi)具正式/臨時(shí)認(rèn)證報(bào)告、修改認(rèn)證報(bào)告。系統(tǒng)功能結(jié)構(gòu)圖如下所示。
3 系統(tǒng)實(shí)現(xiàn)
論文認(rèn)證系統(tǒng)的實(shí)現(xiàn)中,采取典型的N層結(jié)構(gòu),其結(jié)構(gòu)設(shè)計(jì)為三層(如圖3所示),分別是:Web層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層。Web層為客戶(hù)端提供對(duì)應(yīng)用程序的訪問(wèn)接口。業(yè)務(wù)邏輯層位于數(shù)據(jù)訪問(wèn)層與Web層中間,起到了數(shù)據(jù)交換中承上啟下的作用。它是系統(tǒng)架構(gòu)中核心的部分。它的關(guān)注點(diǎn)主要集中在業(yè)務(wù)規(guī)則的制定、業(yè)務(wù)流程的實(shí)現(xiàn)等與業(yè)務(wù)需求有關(guān)的系統(tǒng)設(shè)計(jì)。數(shù)據(jù)訪問(wèn)層的作用是從數(shù)據(jù)庫(kù)獲取數(shù)據(jù)或者向數(shù)據(jù)庫(kù)傳送數(shù)據(jù)。
3.1 數(shù)據(jù)訪問(wèn)層的實(shí)現(xiàn)
數(shù)據(jù)訪問(wèn)層是應(yīng)用程序用來(lái)存儲(chǔ)、檢索和管理數(shù)據(jù)的方式集合。本系統(tǒng)是先通過(guò)在配置文件Web.Config中加入連接字符串,然后在應(yīng)用程序中調(diào)連接字符串實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的連接,該連接字符串為:
connectionString="Data Source=(LOCAL);Initial Catalog=SciResearch;
User ID=SA;Password=TianjinMU"
providerName="System.Data.SqlClient"/>
在數(shù)據(jù)訪問(wèn)層中定義與數(shù)據(jù)庫(kù)連接的類(lèi)DataBase,該類(lèi)中定義了與數(shù)據(jù)庫(kù)實(shí)現(xiàn)連接的方法,該方法首先得到配置文件Web.Config中的連接字符串,通過(guò)該字符串建立與數(shù)據(jù)庫(kù)的連接,并返回與數(shù)據(jù)庫(kù)的連接類(lèi)型SqlConnection。
3.2 業(yè)務(wù)邏輯層的實(shí)現(xiàn)
業(yè)務(wù)邏輯層為 Web 層提供查詢(xún)和操作數(shù)據(jù)的界面。業(yè)務(wù)外觀層用作隔離層,它將用戶(hù)界面與各種業(yè)務(wù)功能的實(shí)現(xiàn)隔離開(kāi),它包含各種業(yè)務(wù)規(guī)則和邏輯的實(shí)現(xiàn),實(shí)現(xiàn)內(nèi)容和表現(xiàn)相分離。在業(yè)務(wù)邏輯層中實(shí)現(xiàn)了系統(tǒng)提供的各項(xiàng)功能。在程序?qū)崿F(xiàn)中命名空間“BusinessLogic”表示對(duì)業(yè)務(wù)邏輯層的實(shí)現(xiàn),該命名空間包含三個(gè)類(lèi),類(lèi)“ProcessApplication.CS”用于實(shí)現(xiàn)研究生提交和修改論文認(rèn)證申請(qǐng),工作人員填寫(xiě)和修改論文認(rèn)證處理信息;類(lèi)“SystemProcess.CS”用于實(shí)現(xiàn)業(yè)務(wù)邏輯層訪問(wèn)數(shù)據(jù)庫(kù)時(shí)所需要調(diào)用的存儲(chǔ)過(guò)程及其調(diào)用方法,類(lèi)“CertificationReport.CS”用于實(shí)現(xiàn)產(chǎn)生和打印正式/臨時(shí)認(rèn)證報(bào)告。
3.3 Web層的實(shí)現(xiàn)
Web層主要是設(shè)計(jì)一系列的網(wǎng)頁(yè)界面,用于進(jìn)行用戶(hù)的登錄,提供數(shù)據(jù)錄入界面,設(shè)置數(shù)據(jù)的查詢(xún)條件并顯示查詢(xún)結(jié)果,將接受的信息數(shù)據(jù)傳遞給業(yè)務(wù)邏輯層。在實(shí)現(xiàn)時(shí),使用ASP.NET的Web Form結(jié)合用戶(hù)控件實(shí)現(xiàn)的。由于使用Visual Studio .NET創(chuàng)建站點(diǎn),因此使用Code-behind的方式,將每個(gè)ASPX頁(yè)面的代碼封裝在一個(gè)單獨(dú)的文件中。通過(guò)調(diào)用XML Web Service提供的服務(wù),完成頁(yè)面的功能。將封裝的XML Web Service添加到當(dāng)前的應(yīng)用程序中,并在Code-Behind中將其實(shí)例化。
4 結(jié)語(yǔ)
論文認(rèn)證信息管理系統(tǒng)是基于網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)技術(shù)開(kāi)發(fā)的,具有穩(wěn)定、安全、可靠等優(yōu)點(diǎn)。實(shí)踐證明, 系統(tǒng)的應(yīng)用使論文認(rèn)證工作模式發(fā)生了變化, 充分地體現(xiàn)了數(shù)字化和網(wǎng)絡(luò)化, 既方便了申請(qǐng)學(xué)位的研究生, 也提高了工作效率,對(duì)于從技術(shù)上保證論文認(rèn)證工作的科學(xué)化、規(guī)范化、標(biāo)準(zhǔn)化具有重要現(xiàn)實(shí)意義。
【參考文獻(xiàn)】
[1]左鳳朝.基于Web的數(shù)據(jù)庫(kù)訪問(wèn)探析[J].計(jì)算機(jī)工程與應(yīng)用,2002.
[2]徐兵,王斌.基于 B/S 網(wǎng)上考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)水運(yùn)理論版,2006,3:157-157.
[3]楊應(yīng)全,李雪茹.SQL Server數(shù)據(jù)訪問(wèn)安全策略[J].現(xiàn)代情報(bào),2006,8:163-164.
[4]王云,周伯生.基于UML集成化支持環(huán)境的柔性軟件開(kāi)發(fā)過(guò)程[J].計(jì)算機(jī)科學(xué),1999,26(10):73-77.
[責(zé)任編輯:湯靜]