工作流-----第一章-----工作流發展史

 

jBPM(java Business Process Management),是一種基於JavaEE 的輕量級工作流管理框架(Framework)。

jBPM 項目於 2002 年 3 月由Tom Baeyens發起,2003 年12 月發佈1.0 版本。jBPM 在 2004 年 10 月 18 日,發佈了 2.0 版本,並在同一天加入了JBoss 組織,成爲了 JBoss 企業中間件平臺的一個組成部分,它的名稱也改成 JBoss jBPM。隨着 jBPM 加入 JBoss 組織,以及 JBoss 被 RedHat公司收購,jBPM 也進入一個全新的發展時代,它獲得了大量的社區和商業支持,因此發展前景十分光明。

jBPM4 引入了 PVM(流程虛擬機)的設計理念,爲 jBPM4 的"無限"擴展和集成提供了有力的底層功能支持。

jBPM 是 JBoss 旗下的子項目,JBoss下還包括有 Seam(JavaEE開發框架)、Drools(規則引擎)、 Hibernate(ORM持久化框架)等衆多領域的優秀開源項目。由於同屬於一個產品家族,所以它們能與 jBPM 完美結合,相互之間都留有接口,方便開發者對業務進行擴展,也爲 jBPM 提供更多的可延伸價值。

jBPM 還是 JBoss SOA 平臺的一個重要組件,與 JBoss Drools 規則引擎和 JBoss ESB 企業服務總線一起,可以爲用戶提供全面、完整的 SOA 解決方案。

jBPM 是一個支持"嵌入式"的業務流程管理產品,理論上可以運行在任何JavaEE應用服務器之上,也可以運行在桌面應用中。jBPM4 在流程虛擬機(PVM)技術的基礎上,能夠同時支持多種流程定義語言。

然後

 jBPM 的創建者Tom Baeyens離開 JBoss 了。Tom Baeyens 離開的具體原因尚不清楚,但他的離開產生了兩個結果:一是 jBPM 的下一個版本 jBPM5 完全放棄了 jBPM4 的基礎代碼,基於Drools Flow重頭來過;二是 Tom Baeyens 加入Alfresco後很快推出了新的基於 jBPM4 的開源工作流系統Activiti。由此不難推測 Tom Baeyens 離開的部分原因:JBoss 內部對 jBPM 未來版本的架構實現產生了嚴重的意見分歧。

之後便出現了 JBPM與activiti

2010  12 月 1 日 Activiti5 剛發佈,緊接着 12 月 2 日 jBPM5 就發佈了第一個候選發佈版本

下面是兩者的比較

 

序號

技術組成 Activiti jBPM5

1

數據庫持久層ORM MyBatis3 Hibernate3

2

持久化標準

JPA規範

3

事務管理

MyBatis機制/spring事務控制

Bitronix,基於JTA事務管理

4

數據庫連接方式

Jdbc/DataSource

Jdbc/DataSource

5

支持數據庫

Oracle、SQL Server、MySQL等多數數據庫

Oracle、SQL Server、MySQL等多數數據庫

6

設計模式

Command模式、觀察者模式等

7

內部服務通訊

Service間通過API調用

基於Apache Mina異步通訊

8

集成接口

SOAP、Mule、RESTful

消息通訊

9

支持的流程格式

BPMN2、xPDL、jPDL等

目前僅只支持BPMN2 xml

10

引擎核心

PVM(流程虛擬機)

Drools

11

技術前身

jBPM3、jBPM4

Drools Flow

12

所屬公司

Alfresco

jBoss.org

圖轉自http://www.ibeifeng.com/tech-69216.html

下面說下  activiti到flowable         https://blog.csdn.net/qq_30739519/article/details/82493456 

我在寫Activiti權威指南的時候,大概是2016年7月份左右。給清華大學出版社交稿的時候大概在2017年3月份左右、最終出版是2017年5月份左右。其實在2016.7~2017.5期間activiti團隊內部已經產生了重大的分歧。關於新的activiti新團隊與原有的團隊重要開發人員我們羅列一下,細節如下:

Tijs Rademakers,算是activiti5以及6比較核心的leader了。現在是flowable框架的leader。

Joram Barrez  算是activiti5以及6比較核心的leader了。目前從事flowable框架開發。

Salaboy Activiti Cloud BPM leader(Activiti Cloud BPM 也就是目前的activiti7框架)

