基于ASP的收發(fā)文管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
摘要 網(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形式返回客戶端瀏覽器。 功能模塊
(3) 收文管理 收文管理主要對(duì)外來(lái)公文進(jìn)行登記和處理。主要用于登記像稅務(wù)局發(fā)來(lái)的文件、公安部門發(fā)來(lái)的文件、總公司發(fā)來(lái)的文件行業(yè)主管部門來(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)完成收文的管理。
(4) 檔案管理 對(duì)本部門或其它部門發(fā)送的文件進(jìn)行接收,然后將文件進(jìn)行組卷(將文件組入某一案卷中)、移卷(將某案卷中的文件移動(dòng)至其它案卷)、移出(將某案卷中的文件移出案卷)。對(duì)于未立卷的收發(fā)文文件,可以組卷。對(duì)于檔案可以進(jìn)行封卷,拆卷,銷毀案卷,對(duì)封卷的案卷或未封卷的案卷都可以進(jìn)行借閱和查詢管理,您可以在此進(jìn)行檔案的借閱、歸還。還可以對(duì)檔案的閱讀權(quán)限進(jìn)行有效地分配管理。 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è)面。 <%’讀取用戶登錄的信息 在應(yīng)用系統(tǒng)的其他WEB頁(yè),首先要進(jìn)行Session對(duì)象的驗(yàn)證。如果你未通過(guò)用戶登錄界面,那么Session("sysuser")就為空值,你將無(wú)法使用系統(tǒng)提供的任何功能,除非你是合法用戶才可,這樣就在一定程度上保證了系統(tǒng)的安全性。其驗(yàn)證代碼如下: <% 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ā)展方向。 該文章在 2012/8/30 23:04:04 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |