?

工作流系統中會簽功能的設計與實現

2014-10-14 09:28韓紅云李桃迎
計算機與現代化 2014年9期
關鍵詞:會簽流程圖框架

韓紅云,陳 燕,李桃迎

(大連海事大學交通運輸管理學院,遼寧 大連 116026)

0 引言

隨著信息技術的不斷發展和企業信息化的逐步深入,越來越多的企業流程需求已經無法用普通的辦公自動化系統來滿足。工作流會簽系統,可以自動地完成各部門間信息的流動,可以更加有效地實現信息的傳遞和交流,可以直觀地了解流程審批的責任人和某項流程當下所處的審批節點,具有更高的安全性、封閉性,可以極大地提高工作效率,節約時間成本。

目前已經有很多學者進行了相關的研究,文獻[1]研究了基于JBPM的工作流會簽設計,給出了單步會簽和多步會簽的具體解決方案。但是目前JBPM技術已經逐步被Activiti所取代,Activiti兼容JBPM的同時又有良好的拓展性。文獻[2]介紹了管理信息系統會簽管理的實現,雖然達到了會簽效果但是系統運行時存在一定的誤差且效率低下。文獻[3]主要介紹了基于Activiti的工作流引擎技術在管理系統中的應用,運用了主要數據庫以及主要的接口工作模型,給出了Activiti的優勢但是沒有圖形化的追蹤,不利于實時控制。

鑒于此,本文將Activiti運用到會簽技術中,既對JBPM進行了拓展和延伸,滿足當下高速發展的需求,同時也降低了錯誤率,避免審批部門間的推諉和延誤,提高管理效率。且在審批流程過程中可以看到圖形化的追蹤界面,方便使用人員對流程的實時控制。

1 工作流會簽與Activiti簡介

工作流主要解決的是“使在多個參與者間按照某種預先定義的規范傳遞文件、信息及任務的過程自動進行,從而實現某個預期的目標,或促使此目標的實現”。工作流是為了實現某些標準或者業務目的而進行的自動化過程[4]。一個工作流包括一組任務和它們之間的相互順序關系,還包括流程及任務的起始條件和終止條件,以及對每個任務的描述。工作流參考模型即工作流管理系統的體系結構模型[5]。

工作流管理聯盟(WfMC)對工作流給出定義:工作流就是指一類可以自動執行的經營過程,根據一系列過程規范,將文檔、信息或者任務在不同的執行者間進行流轉與執行[6]

1.1 會簽及其分類

在企業的日常工作中正確處理管理和控制中的工作流程十分重要。以企業的生產運行系統為例,存在著具有時序性和實效性的“三票”(工作票、命令票和操作票)管理控制,即許多重要的數據需要有關崗位責任人簽名予以確認[7]。這些需要簽署意見的文檔、合同、三票等將其統稱為“會簽文件”,需要簽名的用戶為“會簽人”[8]。

會簽分為單步會簽和多步會簽2種。

1)單步會簽:只有一個審批節點,且在這個節點處需要多個審批人員共同負責審批任務或者添加審批意見。它的使用最廣泛且易于實現。

2)多步會簽:某審批流程有多個審批節點,且每個節點又存在一個相對獨立的審批流程。多步會簽邏輯結構復雜,難以實現,但在流程審批過程中必不可少。

會簽的發起模式一般分為順序模式和并發模式。1)順序模式即按照順序執行各項活動。一道流程從開始到終止,按照審批流程規定經過若干人順序審批。工作流流程中的一個活動只有當另一個活動完成后才能進行。例如:當訂單填寫活動完成后,客戶通知才可以進行。

2)并發模式即可以同時運行2個活動。在流程中1個控制線程分為可以并行執行的2個控制線程,允許2個活動可以同時運行[9]。

當然會簽的發起模式還可以將順序模式和并發模式進行合理的嵌套,構成復雜形式。

1.2 Activiti技術

Activiti是一個獨立運作和經營的開源項目,獨立于Alfresco開源ECM系統運行。Activiti是一個輕量級、可嵌入的BPM引擎,而且還適用于可擴展的云架構[10]。Activiti提供寬松的 Apache 許可 2.0,以便這個項目可以被廣泛使用,同時促進Activiti BPM引擎和BPMN 2.0的匹配[10]。在流程中提供了平行、分流、決策、聚合等多種復雜的工作流種類,還提供了方便的基于Web的工作流表單自定義功能,可以定制業務流程表單所需的字段,以及顯示權限[11]。

1.3 Activiti工作流引擎的優點

1)具有良好的拓展性。

Activiti是基于JBPM4開發的,支持 PVM(流程虛擬機)技術,支持更多的流程格式,且可與外部服務良好集成,服務接口清晰,擁有鏈式的API接口,為流程管理營造良好的內部實現環境。

2)可視化的流程設計。

Activiti與Eclipse集成實現了定義流程的可視化,使流程更加清晰明了。另外Activiti Modeler是基于開源的Signavio Web流程編輯器的一個版本,提供了對BPMN 2.0圖形化規范支持,流程定義后以XML文件格式存儲,用戶可以輕松畫出邏輯復雜的工作流程[12]。

圖1 WSH框架調用流程圖

2 開發框架

本課題是 WebWork、Spring和 Hibernate三種框架技術的整合使用,也稱為WSH框架。3種技術顧及到了和其他框架的聯系,充分發揮了三大框架各自的特點,三大框架的集成使得開發效率顯著地提高,充分利用了每個框架的優勢,從而達到了取長補短的效果。WSH框架調用流程圖如圖1所示。

該系統的實現是基于J2EE的標準設計,邏輯上分為表現層、控制層、業務層和數據層。如圖2所示。

圖2 J2EE規范的四層模型