Tijs Rademakers以及Salaboy目前是兩個框架的leader。

    特此強調一點:activiti5以及activiti6、flowable是Tijs Rademakers團隊開發的。

Activiti7是 Salaboy團隊開發的。activiti6以及activiti5代碼目前有 Salaboy團隊進行維護。因爲Tijs Rademakers團隊去開發flowable框架了,所以activiti6以及activiti5代碼已經交接給了 Salaboy團隊(可以理解爲離職之前工作交接)。目前的activiti5以及activiti6代碼還是原Tijs Rademakers原有團隊開發的。Salaboy團隊目前在開發activiti7框架。對於activiti6以及activiti5的代碼官方已經宣稱暫停維護了。activiti7就是噱頭 內核使用的還是activiti6。並沒有爲引擎注入更多的新特性,只是在activiti之外的上層封裝了一些應用。

    注意:activiti6的很多框架bug在flowable框架中已經修復的差不多了。

我們不妨看一下這兩個框架的github分支情況,側民印證下我上面說的結論。

Activiti框架情況
activiti的github地址;https://github.com/Activiti/Activiti

 

 

 

通過上面的一系列圖,可以看出來。activiti5以及ativiti6的核心開發團隊是Tijs Rademakers團隊。activiti6最終版本由Salaboy團隊發佈的。

可能很多人有疑惑,activiti6核心代碼是Tijs Rademakers團隊開發的,爲何是Salaboy團隊發佈的呢?很簡單,因爲這個時候Tijs Rademakers團隊已經去開發flowable去了。flowable是基於activiti-6.0.0.Beta4 分支開發的。下面我們截圖一些flowable的發展。

Flowable框架情況
flowable的github地址:https://github.com/flowable/flowable-engine

關於更多的Activiti6視頻地址:https://ke.qq.com/course/package/11402?tuin=84de321b

關於更多的Flowable視頻地址:https://ke.qq.com/course/package/11431?tuin=84de321b

目前Flowable已經修復了activiti6很多的bug,可以實現零成本從activiti遷移到flowable。

flowable目前已經支持加簽、動態增加實例中的節點、支持cmmn、dmn規範。這些都是activiti6目前版本沒有的。

1、flowable已經支持所有的歷史數據使用mongdb存儲,activiti沒有。

2、flowable支持事務子流程,activiti沒有。

3、flowable支持多實例加簽、減籤,activiti沒有。

4、flowable支持httpTask等新的類型節點,activiti沒有。

5、flowable支持在流程中動態添加任務節點,activiti沒有。

6、flowable支持歷史任務數據通過消息中間件發送,activiti沒有。

7、flowable支持java11,activiti沒有。

8、flowable支持動態腳本,,activiti沒有。

9、flowable支持條件表達式中自定義juel函數,activiti沒有。

10、flowable支持cmmn規範,activiti沒有。

11、flowable修復了dmn規範設計器,activit用的dmn設計器還是舊的框架,bug太多。

12、flowable屏蔽了pvm,activiti6也屏蔽了pvm(因爲6版本官方提供了加簽功能,發現pvm設計的過於臃腫,索性直接移除,這樣加簽實現起來更簡潔、事實確實如此,如果需要獲取節點、連線等信息可以使用bpmnmodel替代)。

13、flowable與activiti提供了新的事務監聽器。activiti5版本只有事件監聽器、任務監聽器、執行監聽器。

14、flowable對activiti的代碼大量的進行了重構。

15、activiti以及flowable支持的數據庫有h2、hsql、mysql、oracle、postgres、mssql、db2。其他數據庫不支持的。使用國產數據庫的可能有點失望了,需要修改源碼了。

16、flowable支持jms、rabbitmq、mongodb方式處理歷史數據,activiti沒有。

幾個框架前景對比
1、2019年6月中旬 salboy已從alfresco公司離職。activiti7/8開發動向不明確。

2、flowable以6.4.1版本爲分水嶺,大力發展其商業版產品。開源版本維護不及時。部分功能已經不再開源版發佈,比如表單生成器(表單引擎)、歷史數據同步至其他數據源、es等等。dmn目前是個半成品,沒有camunda穩定和好用,對於dmn規範支持薄弱。部分商業版的組件被商業化,因此開源版不再維護。Mongdb目前也放到商業產品中了,開源版的幾乎不能用。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章