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

基于Activiti的工作流引擎在中小企業中的應用研究

2015-03-27 21:03:41任銘亮楊之垚高永祥
中國高新技術企業 2015年11期
關鍵詞:引擎服務模型

任銘亮 楊之垚 高永祥

摘要:隨著中小企業信息化的不斷發展,企業內部業務流程越來越復雜,流程變化也越來越頻繁,傳統工作流引擎不能及時滿足業務發展的需要。Activiti開源工作流引擎具有快速穩定的優勢特征,基于Activiti引擎快速構建符合企業發展業務流程的解決方案,可以使流程隨著企業發展而實時變化。

關鍵詞:工作流引擎;Activiti;BPMN2.0;中小企業;工作流模型 文獻標識碼:A

中圖分類號:TP301 文章編號:1009-2374(2015)11-0051-03 DOI:10.13535/j.cnki.11-4406/n.2015.11.026

工作流模型是由工作流管理聯盟于1994年提出的工作流管理的體系模型。工作流的概念來源于生產組織和辦公自動化領域,通過將工作分解成定義良好的任務、角色,按照一定的規則和過程來執行這些任務,達到提高工作效率和經營管理水平的目標。企業應用工作流管理能提高企業運營效率、改善企業資源利用、提高企業運作的靈活性和適應性等。

眾所周知,企業中應用系統的最大特點是不斷變化,這種變化常常會帶給適應性不強的系統以致命的打擊。本文通過深入研究,給出了一種基于Activiti工作流引擎,能夠快速構建適應企業流程多變的解決方案。

1 相關理論介紹

1.1 Activiti引擎系統服務結構

Activiti服務包含倉庫服務、定義文件、部署文件和支撐數據(如XML流程文件、流程圖文件等)。該服務對此提供了存取服務。運行時服務,該服務提供了啟動流程、查詢流程實例、設置獲取流程實例變量等服務功能。任務服務,該服務提供了對用戶任務和表單相關的操作服務,如運行時任務查詢、認領、完成、刪除等功能。標識服務,該服務提供了對系統中的用戶和組的管理功能。管理服務,該服務提供了對流程引擎的管理和維護功能,通過獲取上下文資源后,對所需處理的事務以命令模式進行攔截處理。歷史服務,該服務用于獲取正在運行或已經完成的流程實例的信息,并對查詢進行了優化。表單服務,該服務可以存取啟動和完成任務所需的表單數據并且根據需要來渲染表單。

1.2 Activiti引擎的優勢

Activiti引擎最大的優勢是采用了PVM(流程虛擬機),支持除了BPMN2.0規范之外的流程格式,與外部服務有良好的集成能力,服務接口清晰,鏈式API更為優雅。Activiti與其他引擎比較,在開發構建方面優勢尤為明顯,主要體現在:使用Spring進行引擎配置以及各個Bean的管理,綜合使用IoC和AOP技術,使用CXF作為Web服務實現的基礎,使用MyBatis進行底層數據庫ORM的管理,預先提供Bundle化包能較容易地與OSGI進行集成,通過與Mule ESB的集成和對外部服務的接口,可以構建全面的SOA應用。

2 理論研究

2.1 自定義建模

Activiti modeler是基于開源Signavio web流程編輯器的一個定制版本,提供了對BPMN2.0圖形化的規范支持,建模后的流程以json格式進行存儲。用戶只需要了解業務流程就可以輕松地建立出復雜的工作流程。

2.1.1 動態表單。與業務流程相關的信息有兩種方式:一種包含在自身的流程變量中,另一種是通過流程變量引用的外部信息。Activiti允許存儲復雜的Java對象作為流程變量,如序列化對象、XML文檔等。用戶都是在啟動流程和完成用戶任務時與流程進行交互的。而表單需要在前臺解析顯示之后才能與用戶進行交互。表單所需要顯示的屬性可以通過表單服務獲取。為了能夠使前臺顯示表單變得容易,將流程定義中包含的對流程變量對象存儲到Map中,然后在前臺使用JSTL和EL對Map內容根據類型不同循環遍歷展示。通過獲取前臺請求的參數,所有被提交的屬性都將會作為流程變量存儲在數據庫中。這意味著在一個表單中新添加一個簡單的字段,也會被作為一個新的變量存儲。通過表單服務可以從數據庫中取出表單屬性并交付給前臺顯示。

