周葉菲
麗水市環境衛生管理處,浙江麗水 323000
通過對我國檔案管理現狀的研究調查發現,各行各業根據檔案對象的規模大小和實際應用狀況,基本采用了不同的檔案管理軟件。目前,國內檔案管理軟件主要存在以下弊病:
l)用戶對檔案的管理方法主要是基于文件系統,文件系統中用戶對目錄結構的創建、操作過于隨意;
2)文件系統對文件權限的控制過于簡單。用戶一旦擁有了對某個檔案的瀏覽權限,可能同時也具有對該檔案進行修改、拷貝甚至刪除的權限;
3)查詢和檢索功能單一。查詢是檔案管理各種功能中最為關鍵的一環。在數以萬計的檔案之中,如何快速全面地找到需要的檔案是對檔案進行操作的前提;
4)歷史數據的導入、導出能力差。檔案資料的導出只是將文件或文檔的電子檔案輸出備份,而一些重要的過程數據卻無法保存,這點遠遠不能滿足用戶的需求。
檔案管理系統是對所有采集所得的數字化檔案資源提供管理服務。要求提供對所有數字化檔案信息進行標準化的管理,實現檔案接收、移交、鑒定、銷毀、報表打印、統計等一系列管理功能,各功能設計相對模塊化并形成一個有效的管理整體。要求提供對不同來源、不同格式的數字檔案進行規范化工作包括電子文件元數據規范、數據交換規范文件的語一言格式、數據交換的物理存儲介質規范和數據交換的邏輯格式規范。要求提供對元數據進行著錄的功能及檔案目錄交換按DB32/5052002標準。要求提供各種檔案數據的索引和編制各種專題目錄
確定了系統的主要用戶以后,就各類用戶的使用需求將系統的功能分為以下幾類:
l)檔案室管理員的功能需求如下:文件資源管理;全宗名冊管理;全宗卷管理;檔案資源管理;檔案鑒定管理;檔案驗收管理;檔案銷毀管理;檔案存儲管理;檔案借閱管理;檔案利用反饋管理;檔案數字化管理;檔案庫房管理;文件鑒定;整編歸檔;日志管理;用戶賬戶和權限管理;
2)A機關下屬職能部門的功能需求比較單一,主要是完成電子文件的上傳;
3)普通公眾用戶的功能需求如下:瀏覽檔案;檢索自己感興趣的檔案;下載特定的檔案。
系統體系架構很好地體現了MVC設計模式的分層思想,每一層只能和相鄰層進行交互,在體系結構最下層是數據庫,存放系統運行時的各種數據,包括元數據數據庫、中心數據庫和網站數據庫,數據庫只有數據持久層才能訪問,對視圖層和業務邏輯層是透明的,所以開發人員不需要關系底層的數據存儲。
l)資源上傳模塊:A機關下屬子部門通過該模塊將分散的電子文件集中上傳給檔案系統管理員,此后電子文件進入待整編狀態;
2)檔案管理模塊:這是檔案管理員業務核心模塊之一。該模塊包括信息資源管理、檔案業務管理、檔案數字化管理、實體檔案管理、業務檔案管理子模塊,每個模塊分別處理不同的業務。信息資源管理主要是完成全宗卷、檔案資源的添加和刪除;檔案業務管理是對檔案的鑒定、驗收、銷毀相關信息的記錄;實體檔案管理記錄有關檔案存儲、借閱、利用反饋等信息;檔案數字化管理主要是完成電子文件檔案化的功能;檔案庫房管理—記錄檔案庫房的各種數據,另外,本模塊中還有一個重要功能,管理員以報表的形式導出電子檔案,包括導出為excel文件和XML文件;
3)收集整編模塊:這是本系統另外一個核心模塊,包括文件鑒定和整編歸檔兩個子模塊。
業務邏輯層是系統構架中最核心的部分。它的關注點幾種在業務規則的制定、業務流程的實現等與業務需求有關的系統設計。它在整個系統中扮演一個中介的角色,對數據交換起到了承上啟下的作用,對于數據模型層而言,它是調用者,而對于表示層而言,它又是被調用者,依賴于被依賴的關系都糾結在業務邏輯層上。
Spring作為一個強大的輕量級開源框架,是連接Struts和Toplink的橋梁,使用Spring能夠很好地處理業務邏輯層,同時降低各種依賴關系的禍合關系,實現了組件間的松散禍合,加快了開發進度。Spring采用控制反轉原則,利用BeanFactory容器來實例化、配置和管理Bean,通過這種方式管理業務邏輯層。業務邏輯層的工作流程如圖:業務邏輯層為表示層提供統一接口Service。通常情況下我們在Service接口內定義所需的業務方法,然后在Service實現類中通過對DAO的調用來實現業務邏輯。對O-R模型對象的調用可以通過Spring的配置文件ApplicationContext.xml的配置得到實現。Spring支持三種依賴注入分別是setter、構造函數和方法注入。在本架構中,采用Setter注入方式對bean進行管理。
3.3.1 表示層的設計目標
表示層的設計好壞直接關系到系統用戶的體驗,如果表示層設計缺乏吸引人的特色,界面不夠友好,操作不夠體貼,即便系統的功能豐富,性能優異,也很難給用戶留下好的印象。由于本文是論述系統的實現,所以這里所關注的表現層設計,并沒有在美術的設計上下工夫,而是從架構設計的角度出發,闡述在表示層設計中MVC模式的應用。
3.3.2 表示層的實現
本系統采用struts來完成表示層的設計與實現。下面結合用戶注冊模塊,介紹Struts的工作流程:
1)用戶在瀏覽器中輸入(或通過其他頁面跳轉)注冊頁面URL,這時客戶端出現regjsp頁面,顯示注冊頁面;
2)輸入注冊信息“用戶名”、“密碼”、“電話”、“郵箱”,它們的屬性分別是“username”、“password”、“telnumber”、“email”,然后點擊“確定,,按鈕提交表單,表單名為regForm;
3)服務器端接收到用戶的HTTP表單請求,查找struts配置文件struts-config.xml以確定是否有響應用戶請求的條目,并根據文件內容進行路徑和功能的映射;
4)Actionservlet類將接收到的用戶請求打包成一個ActionForm類,即RegForm對象,這個對象實際上就是一個使用set()或者get()方法的JavaBean,里面包含用戶注冊填寫的那四個字段;
5)系統生成一個用戶請求的Action實例對象,即RegAction,并將前面的ActionForm對象傳遞給它,然后調用RegAetion中的Cheek()方法,檢驗是否有重名或者格式的有效性,如果沒有,則調用reg()方法,將從regF0rm中獲得的字段值保存在User對象中,最后由userDaoToPlink類完成數據的持久化工作;
6)在reg()方法執行完后會生成一個ActionForward類型的對象并將之返回給Actionservlet,該對象的作用是用于頁面的跳轉。
[1]李桂芬.現代檔案管理系統研究與發展.蘭臺世界,2008,1:36.
[2]吳王平.基于JZEE的高校采購系統的研究與設計.浙江工業大學碩士學位論文,2009,4:7.
[3]王向兵.JavaEE多層架StrutsZ+spring3+Hibernate3+Ajax的整合.大連海事大學碩士學位論文,2009,6:7.