工作流引擎Activiti與SpringBoot2整合--開源軟件誕生17

開源ERP技術整合系列--第17篇

用日志記錄“開源軟件”的誕生

【點亮星標】----祈盼著一個鼓勵

博主開源地址:

碼云:https://gitee.com/redragon/redragon-erp

GitHub:https://github.com/redragon1985/redragon-erp

為什么選擇Activiti

最常用的工作流引擎Activiti和JBPM,我當初是如何選擇的呢?要考慮學習成本、現有功能、兼容性、版本穩定性、可擴展性等等。

(1)Activiti的創始人Tom Baeyens是JBPM之前版本的核心人物,從這個層面出發Activiti工作流引擎的是站在巨人的肩膀上打造的,肯定會積累很多之前的經驗,并解決很多之前遇到的問題。

(2)Activiti使用了我們更常用的技術,例如IOC、AOP、MyBatis、WebService、Restful,核心引擎則是基于之前版本的PVM,接口設計優雅;而JBPM完全舍棄了之前的引擎,基于JBoss的Drools Flow實現,接口層面的設計十分混亂。

(3)Activiti做了更多的擴展功能,比如相對完整的表單設計,流程的熱部署、更加豐富的IDE插件。

Acitviti框架

下面來說說Activiti框架的核心功能

1、7個接口:工作流引擎可以想象成一個服務端,部署好以后,是需要客戶端的調用才能實現對工作流程的操作。

RepositoryService:提供一系列管理流程部署和流程定義的API。

RuntimeService:在流程運行時對流程實例進行管理與控制。

TaskService:對流程任務進行管理,例如任務提醒、任務完成和創建任務等。

IdentityService:提供對流程角色數據進行管理的API,這些角色數據包括用戶組、用戶等。

ManagementService:提供對流程引擎進行管理和維護的服務。

HistoryService:對流程的歷史數據進行操作,包括查詢、刪除這些歷史數據。

FormService:表單服務。

2、28張表:表記錄了用戶信息、流程信息、歷史信息等各種數據

資源庫流程規則表

act_re_deployment部署信息表

act_re_model流程設計模型部署表

act_re_procdef流程定義數據表

運行時數據庫表

act_ru_execution運行時流程執行實例表

act_ru_identitylink運行時流程人員表,主要存儲任務節點與參與者的相關信息

act_ru_task運行時任務節點表

act_ru_variable運行時流程變量數據表

歷史數據庫表

act_hi_actinst歷史節點表

act_hi_attachment歷史附件表

act_ih_comment歷史意見表

act_hi_identitylink歷史流程人員表

act_hi_detail歷史詳情表,提供歷史變量的查詢

act_hi_procinst歷史流程實例表

act_hi_taskinst歷史任務實例表

act_hi_varinst歷史變量表 組織機構表

act_id_group用戶組信息表

act_id_info用戶擴展信息表

act_id_membership用戶與用戶組對應信息表

act_id_user用戶信息表

通用數據表

act_ge_bytearray二進制數據表

act_ge_property屬性數據表存儲整個流程引擎級別的數據

3、BPMN業務流程模型:可以通過流程圖的方式配置業務流程、分支、條件等,最終生成引擎可識別的xml文件

BPMN2.0是一套建立工作流程模型的標準。下面說幾個重點的元素和符號。

(1)事件:常用的是開始事件、結束事件,用于標識流程的開始和結束

(2)活動:常用的是任務,用于描述流程節點中的一項工作

(3)網關:常用包括并行網關、排他網關,并行即同時流轉多個分支,排他即只流轉其中一個分支

與SpringBoot整合

(1)修改POM添加依賴

<dependency>

<groupId>org.activiti</groupId>

<artifactId>activiti-spring-boot-starter-basic</artifactId>

<version>6.0.0</version>

</dependency>

(2)將BPMN2.0規范的XML文件拷貝到項目目錄下:/resources/processes

(3)構建表結構,修改springBoot主配置文件application.properties

spring.activiti.database-schema-update=true

設置成true以后,會在項目啟動的時候自動創建Activiti表結構,首次數據表建好后建議改成false

(4)Activiti相關配置,修改springBoot主配置文件application.properties

#保存歷史數據得級別,分為none、activity、audit(默認)、full

spring.activiti.history-level=full

#是否校驗流程文件,默認校驗resources下的processes文件夾里的流程文件

spring.activiti.check-process-definitions=false

#修改默認的流程文件存儲位置

spring.activiti.process-definition-location-prefix=classpath:/processes/

(5)通過注解方式訪問常用接口

@Autowired

privateRuntimeService runtimeService;

@Autowired

privateTaskService taskService;

@Autowired

privateIdentityService identityService;

@Autowired

privateRepositoryService repositoryService;

@Autowired

privateProcessEngine processEngine;

@Autowired

privateHistoryService historyService;

后記

如果您對我們正在做的開源軟件感興趣,歡迎各種形式的合作,作為貢獻者或直接加入我們!讓我們一起打造一套開源的企業級信息化解決方案。


【碼云】或【GitHub】搜索“赤龍ERP”點擊星標,亦可加入我們!?讓我們從小開始做點偉大的事!

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,030評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,310評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,951評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,796評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,566評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,055評論 1 322
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,142評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,303評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,799評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,683評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,899評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,409評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,135評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,520評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,757評論 1 282
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,528評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,844評論 2 372