Flowable:簡介


Flowable 是什么

Flowable 是一個流行的輕量級的采用 Java 開發的業務流程引擎。

通過 Flowable 流程引擎,我們可以部署 BPMN 2.0 的流程定義(一般為XML文件),通過流程定義創建流程實例,查詢和訪問流程相關的實例與數據,等等。

Flowable 可以靈活地添加到我們的服務、應用、架構中,可以通過引入Flowable jar 包,或者直接使用 Flowable 的 Rest API 來進行業務流程引擎的操作。

Flowable 是基於 Activity5.0 的一個分支開發的,因此內部的很多概念都相似。

為什么使用 Flowable

假如要開發一個公司請假流程,員工填寫請假單,然后提交給組長,之后提交給經理,最后提交給老板。這樣的邏輯自己可以簡單寫代碼實現,這個實現的版本的稱為 1.0。

后來需求發生變更,如果請假天數較少可以直接提交給經理,不用提交給老板審批,可以在 1.0 的基礎上進行修改,這個版本稱為 2.0。

然后需求在次發生變更,需要在組長之前加入副組長審批,在 2.0 的基礎進行修改,版本更新到 3.0。

每次從 1.0 到 3.0 里面的代碼邏輯都要發生較大的變化,修改的工作量也是逐漸遞增。在每次需求變更的過程中,其實最為復雜的邏輯是員工、組長、經理等各個用戶辦理自己任務的時機,無論是員工或是領導其做的事情其實都是查看請假單然后簽字,因此如果能將各個用戶辦理自己任務的時機這個復雜的邏輯抽取出來,在每次需求變更后修改起來簡單很多。

流程引擎就是對上面用戶辦理任務時機的這個邏輯進行高度抽象的成果。

Flowable 是如何減少工作量

可以類比於 3D 打印,將 3D 打印機連上電腦,然后在電腦上畫好圖紙,打印機就會按照圖紙打印模型。Flowable 也是類似的原理,只要畫好流程的圖紙,Flowable 會按照每個用戶輸入,並結合圖紙,控制不同的用戶何時該辦理自己的任務。一般請假的流程發生變更,需要做的事情就是重新繪制圖紙。

將 Flowable 引入到項目中,做少量配置工作,就可以適應復雜且多變的業務場景。

參考資料

Flowable 也分商業版和開源版。

開源版的網址是 https://www.flowable.com/open-source/

商業版的網址是 https://www.flowable.com/

后面文章均基於開源版。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM