999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Activiti6.0在項目管理軟件中的運用

2020-08-14 09:48:31錢葉丹
現代信息科技 2020年8期
關鍵詞:項目管理定義

摘? 要:開發項目管理軟件中很多業務都有一級審核、二級審核甚至多級審核機制。近期,在項目管理軟件迭代升級的需求分析過程中,客戶業務活動審核機制調整了多次需求,也出現了系統流程與業務耦合性增強的問題,對老版本中多套臨時表的維護越來越困難。在這種背景下,對開源工作流管理框架進行了研究,Activiti6.0在技術選型中脫穎而出,繼而又對Activiti6.0是否能夠實現具體項目的業務要求做了研究。

關鍵詞:Activiti6.0;BPMN;工作流;項目管理軟件

Abstract:In the development of project management software,many businesses have the mechanism of first level audit,second level audit and even multi-level audit. Recently,in the process of requirement analysis of iterative upgrade of project management software,the customer business activity audit mechanism has adjusted the requirements for many times,and the coupling between system process and business has increased. Many sets of temporary tables in the old version are more and more difficult to maintain. In this context,the open-source workflow management framework is studied. Activiti6.0 stands out in technology selection,and then whether Activiti6.0 can achieve the business requirements of specific projects is studied.

Keywords:Activiti6.0;BPMN;workflow;project management software

0? 引? 言

項目管理軟件沒有普及時,相關人員在項目管理過程中,一部電話加上堆積如山的文件是許多辦公桌的標配,流程審核是傳統手工遞交紙張的方式,逐級找領導簽字,效率低下。隨著PC辦公時代的到來,辦公人員只需要在項目管理系統中填寫工作內容,系統就會按照定義好的流程自動執行,各級審批者可以登錄PC系統,看到工作內容再進行相應的審批管理操作。辦公桌上干凈了許多。

技術總是不斷在更新,人們的需求總是不斷增加。項目管理軟件也需要不斷做出迭代升級,如何實現業務與流程的分離?是不是可以將流程從業務中單獨剝離出來做統一的流程管理?基于這些問題筆者開始對工作流管理框架展開研究,以供讀者參考,共同完善。

1? 什么是工作流

1.1? 工作流相關概念

工作流:對工作流程及其各操作步驟之間業務規則的抽象、概括、描述。

工作流程圖如圖1所示。一個比較形象的比喻是:工作流就像是列車的軌道,而所要執行的對象像是一輛自動運行的列車,只要列車啟動,它就能沿著軌道一直走到終點,其中的節點就像是列車到達終點途中所要經過的火車站,它會告訴火車下一站是哪里,然后火車就往指定的下一站駛去,一直這樣開到終點站。

1.2? BPMN元素

BPMN規范的發布是為了讓業務流程的全部參與人員對流程可以進行可視化管理,提供一套讓所有參與人員都易于理解的語言和標記。2011年1月發布BPMN2.0規范。我們首先要熟悉BPMN定義的每個元素代表的含義。使用BPMN2.0的目的是建立簡單并且易懂的業務流程模型,但是同時又需要處理高度復雜的業務流程,因此要解決這兩個矛盾的要求,需要在規范中定義標準的圖形和符號。

BPMN定義了基本元素。每個元素均有自己對應的圖形。除了基本元素,還有很多在其基礎上的子元素。最常見的網關,子元素為排他網關、并行網關、包容網關等等。

1.3? BPMN2.0 XML結構

常見的工作流有Activiti、OSWorkflow、JBoss jBPM、JFlow、FixFlow等。怎樣的流程描述文件可在不同的工作流中使用?除了圖形定義。一份用XML語法標準定義,依據BPMN2.0標準的流程描述文件,就可在不同的工作流中使用,只要該工作流符合BPMN2.0規范。特別標記的是,除了BPMN2.0標準的元素及其屬性外,工作流的供應商還可以在不改造已有屬性的基礎上,增添額外的屬性,但是增加的屬性不能與已有的屬性產生矛盾,還需要簡易易懂。比如:Activiti擴展的屬性,屬性名稱統一用“ ctivity;”開頭。Activiti;class=“com.bestpay.DemoService”。

2? 工作流選型

基于老版本維護越來越困難,筆者進行了開源工作流管理框架的研究。市面上開源工作流引擎框架有很多,例如:OSWorkflow、jBPM、JFlow、FixFlow、Activiti等。在技術選型中,主要遵循的原則是“主流,適用,簡單”。