J2EE平臺中客戶端應用程序和Applet是運行在客戶端的組件;Java Servlet和Java Server Pages(JSP)是運行在服務器端的Web組件;Enterprise Java Bean(EJB)組件是運行在服務器端的業務組件[13]。如圖3所示。

圖3 客戶端層、Web層和業務層

本文研究的工作流會簽系統是基于J2EE的B/S應用模式,將Activiti與Eclipse集成,利用WebWork、Spring、Hibernate三大框架,采用了Java語言編程,同時運用JSP的相關頁面設計技術實現相關功能。本系統采用MySQL作為數據庫,Tomcat 6.0作為應用服務器,基于Internet與Web技術、B/S結構的系統功能,具有開放、可靠、彈性、兼容、靈活、跨平臺的特性[14]。

3 實現會簽流程

3.1 設計思想

會簽流程的設計思想是將每個會簽過程看成一個任務,在數據庫中存儲起來,將設計好的流程定義審批圖以文件的形式部署存儲到Activiti環境中。運行流程后,根據流程在流程定義中存儲的會簽節點間流轉,首先任務人簽收審批任務,經驗證有權限后進行審批操作或者添加審批意見。通過后流程流轉到下一節點,拒絕時流程駁回到申請人節點修改。直至流程審批結束。

3.2 數據庫設計

Activiti使用到的表都是ACT_開頭的。

1)ACT_RE_*:’RE’表示repository(存儲),RepositoryService接口所操作的表。帶此前綴的表包含靜態信息,如流程定義,流程的資源(圖片、規則等)。

2)ACT_RU_*:’RU’表示 runtime,運行時表-RuntimeService。這是運行時的表,存儲流程變量、用戶任務、變量、職責(job)等運行時的數據。Activiti只存儲實例執行期間的運行時數據,當流程實例結束時,將刪除這些記錄,保證了運行時的表小且快。

3)ACT_ID_*:’ID’表示 identity(身份標識),IdentityService接口所操作的表。用戶記錄、流程中使用到的用戶和組。這些表包含標識的信息,如用戶、用戶組等。

4)ACT_HI_*:’HI’表示 history,歷史數據表,HistoryService。這些表包含流程執行的歷史相關數據,如結束的流程實例、變量、任務等。

5)ACT_GE_*:’GE’全局通用數據及設置(general),各種情況都使用的數據[14]。

3.3 工作流會簽的具體實現過程及相關代碼

本文實現的難點在于具體業務與實現層交互。利用Activiti技術實現方案審批業務流程需要以下步驟。

1)設計工作流程圖。

在Eclipse開發環境中用流程設計工具按照BPMN規范繪制方案審批流程圖。

2)將設計好的工作流程圖部署,相關配置如下:

3)部署后的流程就可以啟用;首先發起申請。

用戶發起申請保存后增加語句將流程插入到數據庫,并與項目申請相關聯,啟動流程。

4)簽收任務流程。

流程流轉到下一個節點后,由負責人員簽收任務,其他人員無權限簽收,負責人簽收后,業務申請對外不可見。

5)審批流程。

6)查看流程圖。

7)待辦任務和已經完成的任務。

//查詢當前流程節點

8)刪除流程任務。

4 結束語

本文利用Activciti技術實現了工作流會簽功能,解決了發起會簽的順序模式以及簡單的并發模式的實現,完成了信息在各級、各部門間的流轉且可以對流程任務進行實時控制。下一步將研究順序模式和并發模式嵌套的實現,使工作流會簽系統功能更加完善,從而發揮其更強大全面智能的功能。

[1]顧大明.基于JBPM的工作流會簽設計[J].民營科技,2010(12):50,207.

[2]梅峰,于洋,衛青延,等.基于開源工作流Activiti的企業協同信息平臺研究[J].福建電腦,2012(11):125-127.

[3]阿斯特.工作流管理:模型、方法和系統[M].王建民譯.北京:清華大學出版社,2004.

[4]張利君,馬駿,楊濤,等.基于工作流的動態任務調度研究與實現[J].計算機工程與設計,2009(10):2533-2537.

[5]WFMC-TC-1025,工作流過程定義接口——XML過程定義語言[S].

[6]羅海濱,范玉順,吳澄.工作流技術綜述[J].軟件學報,2000,11(7):899-907.

[7]薛華成.管理信息系統[M].北京:清華大學出版社,1993.

[8]王安慧,孫長銀.管理信息系統會簽管理模塊的設計與應用[J].三峽大學學報(自然科學版),2001,23(5):454-457.

[9]范玉順.工作流管理技術基礎[M].北京:清華大學出版社,2001.

[10]葉小路,錢真坤.基于Activiti5的水司OA系統設計與實現[J].軟件導刊(教育技術),2013,12(6):93-95.

[11]Alexander Grosskopf,Gero Decker,Mathias Weske.The Process Business Process Modeling Using BPMN[M].Meghan-Kiffer Press,2009.

[12]馮天佑,梁立宇,李成華,等.基于Activiti工作流引擎技術的電力行業業務流程管理系統[J].信息通信,2013(8):57-59.

[13]Chen W.Enterprise information management system based on J2EE and MVC mode[C]//Proceedings of the 9th International Symposium on Linear Drives for Industry Applications.2014,3:427-433.

[14]孫衛琴.精通Struts:基于MVC的Java Web設計與開發[M].北京:電子工業出版社,2004.

猜你喜歡
會簽流程圖框架
淺談航天型號產品文件的質量會簽
框架
廣義框架的不相交性
工作流技術在信息通信資源申請中的應用研究
讓公文會簽業務高效、合理
專利申請審批流程圖
專利申請審批流程圖
一種基于OpenStack的云應用開發框架
寧??h村級權力清單36條
《天津醫藥》稿件處理流程圖
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合