明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

基于ASP的收發(fā)文管理系統(tǒng)的設(shè)計(jì)與完成

[摘要]摘要 網(wǎng)絡(luò)辦公已是現(xiàn)代企業(yè)發(fā)展的大勢(shì)所趨。本文主要闡述了基于B/S結(jié)構(gòu)的收發(fā)文管理系統(tǒng)的功能模塊以及如何使用ASP和SQL Server解決一些相關(guān)的技術(shù),其中包括系統(tǒng)的安全性問(wèn)題! ∫浴 鹘y(tǒng)的手工辦公方式已經(jīng)無(wú)法滿足現(xiàn)代辦公的需求,收發(fā)文管理系統(tǒng)作為提高工作效率、規(guī)范辦公制度,增強(qiáng)辦公的透...

  摘要 網(wǎng)絡(luò)辦公已是現(xiàn)代企業(yè)發(fā)展的大勢(shì)所趨。本文主要闡述了基于B/S結(jié)構(gòu)的收發(fā)文管理系統(tǒng)的功能模塊以及如何使用ASP和SQL Server解決一些相關(guān)的技術(shù),其中包括系統(tǒng)的安全性問(wèn)題。

  引言

  傳統(tǒng)的手工辦公方式已經(jīng)無(wú)法滿足現(xiàn)代辦公的需求,收發(fā)文管理系統(tǒng)作為提高工作效率、規(guī)范辦公制度,增強(qiáng)辦公的透明性,實(shí)現(xiàn)信息、文檔資源的統(tǒng)一管理,方便領(lǐng)導(dǎo)決策,逐步實(shí)現(xiàn)無(wú)紙化辦公的重要工具,越來(lái)越受到人們的重視。

  我們選擇B/S三層結(jié)構(gòu),后臺(tái)數(shù)據(jù)庫(kù)采用SQL Server,WEB服務(wù)器運(yùn)行微軟的IIS,以ASP(Active Server Pages)作為開(kāi)發(fā)工具,客戶端用IE瀏覽器。

  B/S模式體系結(jié)構(gòu)概述

  B/S模式是指在TCP/IP的支持下,以HTTP為傳輸協(xié)議,客戶端通過(guò)Browser訪問(wèn)Web服務(wù)器以及與之相連的后臺(tái)數(shù)據(jù)庫(kù)的技術(shù)及體系結(jié)構(gòu)。它由瀏覽器、Web服務(wù)器、應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器組成(圖1)。B/S模式突破了傳統(tǒng)的文件共享及C/S模式的限制,實(shí)現(xiàn)了更大程度的信息共享,任何用戶只要通過(guò)瀏覽器即可訪問(wèn)數(shù)據(jù)庫(kù),從而克服了時(shí)間和空間的限制。

  B/S模式的工作原理是:客戶端的瀏覽器通過(guò)URL訪問(wèn)Web服務(wù)器,Web服務(wù)器請(qǐng)求數(shù)據(jù)庫(kù)服務(wù)器,并將獲得的結(jié)果以HTML形式返回客戶端瀏覽器。

  功能模塊

  基于收發(fā)文檔一體化的實(shí)現(xiàn)機(jī)制,可將系統(tǒng)分為如下幾個(gè)子模塊。

 。1) 系統(tǒng)管理

  作為系統(tǒng)管理員,他可以對(duì)整個(gè)系統(tǒng)進(jìn)行維護(hù),包括人員維護(hù)、科室維護(hù)、模塊維護(hù)、人員職能維護(hù)、人員職務(wù)維護(hù)、用戶權(quán)限維護(hù)、用戶口令維護(hù)、系統(tǒng)配置項(xiàng)的維護(hù)另外還可以對(duì)全局公告欄的類別進(jìn)行維護(hù)。

 。2) 發(fā)文管理

  發(fā)文管理是一個(gè)單位對(duì)具有約束能力文件形成過(guò)程的一種管理。如執(zhí)行發(fā)文擬稿、核稿、會(huì)審、會(huì)簽、簽發(fā)、文書(shū)打印、批閱流轉(zhuǎn)、歸檔等管理工作。文件送閱和批復(fù)完全在計(jì)算機(jī)網(wǎng)絡(luò)上完成,所有的工作流程可以由用戶自定義,所有的送交批閱痕跡,修改痕跡,操作時(shí)間和操作人都被詳細(xì)保留。同時(shí),對(duì)發(fā)文系統(tǒng)還提供全文檢索、條件檢索等功能。

  它主要的用于像公司規(guī)章制度的形成、檔案室制度的形成、財(cái)務(wù)室制度的形成、干部任免文件的形成、職工獎(jiǎng)罰規(guī)定的形成、庫(kù)存管理制度的形成、安全生產(chǎn)制度的形成、及其它對(duì)所有人都具有約束性的文件的形成過(guò)程。

  圖(2)是整個(gè)發(fā)文的流程圖,用戶可以根據(jù)需要選擇其中的某些步驟來(lái)完成發(fā)文的管理。