Activiti6.0是在jBPM版本從1到4的基礎上開發的,是5.0的升級版,滿足BPMN2.0標準。很“主流”:Activiti6.0用戶多,文檔豐富,技術經歷市場已經成熟,網上社區強大,很多網站還有專欄討論,學習周期相對較短,界面簡單,有很好的發展趨勢;很“簡單”:可控可駕馭,可擴展,輕量級。Activiti6.0支持大部分工作流流程,少數工作流流程需要進行二次開發;很“適用”:滿足我們對軟件的各種需求。

3? Activiti

Alfresco軟件在2010年5月17日發布Activiti,它是一個業務流程管理(BPM)框架,它是覆蓋了業務流程管理、工作流、服務協作等領域的一個開源的、靈活的、易擴展的可執行流程語言框架。Activiti基于Apache許可的開源BPM平臺,采用了寬松的Apache License 2.0開源協議。創始人Tom Baeyens也是jBPM的創始人,2010年,Tom Baeyens離開了JBPM同時加入到Alfresco公司。2010年的5月17日,Tom Baeyens發布了第一個Activiti版本,即5.0.alpha版,之所以把Activiti的第一個版本定義為5.0,外界猜測也許是為了讓它更像jBPM4的延續。

3.1? 接口簡介

在Activiti中,流程引擎的實例對象是ProcessEngine,當創建了流程引擎實例后,在ProcessEngine中會初始化一系列接口實例,這些接口實例提供了大部分操作流程引擎數據的業務方法,可以使用ProcessEngine中的getXXXService方法得到這些接口的實例。接口實例具體信息如圖2所示。

3.2? 編寫Activiti程序

既然這是一個框架,自然就是引進jar包,畫流程圖,然后實現該框架提供的接口來做我們想要做的事情。

前期環境配置工作包括3步:Eclipse插件安裝、IDEA插件安裝、Activiti安裝。一系列的環境準備工作結束,就可以編寫Activiti程序。

Activiti框架會幫我們把對應的數據庫表創建起來,它關聯的數據庫表有23個,不同的表頭代表不同的用途,對應Service的不同API。

3.2.1? 定義工作流

新建一個含有二級審核的工作流程,在每一步任務中,我們都可以指定對應的處理人是誰。流程圖如圖3所示。

流程圖對應的文件audit.xml部分如下:

上述為一個流程文件部分內容。該文件中的process元素用于描述流程信息,而bpmndi;BPMNDiagram元素則用于描述流程節點的位置信息。在process元素中定義了開始事件srartEvent、兩個usertask和結束事件endEvent以及連接這些元素的順序流(sequenceFlow)。

3.2.2? 部署工作流

3.2.3? 執行工作流

指定執行剛才部署的工作流就是我們定義時設置的工作流程圖中的當前任務id:

3.2.4? 查看任務信息

根據任務辦理人,查看當前任務信息:

3.2.5? 處理當前任務

當前任務的id已經查詢出來了,處理id為304的這個任務:

3.2.6? 刪除流程

刪除部署id=101這個流程定義的數據:

4? Activiti問題總結

在實際的項目開發過程中,筆者不斷遇到了一些問題與挑戰,同時也積累了一些經驗。從Activiti數據庫的連接;到排他網關與并行網關的不同設置;再到執行監聽器的配置與使用,任務監聽器的配置與使用等等的入坑事件。下面總結幾個遇到的比較典型的問題。

4.1? 會簽功能

實際項目中會碰到某個任務節點需要實現會簽功能的要求,就是指一個任務需要多人進行審批,多人都審批通過后,流程才能繼續往下走。目前的實現方式為:

(1)啟動這個流程圖時,遍歷所有任務,獲取當前任務的辦理人;

(2)將任務辦理人做成一個集合,每個辦理人元素用逗號分隔;

(3)將這個集合的鍵以Publicitylist_加上當前的元素ID,值以前面獲取到的集合放入Activiti上下文。將這個參數作為Activiti啟動參數放入即可。

4.2? 回退功能

實際項目中還會碰到某個任務節點需要實現回退功能的要求。就是指能夠回退到流程圖上的任意節點,Activiti無法滿足這樣的項目需求,就需要進行二次開發封裝。目前的實現方式為:

(1)獲取當前任務所在的節點;

(2)獲取當前節點的流出方向;

(3)記住當前節點的流出信息,并將當前節點的流出信息清空;

