日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

流程引擎之Flowable简介

發(fā)布時間:2024/3/13 编程问答 95 豆豆
生活随笔 收集整理的這篇文章主要介紹了 流程引擎之Flowable简介 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

背景

Flowable 是一個流行的輕量級的采用 Java 開發(fā)的業(yè)務(wù)流程引擎,通過 Flowable 流程引擎,我們可以部署遵循 BPMN2.0 協(xié)議的流程定義(一般為XML文件)文件,并能創(chuàng)建流程實例,查詢和訪問流程相關(guān)的實例與數(shù)據(jù)等等。

2016 年 10 月,Activiti 工作流引擎的核心開發(fā)者 Tijs Rademakers 離開 Alfresco 公司并在 Activiti 5.22 版本分支基礎(chǔ)上開啟了 Flowable 開源項目。Flowable 項目中包括 BPMN(Business Process Model and Notation)引擎、CMMN(Case Management Model and Notation)引擎、DMN(Decision Model and Notation)引擎、表單引擎(Form Engine)等模塊。

  • 2016年10月13日,Tijs Rademakers 發(fā)布Flowable 5.22.0

  • 2017.02.15發(fā)布Flowable 6.0,該版本基于Activiti6

  • ......

  • 2021.12.28發(fā)布Flowable 6.7.2 release

附 Flowable 官方地址:

  • Flowable 官方網(wǎng)站:https://www.flowable.com/

  • Flowable github:https://github.com/flowable

  • Flowable 版本發(fā)布記錄:https://github.com/flowable/flowable-engine/releases?page=1

  • Flowable 文檔:https://www.flowable.com/open-source/docs/

中文 Flowable 文檔: https://tkjohn.github.io/flowable-userguide/#chapterApi
  • Flowable 教程:https://documentation.flowable.com/latest/howto/tutorial/first-experience

Flowable 使用

1)Flowable UI 使用

與 jBPM 的 Business Central 類似(相對來說 Business Central 功能更強大),Flowable UI 是 Flowable 官方提供給用戶可初始化的流程等資源設(shè)計和管理器,使用步驟如下:

Step 1:下載 flowable-6.8.0.zip 文件,并解壓在 wars 目錄下找到 flowable-ui.war 文件
  • flowable zip 包 github 地址:https://github.com/flowable/flowable-engine/releases/tag/flowable-6.8.0

Step 2:執(zhí)行 "java -jar flowable-ui.war" 命令啟動 Flowable UI
Step 3:訪問 http://localhost:8080/flowable-ui/,并賬密(admin/test)登錄

Flowable UI 登錄后主要包括以下四個功能(圖如上):

  • 任務(wù)應(yīng)用程序(Flowable Task):運行時任務(wù)應(yīng)用,這個提供了啟動流程實例、編輯任務(wù)表單、完成任務(wù),以及查詢流程實例與任務(wù)的功能。

  • 建模器應(yīng)用程序(Flowable Modeler):讓具有建模權(quán)限的用戶可以創(chuàng)建流程模型、表單、選擇表與應(yīng)用定義。

  • 管理員應(yīng)用程式(Flowable Admin): 管理應(yīng)用。讓具有管理員權(quán)限的用戶可以查詢流程、CMMN、APP、Form、DMN 及 Content 引擎,并提供了許多選項用于修改流程實例、任務(wù)、作業(yè)等。

  • 身份管理應(yīng)用程序(Flowable IDM):為所有 Flowable UI 應(yīng)用提供單點登錄認證功能,并且為擁有 IDM 管理員權(quán)限的用戶提供了管理用戶、組與權(quán)限的功能。

Step 4:請假流程示例 demo

其中導(dǎo)入的 holiday.bpmn 如下(該流程文件不能在 Flowable UI 上執(zhí)行,只做建模示例使用):