圖2

 。3) 收文管理

  收文管理主要對(duì)外來(lái)公文進(jìn)行登記和處理。主要用于登記像稅務(wù)局發(fā)來(lái)的文件、公安部門(mén)發(fā)來(lái)的文件、總公司發(fā)來(lái)的文件行業(yè)主管部門(mén)來(lái)文的處理過(guò)程、協(xié)作單位發(fā)來(lái)的文件處理過(guò)程、兄弟單位發(fā)來(lái)的文件處理過(guò)程、及其它外來(lái)的公文文件的處理過(guò)程。

  主要的處理過(guò)程有:收文登記、主任擬辦、領(lǐng)導(dǎo)批示、處室承辦、傳閱、送交歸檔等功能。在領(lǐng)導(dǎo)批辦界面可以將文件送往更高一級(jí)的領(lǐng)導(dǎo)進(jìn)行審批,到底由哪些處室承辦,送交給哪些處室由最高領(lǐng)導(dǎo)決定。管理人員可以通過(guò)“收文查詢操作”對(duì)收文處理全過(guò)程進(jìn)行跟蹤與監(jiān)督。

  對(duì)辦理完畢的收文系統(tǒng)還提供全文檢索、條件檢索、統(tǒng)計(jì)等功能。

  圖(3)是整個(gè)收文的流程圖,用戶可以根據(jù)需要選擇其中的某些步驟來(lái)完成收文的管理。


