摘要網路辦公已是現代企業發展的大勢所趨。本文主要闡述了基於B/S結構的收發文管理系統的功能模組以及如何使用ASP和SQL Server解決一些相關的技術,其中包括系統的安全性問題。
引言
傳統的手工辦公方式已經無法滿足現代辦公的需求,收發文管理系統作為提高工作效率、規範辦公制度,增強辦公的透明性,實現資訊、文件資源的統一管理,方便領導決策,逐步實現無紙化辦公的重要工具,越來越受到人們的重視。
我們選擇B/S三層結構,後台資料庫採用SQL Server,WEB伺服器運行微軟的IIS,以ASP(Active Server Pages)作為開發工具,客戶端用IE瀏覽器。
B/S模式體系結構概述
B/S模式是指在TCP/IP的支援下,以HTTP為傳輸協議,客戶端透過Browser存取Web伺服器以及與之相連的後台資料庫的技術及體系結構。它由瀏覽器、網頁伺服器、應用程式伺服器和資料庫伺服器組成(圖1)。 B/S模式突破了傳統的文件共享及C/S模式的限制,實現了更大程度的資訊共享,任何用戶只要透過瀏覽器即可存取資料庫,從而克服了時間和空間的限制。
B/S模式的工作原理是:客戶端的瀏覽器透過URL存取Web伺服器,網路伺服器請求資料庫伺服器,並將獲得的結果以HTML形式傳回客戶端瀏覽器。
功能模組
基於收發文件一體化的實現機制,可將系統分為以下幾個子模組。
(1) 系統管理
身為系統管理員,他可以對整個系統進行維護,包括人員維護、科室維護、模組維護、人員職能維護、人員職務維護、用戶權限維護、用戶口令維護、系統配置項目的維護另外還可以對全局公告欄的類別進行維護。
(2) 發文管理
發文管理是一個單位對具有約束能力文件形成過程的一種管理。如執行發文擬稿、核稿、會審、會簽、簽發、文書列印、批閱串流、歸檔等管理工作。文件送閱和批次完全在電腦網路上完成,所有的工作流程可以由使用者自訂,所有的送交批閱痕跡,修改痕跡,操作時間和操作人都被詳細保留。同時,對發文系統也提供全文檢索、條件檢索等功能。
它主要的用於像公司規章制度的形成、檔案室制度的形成、財務室制度的形成、幹部任免文件的形成、職工獎罰規定的形成、庫存管理制度的形成、安全生產製度的形成、及其它對所有人都具有約束性的文件的形成過程。
圖(2)是整個發文的流程圖,使用者可以根據需要選擇其中的某些步驟來完成發文的管理。
圖2
(3) 收文管理
收文管理主要對外來公文進行登記和處理。主要用於登記像稅務局發來的文件、公安部門發來的文件、總公司發來的文件行業主管部門來文的處理過程、協作單位發來的文件處理過程、兄弟單位發來的文件處理過程、及其它外來的公文文件的處理過程。
主要的處理過程有:收文登記、主任擬辦、領導批示、處室承辦、傳閱、送交歸檔等功能。在領導批辦介面可以將文件送到更高一級的領導進行審批,到底由哪些處室承辦,送交給哪些處室由最高領導決定。管理人員可以透過「收文查詢操作」對收文處理全過程進行追蹤與監督。
辦理完畢的收文系統也提供全文檢索、條件檢索、統計等功能。
圖(3)是整個收文的流程圖,使用者可以根據需要選擇其中的某些步驟來完成收文的管理。
圖3
(4) 檔案管理
對本部或其它部門發送的文件進行接收,然後將文件進行組卷(將文件組入某一案卷中)、移卷(將某案卷中的文件移動至其它案卷)、移出(將某案卷中的文件移出案卷)。對於未立卷的收發文文件,可以組卷。對於檔案可以進行封卷,拆卷,銷毀案卷,對封卷的案卷或未封卷的案卷都可以進行借閱和查詢管理,您可以在此進行檔案的借閱、歸還。也可以對檔案的閱讀權限進行有效地分配管理。
相關的實作技術
1、典型資料表的設計
在收發文管理系統中,任意收文或發文檔案都對應一個預設流程(事先已經定義好了),檔案依照流程中指定的步驟逐次向下流轉。以某收文流程為例有:收文登記—〉主任擬辦—〉領導批辦—〉處室承辦—〉送交歸檔。為了對文件進行即時跟踪,及時監督它的流向進程或考察在某些階段處理的詳細情況,這就要求我們提供兩個重要的數據表,在本系統中為數據表gw_mrlc和數據表gw_cllc。
其中,gw_mrlc(wdlx,lcmc,ry,xh,clm,clr)記錄了系統中所使用的各預設流程的資訊。 Wdlx指文件類型,收文或發文;lcmc指流程名稱;ry指定義該預設流程的人員;xh對應預設流程中各步驟的順序號,它有大小之分,小的則表示步驟在前,系統將先執行;clm對應預設流程中各步驟的名稱;clr對應預設流程中各步驟的處理人員。
Gw_mrlc僅是記錄了各流程的信息,還需要gw_cllc(lxh,lcmc,xh,clr,jbrq,clrq,clyj,zt,wjm)來追蹤檔案在流程中的執行狀況。對於任意收發文檔案在系統中都會有各自唯一的流程與之一一對應,lxh則記錄了該流程的序號;lcmc,xh,clr同上所定義;jbrq,clrq,clyj,zt,wjm都是針對此流程中順序號為xh的各個處理步驟而言,jbrq指上一個步驟處理完畢提交過來時的日期;clrq指當前步驟處理完畢時的日期;clyj指當前步驟的處理意見;zt指當前步驟的處理狀態,已經處理還是尚未處理,以方便文件的即時追蹤;wjm則記錄了文件的正文內容和在流轉過程中文件的修改痕跡,具體的可以透過文件上傳功能來實現。
2.使用Session進行登入驗證
ASP程式碼使用表單實現交互,而相應的內容會反映在瀏覽器的網址列中,如果不採用適當的安全措施,只要記下這些內容,就可以繞過驗證直接進入某一頁面。例如在瀏覽器中敲入“...xx.asp?flag=1”,即可不經過表單頁面直接進入符合“flag=1”條件的頁面。
為防止未經註冊的使用者繞過註冊介面直接進入應用系統,我們採用Session物件進行註冊驗證。例如,我們製作了下面的註冊頁面。
<%'讀取使用者登入的信息
Luser=ltrim(Request("User"))
Lpass=Request("Pass")
'檢驗帳號和密碼是否正確
if Luser=rs(“userid”) and Lpass= rs(“password”) then
Session("sysuser")=Luser '使用Session物件進行使用者登入驗證…
else
response.write “您的輸入不正確!”
response.end
end if
%>
在應用系統的其他WEB頁,首先要進行Session物件的驗證。如果你未透過使用者登入介面,那麼Session("sysuser")就為空值,你將無法使用系統提供的任何功能,除非你是合法使用者才可,這就在一定程度上保證了系統的安全性。其驗證程式碼如下:
<%
if session("sysuser ")="" then
response.write("對不起,你還沒有<a href='../login.asp' target='_top'>登入</a>。")
else
…
end if
%>
3、對ASP頁面進行加密
為有效的防止ASP原始碼洩露,可以對ASP頁面進行加密。我們曾採用兩種方法對ASP頁面進行加密。一是使用元件技術將程式設計邏輯封裝入DLL之中;二是使用微軟的ScriptEncoder對ASP頁面進行加密。使用元件技術存在的主要問題是每段程式碼皆需元件化,操作比較繁瑣,工作量較大,而使用Encoder對ASP頁進行加密,操作簡單,收效良好。
ScriptEncoder的執行程式是SCRENC.EXE,使用方法是:
SCRENC [/s][/f][/xl][/ldefLanguage][/edefExtention]inputfile outputfile
其中:/s是屏蔽螢幕輸出;/f指定輸出檔案是否覆蓋同名輸入檔;/xl指是否在.asp檔的頂端新增@Language指令;/ldefLanguage指定缺省的腳本語言;/edefExtention指定待加密檔案的副檔名。
4.預存程序的使用
使用預存程序不僅可以提高查詢速度,還能確保事務的完整性。在這個系統中,每個檔案對應唯一的流水號,當有新的檔案要入庫時流水號就會自動加一。由於所有的使用者都在網路上,那麼兩個檔案同時入庫的情況就有可能發生,為了確保流水號的唯一性,就要求「取流水號」和「流水號加一」作為一個事務來完成。 ASP呼叫儲存過程比呼叫SQL語句複雜一些,必須用ADO元件中的命令對象,步驟如下:
建立一個ADO命令對象,把Commandtext屬性為預存程序名,Commandtype屬性為4,表示該指令是呼叫預存程序為命令物件建立參數。
用「指令物件.CreateParameter(參數名稱,類型,方向,長度)」指令建立對應與預存程序的輸人、輸出參數。
用「指令物件.Parameters(參數名稱).Value=參數值」指令給輸人參數賦值。
用「指令物件.Parameters.Append參數名稱」指令將各個參數加入到指令物件的參數集合中。
“命令物件.Execute”執行預存程序。
“變數名稱=指令物件.Parameters(輸出參數名稱).Value”得到輸出參數值。
結論
基於B/S模式開發的收發文管理系統的實現,無疑會使傳統的以手工為主的辦公方式和辦公手段,向科學化、規範化、高效化和資訊化轉變。可以預計,隨著辦公資訊量的增加和資訊化程度的提高,電子辦公將是未來辦公的發展方向。