2.1.2 外置表單。該種方式常用于基于工作流平臺開發的方式,開發人員只需要把表單內容配置好保存到.form文件中即可,然后配置每個節點需要的表單名稱,實際運行時通過引擎提供的API讀取任務對應的表單內容進行輸出。此種方式對于在經常添加新流程的需求較為適用,可以快速發布新流程,把流程設計出來之后再設計表單,最后將兩者進行關聯。

2.1.3 普通表單。普通表單是最靈活的一種方式,常應用在業務較為復雜的系統中。普通表單的特點是把表單的內容單獨存放在一個文件中,存放方式也有兩種:一種是把整個流程涉及到的表單放在一個文件,然后根據處理的環節的不同,根據環節名稱匹配顯示;另一種是每個任務對應一個處理頁面,提交任務時根據任務的ID動態指定表單頁面。

2.2 模型部署

通過一個壓縮文件(Zip、Bar)部署業模型,也可以通過一個獨立資源(例如bpmn、xml等)構建部署,部署過程中要注意編碼格式,防止出現亂碼情況。

2.3 模型熱遷移

一個企業在流程模型建立運行一段時間后,業務規則發生變化,需要再添加一個流程節點,此時先修改模型,然后部署,部署成功后,將原有流程中未完結的流程通過遷移的方式,可以遷移到新的流程模型上。在遷移過程中,需要修改Activiti的運行表,將流程任務表中的流程定義ID修改為新的流程定義ID,同時修改運行流程表中的流程定義ID,修改運行時定時任務數據表和運行時流程人員與節點關聯表,最后修改歷史流程實例表。通過攔截器對原有任務的修改,可以實現未完成的流程熱遷移功能。

2.4 核心功能

2.4.1 會簽,會簽表示同一個任務節點需要多人協同處理,在配置過程中,可以選擇并行處理也可以選擇順序處理。處理過程中可以設置處理通過率,如果設置為60%,則審批通過率大于等于該數時即可流轉到下一節點。會簽符合中小企業的具體辦公情況,具有一定的應用場景。

2.4.2 加減簽。在某一會簽節點,也存在一種特殊的情況,即在審批過程中,需要新加入審批成員或者減少審批成員,此為加減簽功能。其中加減簽過程,不會改變原有配置。加減簽過程中需要修改循環次數,集合人員ID等相關信息。

2.4.3 指派。流程在流轉過程中,如果任務處理人有事不能處理時,管理員可以通過指派功能將任務強制性的指派給某人進行處理。指派過程中需要注意業務規則以及人員的組織結構關系。

2.4.4 任務提醒方式。可以設置任務的提醒時刻,Activiti支持郵件方式提醒。

2.4.5 任務駁回。任務審批過程中,如果審批者任務申請者條件不符合,不能繼續流轉,可以選擇駁回到申請人,由申請人重新修改后再次提交。

2.4.6 代理。代理可以分為轉派和協助兩種方式。轉派類似于指派,區別是轉派是由任務處理人發起的行為,任務處理人將任務轉派給其他人處理,其他人處理后任務會繼續向下一個節點流轉。協助處理是把任務轉給其他人處理,其他人處理之后,任務會回到原任務處理人的代辦事項下,而不是繼續流轉到下一個節點。

3 實例驗證

基于上面的分析,給出了基于Activiti引擎實現工作流開發的通用方案。本文以Java EE平臺進行設計開發,數據庫使用mysql數據庫。以請假流程為示例,通過對請假流程的建模、設計、開發、測試,來演示Activiti是如何快速構建企業工作流程的。

3.1 系統設計

總體結構圖如圖1所示:

圖1 系統結構圖

首先是管理員登錄后,建立工作流模型圖,在建模過程中,需要設置節點的處理人變量及表單字段。生成模型后對模型進行部署,此過程也可以是對原有模型進行修改并重新部署。模型部署成功后,需要根據具體業務情況對節點處理人進行配置。都配置完成后,應用程序可以調用工作流引擎接口實現流程的啟動、表單數據的讀取以及任務的提交處理與駁回處理等。由于activiti集成了Modeler模型編輯界面,所以在Modeler中即可快速建立流程圖。本文采用內置表單方式,即在建模過程中,將表單內容在節點圖標中設置完成。

3.2 系統實現

建立好模型之后,需要對模型進行部署,部署成功之后就可以正常使用流程了。申請人啟動流程后即可看到設計過程中內置表單的內容字段。填寫表單提交后流程即可正常流轉。通過如下代碼即可取到表單內的內容并顯示到前臺頁面。提交任務時通過如下代碼即可完成任務的提交,流轉到下一環節。

