吳俊 蔡嘉興 黎明



摘要:伴隨著辦公系統的轉型換代,OA系統成為企業中不可或缺的存在。該文介紹了OA系統以及該系統結構設計,對SSH框架在OA系統中的工作原理進行具體的分析,并示例了基礎功能系統管理和系統權限的實現思路以及相關代碼,實現了核心功能審批流轉。
關鍵詞:OA;JBPM;SSH;工作流
中圖分類號:TP317.1 文獻標識碼:A
文章編號:1009-3044(2020)27-0095-02
開放科學(資源服務)標識碼(OSID):
1 背景
OA系統面向企業日常管理和運行,是企業人員工作必備的應用系統,它協調組織多層次多組織設備及人員完成辦公業務,提高信息工作的效率和質量。伴隨著信息自動化技術的不斷發展,辦公自動化影響著生活的各個方面[1]。
本文對系統管理、論壇管理以及審批流轉功能進行設計和實現。其中系統的管理功能主要實現了對系統中的員工,部門,崗位三個模塊的基本信息的增加、刪除、修改、查詢操作。系統權限功能初始化由系統管理員進行分配相應的權限。
2 工作流
工作流(WorkFlow)是將工作流程中的組織邏輯和相關規則,在計算機中表示并對其實施計算的模型。工作流的目標如:1)業務目標的實現;2)自動化在多個不同參與者時間授權傳遞任務、信息、文檔等[2]。
當前常用的工作流框架有:開源JAVA工作流引擎JFlow、工作流管理系統JBPM、Storm的實時流式計算框架JStorm等。
3 系統設計
3.1 功能設計
此系統功能結構主要可包含三個部分系統管理、論壇功能、審批流轉功能。
3.1.1系統管理模塊
該模塊是對員工基本信息的操作,其中部門、職位、使用客戶是本系統的基本對象。對系統用戶信息、權限、業務等各方面進行管理和操作,各個部門組織和各個崗位的信息的修改通過樹狀進結構化進行展示。權限的分配是通過系統管理員的統一分配。
3.1.2 論壇管理模塊
論壇管理模塊可分為查看主題和板塊管理兩個部分,其中查看主題的主要實現了用戶通過界面獲取實時的消息,實現用戶的信息交流。板塊管理包含的內容有刪除、修改、新建等操作,有利于實現用戶的資源共享。
3.1.3 審批流轉模塊
審批流轉模塊是本次系統開發最為核心的一個模塊,實現業務申請的填寫、提交、審批,用戶可以在線申請相應的表單,進行填寫、提交。相對應的分管領導可以審批對應的申請,實現對業務的控制和管理[3]。
3.2 系統框架設計
本系統采用B/S(瀏覽器/服務器)架構使用JBPM與由Spring、Struts2、Hibernate整合而成的SSH框架結合進行開發。系統整體分為表示層,業務層,持久層[4]。
在表示層中,通過JSP頁面來實現系統與用戶的交互,Struts2負責處理交互產生的請求(Request)與傳送響應(Re-sponse),并根據核心配置文件(Struts2-config.xml)的配置,將控制層接收到的請求根據不同參數分發到相應的Action中處理,實現整合數據的目標。
業務層中,核心管理服務組件的Spring IoC容器負責向模型層(Model)組件和模型訪問協作對象(DAO)組件完成業務邏輯,并提供事務處理、緩沖池等容器組件以提升系統性能和保證數據的一致性,達到層次分離效果。
持久層中,則依賴于Hibernate的對象化映射和數據庫交互,處理DAO組件請求的數據,并返回處理結果,減小了層與層之間的相互影響。
4 系統實現
4.1系統管理
以本系統為例,管理部分主要實現對部門、員工,崗位的管理操作,并封裝對數據庫的操作。設計BaseDao接口與實現類BaseDaolmpl,并使各個實體的Dao接口繼承BaseDao接口.Dao的實現類繼承DaoImpIBase。這樣提高了代碼復用率,并且使代碼更加簡潔。在DaoImpIBase類中,通過反射獲取泛型的真實類型,類圖如圖1所示。
4.2 系統權限
4.2.1 權限分配
權限分配的實現使用JQuery的TreeView插件,創建一個多層次的由復選框構成的權限樹。在需要分配權限的時候,只要選中權限名之前的復選框即可。為使分配權限功能更加方便和符合邏輯,它具有以下特點:
1)選中一個權限時,應同時選中所有直系上級的權限。
2)取消一個權限時,應同時取消他所有的下級權限(所有子孫權限)。
3)取消同級的所有權限時,就同時取消他們的上一級權限。
4.2.2 使用權限
權限的本質是使用某功能的許可,而本系統中功能的最小粒度就是URL鏈接,因此功能的使用許可就是URL的訪問許可。在顯示超鏈接之前,需要系統進行判斷,當前登錄用戶是否擁有訪問該URL的權限。
4.3 審批流轉
審批流轉是OA系統中不可缺少的一部分,其核心依賴于JBPM其作用是管理和控制業務的流程,提高企業單位內部運作的效率。
JBPM (Java Business Process Management),是基于java的業務流程管理系統。JBPM是相當流行的一款開源工作流引擎,引擎底層基于Active Diagram模型。
本系統完成審批流轉功能需要兩個步驟分別是定義工作流與管理與執行工作流。其中工作流程的定義是根據需求進行內部流程定義,也可以借助輔助工具生成。
4.3.1 定義工作流
本系統實現的過程中定義工作流主要使用流程設計器來實現,在開發工具Eclipse中安裝GPD插件后可以通過拖動組件的方式來定義工作流通過XML文件進行工作流的定義,PNG圖片顯示具體流程細節,如圖2所示。
使用GPD插件定義工作流之后,將插件生成的XML文件和PNG圖片打包成ZIP格式的壓縮文件來部署工作流。
4.3.2 管理與執行工作流
管理流程是指管理流程定義,執行流程是指執行流程實例,流程定義與流程實例的關系類似于面向對象編程中的類與對象關系,一份流程定義可以生成多個流程實例。
在JBPM中如果要管理與執行工作流,只需要通過調用不同Service的API就可以達到與JBPM進行交互的效果,API功能表如表1所示。
系統中所使用的管理流程的操作主要分為:
1)部署流程定義。
2)查詢所有的流程定義。
3)刪除流程定義。
4)獲取部署時的某文件的資源。
5 結束語
OA系統的應用己經普及,具有節約成本、高效辦公、信息資源整合等特點,該類系統的開發是以工作流技術為核心的應用。
本系統使用Struts2+Hibernate+Spring作為開發架構,系統具備低耦合,易維護,層次清晰的特點。與工作流相關的核心功能則由JBPM進行開發,在處理工作流相關的業務時非常方便,并且在設計流程時還可以進行圖形化的操作。該系統具有節約成本、高效辦公、信息整合、資源共享等特點,對企事業單位辦公具有一定的實用價值。
參考文獻:
[1]曲毅,鄭妍.聯通辦公自動化系統及協同OA辦公系統的設計與實現[J].黑龍江科學,2014,5(7): 260.
[2]高亮,劉旸,宗傳玉,等.基于SSH2與JBPM的OA系統應用研究[J].微處理機,2011,32(4): 38-40,45.
[3]韋付芝,姚凱學.基于JBPM工作流引擎的OA系統的設計與實現[J].電子世界,2017(17): 128-129.
[4]羅生敏,左國超.基于J2EE技術構建WEB OA系統[J].大理學院學報,2010,9(10): 98-100.
【通聯編輯:謝媛媛】
作者簡介:吳?。?998-),男,湖南汨羅人,學士,研究方向為數據倉庫、工作流;蔡嘉興(1998-),男,湖南株洲人,本科在讀,研究方向為人臉識別技術、軟件開發技術;黎明(1974-),男,通信作者,湖南永州人,高級工程師,碩士,研究方向為機器學習、數據挖掘。