Flowable工作流是一款基於Java的輕量級開源工作流引擎,它支持BPMN2.0規範、CMMN規範,同時也提供REST API以及JavaAPI,支持Spring,Spring Boot等框架。藉助Flowable工作流,企業可以快速構建出符合自己實際業務的工作流。
一、工作流概念
工作流(Workflow),是指對於一項業務,按照規定的流程,逐級傳遞、申請、執行等,並且受到了嚴格控制的一種業務過程。
而BPM(Business Process Management)是指對於某項業務的整個生命周期進行全面管理的一種模式,最核心的內容包括了工作流、決策、交互等。在這些管理過程中,人員、系統等資源都是可以被自動調度的,以致達到更高效、完善的管理目的。
二、為什麼選擇Flowable工作流
1、輕量級:Flowable工作流是一款輕量級的工作流引擎,啟動快、體積小,且可以嵌入Java應用中使用。
2、開放源代碼:Flowable工作流是一個開源的工作流引擎,保證企業在使用過程中不會受到第三方的監控與限制。
3、商用友好:Flowable工作流允許企業在商業環境下進行使用,並且提供Flowable Task一類的額外服務。
三、Flowable工作流入門
1、下載安裝:Flowable工作流可以在Flowable官網下載。下載完成後,可以解壓縮後即可使用。
2、工作流模型:使用Flowable工作流進行流程管理,需要先定義出流程模型。這部分可以通過BPMN2.0規範進行定義。比如一個簡單的流程模型可以是這樣的:
3、引入依賴:在Java代碼中使用Flowable工作流,需要引入相關的依賴。具體可以參見pom.xml如下:
<dependencies> <dependency> <groupId>org.flowable</groupId> <artifactId>flowable-spring-boot-starter</artifactId> <version>6.6.0</version> </dependency> </dependencies>
4、啟動流程實例:在Java代碼中啟動流程實例,可以使用如下代碼:
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); RuntimeService runtimeService = processEngine.getRuntimeService(); ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myProcess");
四、Flowable工作流高級應用
1、自定義任務表:默認情況下,Flowable工作流使用Act_RU_TASK表進行任務存儲。如果需要使用自定義任務表,則可以像下面的代碼一樣配置流程引擎:
ProcessEngineConfiguration cfg = new StandaloneProcessEngineConfiguration() .setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_CREATE_DROP) .setJdbcUrl("jdbc:h2:mem:flowable;DB_CLOSE_DELAY=-1") .setJdbcUsername("sa") .setJdbcPassword("") .setJdbcDriver("org.h2.Driver") .setCustomMybatisMappers(Collections.singletonList(UserTaskMapper.class)) .setCustomMybatisXMLMappers(Collections.singletonList("mappings/userTaskMapper.xml")); ProcessEngine processEngine = cfg.buildProcessEngine();
2、定時任務:在Flowable工作流中,定時任務可以通過繼承JobHandler介面來實現,具體可以參考下面的代碼實現:
public class MyJob implements JobHandler { @Override public void execute(JobEntity jobEntity, String s, CommandContext commandContext) { // do sth } }
3、多租戶:Flowable工作流引擎可以支持多租戶環境,即根據不同租戶來區分流程管理等。具體操作可以參考官方文檔實現。
五、總結
本文主要介紹了Flowable工作流的基本概念、選擇優勢、入門介紹以及高級應用。Flowable工作流作為一款輕量級的工作流引擎,可以幫助企業高效構建出符合自己實際業務的工作流,值得我們深入學習與應用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/236341.html