3.3 結果分析

通過如上的框架設計,如果企業中需要添加或修改流程,只需建立新的模型或者修改原有模型并重新部署即可。對于新建立部署的模型,可以直接進行使用;對于修改的模型,部署后還需要對原有模型的流程進行遷移即可。采用上述設計的解決方案,可以明顯地提高工作效率,降低維護成本。通過Loadrunner對該流程進行了壓力測試,結果

顯示性能良好,與其他工作流引擎比較具有一定的優勢。

4 結語

本文對基于Activiti的工作流引擎在企業中的實際應用作了深入研究,給出了完整快速地建立工作流模型的解決方案,結合員工請假流程的例子,首先建立員工請假流程模型,即UML活動圖,然后對建立的模型進行部署,部署成功后該流程即可以正常使用。但是對于復雜流程的遷移還存在問題,比如遷移后的流程圖顯示不準確等。下一步的工作是深入完善工作流框架的設計,使該框架具有更廣泛的適用性和應用性。

參考文獻

[1] 李海波,戰德臣,徐曉飛.基于工作流引擎的構件組裝體系結構[J].軟件學報,2006,(6).

[2] 金正曄,蔡月茹,馬偉勤,柳西玲.工作流系統的構件化開發[J].計算機工程與設計,2006,27(23).

作者簡介:任銘亮(1983-),男,供職于河南新飛金信計算機有限公司,碩士,研究方向:軟件工程、面向對象的分析和設計;楊之垚(1982-),男,河南新飛金信計算機有限公司系統集成工程師,研究方向:計算機系統集成。

(責任編輯:秦遜玉)

猜你喜歡
引擎服務模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
藍谷: “涉藍”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
3D打印中的模型分割與打包
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
主站蜘蛛池模板: 欧美a在线| 丁香六月激情综合| 久久先锋资源| 欧美日韩精品在线播放| 国产精品伦视频观看免费| 午夜性刺激在线观看免费| 久久九九热视频| 午夜久久影院| 国产主播喷水| www.精品国产| 一级毛片基地| 黄色网站不卡无码| 美女免费精品高清毛片在线视| 重口调教一区二区视频| 欧美日韩在线亚洲国产人| 久久青草精品一区二区三区| 露脸国产精品自产在线播| jizz国产在线| 国产91视频观看| 成人免费午间影院在线观看| 日本欧美中文字幕精品亚洲| 伊人五月丁香综合AⅤ| 久青草免费在线视频| 香蕉在线视频网站| 99热这里只有精品2| 乱人伦99久久| 亚洲男人天堂2020| 欧美国产日产一区二区| 国产va在线观看免费| 国产女人18毛片水真多1| 9cao视频精品| 欧美日韩激情| 亚洲日本一本dvd高清| 永久免费无码日韩视频| 国产综合精品日本亚洲777| 亚洲国产中文欧美在线人成大黄瓜 | 亚洲精品大秀视频| 91黄视频在线观看| 高清久久精品亚洲日韩Av| 强奷白丝美女在线观看| 99免费视频观看| 亚洲视频免| 波多野结衣二区| 91亚瑟视频| 丰满的少妇人妻无码区| 国产午夜小视频| 狼友视频国产精品首页| 综合社区亚洲熟妇p| 三级欧美在线| 免费精品一区二区h| 在线色综合| 亚洲精品动漫| 色首页AV在线| 91在线免费公开视频| 国产黑人在线| 午夜视频在线观看免费网站| 午夜激情福利视频| 人与鲁专区| 白浆免费视频国产精品视频| 亚洲无码一区在线观看| 欧美日韩国产精品va| 亚洲国产黄色| 国产精品视频第一专区| 亚洲福利网址| 大学生久久香蕉国产线观看| 秘书高跟黑色丝袜国产91在线 | 亚洲永久视频| 成人综合在线观看| 国产91高清视频| 亚洲综合一区国产精品| 波多野结衣一区二区三区四区| h视频在线观看网站| 国产在线麻豆波多野结衣| 好久久免费视频高清| 亚洲国产欧美自拍| 99久久亚洲精品影院| 久久亚洲高清国产| 亚洲最新网址| www.国产福利| 日韩在线成年视频人网站观看| 国产成人精品一区二区不卡| 亚洲高清中文字幕在线看不卡|