(4)獲取目標節點;

(5)創建新的方向;

(6)將新的方向設置為當前節點的流出方向;

(7)完成當前任務;

(8)還原當前節點的流出方向。

5? 結? 論

在實際的項目開發過程中,工作流管理的好處是能實實在在感受到的,工作流管理在項目管理軟件中是有很大的發展空間的。筆者簡要總結了以下幾點:軟件的過程控制可見,清晰明了,客戶滿意度提高;工作流的可配置性提高,直接減少了軟件開發、后期維護成本;增強了系統的適應性,能夠快速適應客戶提出的流程變化。

參考文獻:

[1] 程序人生丶.activiti入坑總結 [EB/OL].(2019-02-20).https://www.jianshu.com/p/5c0e43701d51.html.

[2] Java3y.Activiti就是這么簡單 [EB/OL].(2018-03-21).https://www.jianshu.com/p/aa09fe0594ef.html.

[3] jgroup.俯瞰開源工作流引擎Activiti [EB/OL].(2018-08-27).https://blog.csdn.net/jgroup/article/details/82116523.html.

作者簡介:錢葉丹(1981.10—),女,漢族,上海人,工程師,本科,研究方向:計算機軟件。

猜你喜歡
項目管理定義
裝配式EPC總承包項目管理
基于大數據分析的集合式EPC總承包項目管理軟件技術的應用
項目管理在科研項目管理中的應用
現代企業(2021年2期)2021-07-20 07:56:54
永遠不要用“起點”定義自己
海峽姐妹(2020年9期)2021-01-04 01:35:44
定義“風格”
未來如何更高效地進行工程項目管理
環境工程的項目管理
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
航天項目管理——高技術復雜項目管理
航天器工程(2014年1期)2014-03-11 16:35:07
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: 国产美女免费| 欧美亚洲综合免费精品高清在线观看| 久无码久无码av无码| 久久精品国产亚洲AV忘忧草18| 国产成人亚洲综合a∨婷婷| 国精品91人妻无码一区二区三区| 亚洲综合经典在线一区二区| 狼友av永久网站免费观看| 2020久久国产综合精品swag| 噜噜噜综合亚洲| 九九热免费在线视频| 国产成人a在线观看视频| 亚洲精品高清视频| 国产农村精品一级毛片视频| 99热这里只有精品在线观看| 久热这里只有精品6| 白浆免费视频国产精品视频 | 欧美成一级| 欧美无遮挡国产欧美另类| 久久永久免费人妻精品| 青青青视频免费一区二区| 东京热高清无码精品| 国产精品综合色区在线观看| 国产精品自在拍首页视频8| 国产精品免费久久久久影院无码| 麻豆国产精品视频| 亚洲bt欧美bt精品| 国产91久久久久久| 亚洲综合天堂网| 午夜精品久久久久久久无码软件| 亚洲男人天堂久久| 精品国产www| 午夜福利免费视频| 国产91无码福利在线| 中文字幕调教一区二区视频| 日韩精品一区二区三区视频免费看| 亚洲欧洲一区二区三区| 丝袜亚洲综合| 国内精品一区二区在线观看| 欧美a在线看| 免费aa毛片| 青青操视频在线| 在线观看91香蕉国产免费| 国产在线视频二区| 日韩黄色大片免费看| 日韩欧美成人高清在线观看| 91系列在线观看| 欧美日韩亚洲国产主播第一区| 九九香蕉视频| 亚洲AV无码一二区三区在线播放| 国产黄在线免费观看| 无码丝袜人妻| 国产精品无码久久久久久| 青青草原国产精品啪啪视频| 波多野结衣视频一区二区| 91www在线观看| 精品国产成人高清在线| 狠狠躁天天躁夜夜躁婷婷| 久久综合丝袜日本网| 久久免费视频6| 国产综合无码一区二区色蜜蜜| 青青草一区二区免费精品| 一级毛片在线播放| 在线va视频| 成人国内精品久久久久影院| 亚洲床戏一区| 欧美狠狠干| 亚洲三级a| 福利片91| 凹凸国产分类在线观看| 日韩中文字幕免费在线观看| 天天综合网亚洲网站| 日本一区高清| 国产精品成人一区二区| AV老司机AV天堂| 热re99久久精品国99热| 97精品国产高清久久久久蜜芽| 国产成人精品在线| 国产精品理论片| 日韩毛片视频| 人妻精品全国免费视频| 国产综合精品一区二区|