圖3

 。4) 檔案管理

  對(duì)本部門(mén)或其它部門(mén)發(fā)送的文件進(jìn)行接收,然后將文件進(jìn)行組卷(將文件組入某一案卷中)、移卷(將某案卷中的文件移動(dòng)至其它案卷)、移出(將某案卷中的文件移出案卷)。對(duì)于未立卷的收發(fā)文文件,可以組卷。對(duì)于檔案可以進(jìn)行封卷,拆卷,銷毀案卷,對(duì)封卷的案卷或未封卷的案卷都可以進(jìn)行借閱和查詢管理,您可以在此進(jìn)行檔案的借閱、歸還。還可以對(duì)檔案的閱讀權(quán)限進(jìn)行有效地分配管理。

  相關(guān)的實(shí)現(xiàn)技術(shù)

  1、典型數(shù)據(jù)表的設(shè)計(jì)

  在收發(fā)文管理系統(tǒng)中,任意收文或發(fā)文文件都對(duì)應(yīng)一個(gè)默認(rèn)流程(事先已經(jīng)定義好了),文件按照流程中指定的步驟逐次向下流轉(zhuǎn)。以某收文流程為例有:收文登記—〉主任擬辦—〉領(lǐng)導(dǎo)批辦—〉處室承辦—〉送交歸檔。為了對(duì)文件進(jìn)行實(shí)時(shí)跟蹤,及時(shí)監(jiān)督它的流向進(jìn)程或者考察在某些階段處理的詳細(xì)情況,這就要求我們提供兩個(gè)重要的數(shù)據(jù)表,在本系統(tǒng)中為數(shù)據(jù)表gw_mrlc和數(shù)據(jù)表gw_cllc。

  其中,gw_mrlc(wdlx,lcmc,ry,xh,clm,clr)記錄了系統(tǒng)中用到的各默認(rèn)流程的信息。Wdlx指文檔類型,收文或者發(fā)文;lcmc指流程名稱;ry指定義該默認(rèn)流程的人員;xh對(duì)應(yīng)默認(rèn)流程中各步驟的順序號(hào),它有大小之分,小的則表示步驟在前,系統(tǒng)將先執(zhí)行;clm對(duì)應(yīng)默認(rèn)流程中各步驟的名稱;clr對(duì)應(yīng)默認(rèn)流程中各步驟的處理人員。

  Gw_mrlc僅是記錄了各流程的信息,還需要gw_cllc(lxh,lcmc,xh,clr,jbrq,clrq,clyj,zt,wjm)來(lái)跟蹤文件在流程中的執(zhí)行狀況。對(duì)于任意收發(fā)文文件在系統(tǒng)中都會(huì)有各自唯一的流程與之一一對(duì)應(yīng),lxh則記錄了該流程的序列號(hào);lcmc,xh,clr同上所定義;jbrq,clrq,clyj,zt,wjm都是針對(duì)該流程中順序號(hào)為xh的各個(gè)處理步驟而言,jbrq指上一個(gè)步驟處理完畢提交過(guò)來(lái)時(shí)的日期;clrq指當(dāng)前步驟處理完畢時(shí)的日期;clyj指當(dāng)前步驟的處理意見(jiàn);zt指當(dāng)前步驟的處理狀態(tài),已經(jīng)處理還是尚未處理,以方便文件的實(shí)時(shí)跟蹤;wjm則記錄了文件的正文內(nèi)容和在流轉(zhuǎn)過(guò)程中文件的修改痕跡,具體的可以通過(guò)文件上傳功能來(lái)實(shí)現(xiàn)。

  2、使用Session進(jìn)行登錄驗(yàn)證

  ASP代碼使用表單實(shí)現(xiàn)交互,而相應(yīng)的內(nèi)容會(huì)反映在瀏覽器的地址欄中,如果不采用適當(dāng)?shù)陌踩胧灰浵逻@些內(nèi)容,就可以繞過(guò)驗(yàn)證直接進(jìn)入某一頁(yè)面。例如在瀏覽器中敲入“...xx.asp?flag=1”,即可不經(jīng)過(guò)表單頁(yè)面直接進(jìn)入滿足“flag=1”條件的頁(yè)面。

  為防止未經(jīng)注冊(cè)的用戶繞過(guò)注冊(cè)界面直接進(jìn)入應(yīng)用系統(tǒng),我們采用Session對(duì)象進(jìn)行注冊(cè)驗(yàn)證。例如,我們制作了下面的注冊(cè)頁(yè)面。

<%’讀取用戶登錄的信息
Luser=ltrim(Request("User"))
Lpass=Request("Pass")
’檢驗(yàn)帳號(hào)和密碼是否正確
if Luser=rs(“userid”) and Lpass= rs(“password”) then
Session("sysuser")=Luser ’使用Session對(duì)象進(jìn)行用戶登錄驗(yàn)證

else
response.write “您的輸入不正確!”
response.end
end if
%>

  在應(yīng)用系統(tǒng)的其他WEB頁(yè),首先要進(jìn)行Session對(duì)象的驗(yàn)證。如果你未通過(guò)用戶登錄界面,那么Session("sysuser")就為空值,你將無(wú)法使用系統(tǒng)提供的任何功能,除非你是合法用戶才可,這樣就在一定程度上保證了系統(tǒng)的安全性。其驗(yàn)證代碼如下:

<%
if session("sysuser ")=" then
response.write("對(duì)不起,你還沒(méi)有<a href='../login.asp' target='_top'>登錄</a>。")
else

end if
%>

  3、對(duì)ASP頁(yè)面進(jìn)行加密

  為有效的防止ASP源代碼泄露,可以對(duì)ASP頁(yè)面進(jìn)行加密。我們?cè)捎脙煞N方法對(duì)ASP頁(yè)面進(jìn)行加密。一是使用組件技術(shù)將編程邏輯封裝入DLL之中;二是使用微軟的ScriptEncoder對(duì)ASP頁(yè)面進(jìn)行加密。使用組件技術(shù)存在的主要問(wèn)題是每段代碼均需組件化,操作比較繁瑣,工作量較大,而使用Encoder對(duì)ASP頁(yè)進(jìn)行加密,操作簡(jiǎn)單,收效良好。

  ScriptEncoder的運(yùn)行程序是SCRENC.EXE,使用方法是:

SCRENC [/s][/f][/xl][/ldefLanguage][/edefExtention]inputfile outputfile

  其中:/s是屏蔽屏幕輸出;/f指定輸出文件是否覆蓋同名輸入文件;/xl指是否在.asp文件的頂部添加@Language指令;/ldefLanguage指定缺省的腳本語(yǔ)言;/edefExtention指定待加密文件的擴(kuò)展名。

  4、存儲(chǔ)過(guò)程的使用

  使用存儲(chǔ)過(guò)程不僅可以提高查詢速度,而且可以保證事務(wù)的完整性。在該系統(tǒng)中,每個(gè)文件對(duì)應(yīng)唯一的流水號(hào),當(dāng)有新的文件要入庫(kù)時(shí)流水號(hào)就會(huì)自動(dòng)加一。由于所有的用戶都在網(wǎng)上,那么兩個(gè)文件同時(shí)入庫(kù)的情況就有可能發(fā)生,為了保證流水號(hào)的唯一性,就要求“取流水號(hào)”和“流水號(hào)加一”作為一個(gè)事務(wù)來(lái)完成。ASP調(diào)用存儲(chǔ)過(guò)程比調(diào)用SQL語(yǔ)句要復(fù)雜一些,必須用ADO組件中的命令對(duì)象,步驟如下:

  創(chuàng)建一個(gè)ADO命令對(duì)象,把Commandtext屬性為存儲(chǔ)過(guò)程名,Commandtype屬性為4,表示該命令是調(diào)用存儲(chǔ)過(guò)程為命令對(duì)象創(chuàng)建參數(shù)。

  用“命令對(duì)象.CreateParameter(參數(shù)名稱,類型,方向,長(zhǎng)度)”命令創(chuàng)建對(duì)應(yīng)與存儲(chǔ)過(guò)程的輸人、輸出參數(shù)。

  用“命令對(duì)象.Parameters(參數(shù)名稱).Value=參數(shù)值”命令給輸人參數(shù)賦值。

  用“命令對(duì)象.Parameters.Append參數(shù)名稱”命令將各個(gè)參數(shù)加入到命令對(duì)象的參數(shù)集合中。

  “命令對(duì)象.Execute”執(zhí)行存儲(chǔ)過(guò)程。

  “變量名=命令對(duì)象.Parameters(輸出參數(shù)名稱).Value”得到輸出參數(shù)值。

  結(jié)束語(yǔ)

  基于B/S模式開(kāi)發(fā)的收發(fā)文管理系統(tǒng)的實(shí)現(xiàn),無(wú)疑會(huì)使傳統(tǒng)的以手工為主的辦公方式和辦公手段,向科學(xué)化、規(guī)范化、高效化和信息化轉(zhuǎn)變?梢灶A(yù)計(jì),隨著辦公信息量的增加和信息化程度的提高,電子辦公將是未來(lái)辦公的發(fā)展方向。