建網(wǎng)站和做微信哪個(gè)好百度賬號(hào)注冊(cè)入口
?目錄
一、Flowable簡(jiǎn)介
二、Flowable 與 Activiti 的區(qū)別
三、流程圖的繪制(以員工請(qǐng)假流程圖為例)
1、下載 flowable 的壓縮包:
2、啟動(dòng)包中的 tomcat
3、登錄頁(yè)面
4、繪制結(jié)束,導(dǎo)出 bpmn20.xml文件
一、Flowable簡(jiǎn)介
Flowable 是一個(gè)使用 Java 編寫(xiě)的輕量級(jí)業(yè)務(wù)流程引擎。Flowable 流程引擎可用于部署 BPMN 2.0流程定義(用于定義流程的行業(yè)XML標(biāo)準(zhǔn)), 創(chuàng)建這些流程定義的流程實(shí)例,進(jìn)行查詢,訪問(wèn)運(yùn)行中或歷史的流程實(shí)例與相關(guān)數(shù)據(jù)等等。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? —— 以上來(lái)源于中文版用戶手冊(cè):flowable-userguide
👉 補(bǔ)充概念知識(shí):
1、BPM:
“通過(guò)建模、自動(dòng)化、管理和優(yōu)化流程,打破跨部門(mén)跨系統(tǒng)業(yè)務(wù)過(guò)程依賴、打破信息孤島,提高業(yè)務(wù)效率和效果”,通俗一點(diǎn)講,就是工作流引擎。在進(jìn)行流程設(shè)計(jì)時(shí),需要將流程的元素進(jìn)行定義,并按照一定的格式、標(biāo)準(zhǔn)運(yùn)行,這就需要一套業(yè)務(wù)規(guī)范,這套規(guī)范就是BPM。
2、BPMN1.0:
“業(yè)務(wù)流程建模標(biāo)注”,從語(yǔ)義上我們就能理解,BPMN1.0就是將流程定義標(biāo)準(zhǔn)化的一套規(guī)則、規(guī)范。提出這套標(biāo)準(zhǔn)化的就是OMG(國(guó)際性、開(kāi)放式會(huì)員制的非盈利技術(shù)標(biāo)準(zhǔn)聯(lián)盟),這套標(biāo)準(zhǔn)是獨(dú)立于企業(yè)的標(biāo)準(zhǔn)。
3、BPMN2.0:
BPMN2.0相對(duì)于BPMN1.0最大的區(qū)別就是定義、規(guī)范了流程引擎的執(zhí)行語(yǔ)義和格式,利用標(biāo)準(zhǔn)的圖元描述真實(shí)的業(yè)務(wù)發(fā)生過(guò)程,保證相同的流程在不同的流程引擎中得到一致的執(zhí)行結(jié)果。在BPMN2.0的這套標(biāo)準(zhǔn)中,主要對(duì)流程執(zhí)行定義了三類基本要素,分別為Activities(活動(dòng))、Gateways(網(wǎng)關(guān))、Events(事件)。
二、Flowable 與 Activiti 的區(qū)別
優(yōu)點(diǎn) | 缺點(diǎn) | |
Flowable | 1、架構(gòu)靈活:Flowable的架構(gòu)非常靈活,可以輕松地嵌入到Spring或者其他Java應(yīng)用中,也可以作為獨(dú)立的服務(wù)運(yùn)行。 2、擴(kuò)展性強(qiáng):Flowable提供了插件機(jī)制,可以方便地?cái)U(kuò)展和定制工作流引擎的功能。 3、高可用性:Flowable支持分布式部署,可以實(shí)現(xiàn)高可用性的工作流引擎。 4、維護(hù)活躍:Flowable項(xiàng)目有一個(gè)活躍的社區(qū),提供了及時(shí)的技術(shù)支持和更新。 | 1、文檔相對(duì)較少:Flowable相對(duì)于Activiti,文檔相對(duì)較少。 2、社區(qū)相對(duì)較小:Flowable的社區(qū)相對(duì)于Activiti,規(guī)模較小。 |
Activiti | 1、文檔詳細(xì):Activiti的官方文檔非常詳細(xì),易于新手學(xué)習(xí)和使用。 2、社區(qū)活躍:Activiti的社區(qū)規(guī)模較大,提供了廣泛的技術(shù)支持和資源。 3、易于集成:Activiti可以輕松地與Spring集成,也可以作為獨(dú)立的服務(wù)運(yùn)行。 4、貢獻(xiàn)者較多:Activiti是一個(gè)比較成熟的工作流引擎,有大量的貢獻(xiàn)者和用戶,可以提供成熟的解決方案。 | 1、擴(kuò)展性較弱:Activiti的插件機(jī)制較為有限,擴(kuò)展和定制功能不如Flowable方便。 2、可靠性較低:Activiti在一些用戶反饋的場(chǎng)景下,存在一些穩(wěn)定性問(wèn)題,需要注意。 |
三、流程圖的繪制(以員工請(qǐng)假流程圖為例)
1、下載 flowable 的壓縮包:
① 下載地址:https://github.com/flowable/flowable-engine/releases/tag/flowable-6.6.0/
百度網(wǎng)盤(pán):鏈接:https://pan.baidu.com/s/11c0TQ45tfl3trt3drkI1Hg?
提取碼:2sfq
② 解壓后,將?flowable-6.6.0\flowable-6.6.0\wars 下的兩個(gè)文件拷貝到 tomcat下的?apache-tomcat-8.5.57\webapps 下
2、啟動(dòng)包中的 tomcat
雙擊?\apache-tomcat-8.5.57\bin\startup.bat,啟動(dòng) tomcat
3、登錄頁(yè)面
地址:http://localhost:8080/flowable-ui
默認(rèn)用戶名:admin
密碼:test
相關(guān)概念:
- 事件(event):通常用于為流程生命周期中發(fā)生的事情建模,圖里是【開(kāi)始、結(jié)束】?jī)蓚€(gè)圈。
- 順序流(sequence flow)是流程中兩個(gè)元素間的連接器。圖里是【箭頭線段】。
- 網(wǎng)關(guān)(gateway)用于控制執(zhí)行的流向。圖里是【菱形(中間有X)】
- 用戶任務(wù)(user task)用于對(duì)需要人工執(zhí)行的任務(wù)進(jìn)行建模。圖里是【矩形】。
注意事項(xiàng):
- 考慮易讀性,每個(gè)組件最好設(shè)置主鍵ID。
- 分配用戶可以選擇候選人或者候選組。
候選組需要提前創(chuàng)建
?順序流可以設(shè)置流條件來(lái)限制流動(dòng)