<process id="holidayRequest" name="Holiday Request" isExecutable="true"><startEvent id="startEvent"/><sequenceFlow sourceRef="startEvent" targetRef="approveTask"/><userTask id="approveTask" name="Approve or reject request" flowable:candidateGroups="managers" /><sequenceFlow sourceRef="approveTask" targetRef="decision"/><exclusiveGateway id="decision"/><sequenceFlow sourceRef="decision" targetRef="externalSystemCall"><conditionExpression xsi:type="tFormalExpression"><![CDATA[${approved}]]></conditionExpression></sequenceFlow><sequenceFlow sourceRef="decision" targetRef="sendRejectionMail"><conditionExpression xsi:type="tFormalExpression"><![CDATA[${!approved}]]></conditionExpression></sequenceFlow><serviceTask id="externalSystemCall" name="Enter holidays in external system"flowable:class="com.flowable.zqh.ExternalDelegateApproved"/><sequenceFlow sourceRef="externalSystemCall" targetRef="holidayApprovedTask"/><userTask id="holidayApprovedTask" name="Holiday approved" flowable:assignee="${employee}"/><sequenceFlow sourceRef="holidayApprovedTask" targetRef="approveEnd"/><serviceTask id="sendRejectionMail" name="Send out rejection email"flowable:class="com.flowable.zqh.SendRejectionEmail"/><sequenceFlow sourceRef="sendRejectionMail" targetRef="rejectEnd"/><endEvent id="approveEnd"/><endEvent id="rejectEnd"/></process>

2)Flowable demo

以請假流程作為 Flowable 基本使用示例(流程示例同 Flowable UI):

  • 請假流程文件 holiday.bpmn 配置

同 Flowable UI 示例中的 holiday.bpmn。

  • 代碼示例

示例源碼參考 csdn 下載地址:https://download.csdn.net/download/zhuqiuhui/87462589

3)Flowable 與 Spring 集成

spring boot 與 Flowable 集成比較簡單,引入以下依賴后,會自動注入 Flowable 相關(guān)核心類,直接在代碼中使用即可。更詳情的參考 Flowable 官方文檔說明:https://www.flowable.com/open-source/docs/bpmn/ch05a-Spring-Boot

<dependency><groupId>org.flowable</groupId><artifactId>flowable-spring-boot-starter</artifactId><version>${flowable.version}</version> </dependency>

4)流程引擎對比

Flowable 相對于其他流程引擎,優(yōu)點如下:

  • 以 Flowable6.4.1版本為分水嶺,大力發(fā)展其商業(yè)版產(chǎn)品,開源版本維護不及時,部分功能已經(jīng)不再開源版發(fā)布,比如表單生成器(表單引擎)、歷史數(shù)據(jù)同步至其他數(shù)據(jù)源、ES等

  • 支持了流程、CMMN、APP、Form、DMN 及 Content 引擎

  • 支持異步執(zhí)行器、動態(tài)腳本等

  • Flowable 啟動后會自動初始化 46 張數(shù)據(jù)表

  • ......

Flowable 整體架構(gòu)

使用引擎 API 是與 Flowable 交互的最常見方式,核心類是 ProcessEngine,從 ProcessEngine 中可以獲取包含工作流/BPM方法的各種服務(wù)(與 Activiti5 類似,有興趣可進一步深入)。如下圖所示:

流程引擎系列文章

  • 流程引擎之發(fā)展史及對比總結(jié):https://blog.csdn.net/zhuqiuhui/article/details/128986403

  • 流程引擎之KIE項目簡介:https://blog.csdn.net/zhuqiuhui/article/details/129035796

  • 流程引擎之jBPM簡介:https://blog.csdn.net/zhuqiuhui/article/details/129052162

  • 流程引擎之Activiti簡介:https://blog.csdn.net/zhuqiuhui/article/details/129107741

  • 流程引擎之Camunda簡介:https://blog.csdn.net/zhuqiuhui/article/details/129107897

  • 流程引擎之Flowable簡介:https://blog.csdn.net/zhuqiuhui/article/details/129109273

  • 流程引擎之compileflow簡介:https://blog.csdn.net/zhuqiuhui/article/details/129109391

總結(jié)

以上是生活随笔為你收集整理的流程引擎之Flowable简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。