低程式碼平臺選型(一)| 引擎篇

霧裡看花生米發表於2022-10-10

常見的開源流程引擎

流程引擎,用來驅動業務按照設定的固定流程去流轉的東西,在複雜多變的業務情況下,使用既定的流程能夠大大降低我們設計業務的成本,並且保證了我們業務執行的準確性。

市場上比較有名的開源流程引擎有 osworkflow jbpm activiti flowable camunda 。其中: Jbpm4 Activiti Flowable camunda 四個框架同宗同源,祖先都是 Jbpm4 ,開發者只要用過其中一個框架,基本上就會用其它三個。 另外,也有一些廠商自主研發的流程引擎,表現很不錯,特別是在滿足中國特色的流程需求方面,比如國產老廠商天翎。

 

(天翎平臺技術引數)

低程式碼平臺和流程引擎的關係

低程式碼,指一種快速開發的方式,使用最少的程式碼、以最快的速度來交付應用程式。一般採用簡單的圖形化介面和拖、拉、拽的開發方式,透過視覺化的邏輯引擎開發自己所需的應用程式。

Forrester 將低程式碼平臺定義為“利用很少或幾乎不需要寫程式碼就可以快速開發應用,並可以快速配置和部署的一種技術和工具”。

流程引擎作為一種核心功能, 低程式碼平臺、辦公自動化(OA )、 BPM 平臺、工作流系統均需要, 如果說低程式碼平臺是一輛貨車,流程引擎就是車的控制系統,表單是車廂,資料是貨物。

 

 

低程式碼平臺選型之流程引擎 Activiti

既然流程引擎是低程式碼平臺的核心功能,那麼在選型低程式碼平臺時就需要格外注意流程引擎方面,包括其適用性、效能等。本文主要主要講 開源流程引擎 Activiti 因為這是在低程式碼平臺中常用的流程引擎,比如 宏天、紅迅 基於開源 Activiti 作為流程引擎

Activiti Alfresco 軟體開發 目前最高版本 Activiti 7 Activiti 的版本比較複雜,有 Activiti5 Activiti6 Activiti7 幾個主流版本 Activiti5 Activiti6 的核心 leader Tijs Rademakers ,由於團隊內部分歧,在 2017 年時 Tijs Rademakers 離開團隊,建立了後來的 flowable, Activiti6 以及 Activiti5 程式碼已經交接給了 Salaboy 團隊 Activiti6 以及 Activiti5 的程式碼官方已經暫停維護了   Salaboy 團隊目前在開發 Activiti7 框架, activiti7 核心使用的還是 Activiti6 ,並沒有為引擎注入更多的新特性,只是在 Activiti 6 之外的上層封裝了一些應用。

Activiti 作為 一個 流程 引擎, 可以將業務系統中複雜的業務流程抽取出來,使用專門的建模語言( BPMN2.0 )進行定義,業務系統按照預先定義的流程進行執行,實現了業務系統的業務流程由 Activiti 進行管理,減少業務系統由於流程變更進行系統升級改造的工作量,從而提高系統的健壯性,同時也減少了系統開發維護成本。

Activiti 的設計初衷是嵌入式引擎應用,減少大量的硬編碼工作,而應對 BPM 引擎中心需求仍有很多不足。

1   Activiti 啟動後,自動初始化 23 張資料表(作為 Activiti 升級版的 Flowable ,會自動建立 46 張表),實際業務場景中很多基本用不上。

2 流程變數屬性資料的儲存方式,採用縱表結構(為每個欄位儲存一條資料記錄)。當一條流程記錄中由 500 個欄位,則會產生 500 條變數屬性記錄,當業務量大時會嚴重影響效能,併產生鎖表現象。

3 自動資料來源繫結,一個引擎例項指定一個資料來源,在多應用(應用商店)場景下,無法為不同應用繫結不同的資料來源

4 流程歷史表同樣採用縱表結構,不儲存歷史資料,則無法回溯,儲存會產生單表過億資料

5 無法多資料來源同時工作,業務資料來源和流程資料來源不在一個資料庫事務,會導致資料不一致。

6 表單和流程無法緊密耦合,如果有業務表單存在,則只能業務表單存一份資料,流程引數存一份資料,處理不好會導致資料不一致。

7 Activiti 自帶使用者體系,主要是:使用者 + 使用者組實現,在複雜組織架構中,需要擴充套件。但擴充套件後無法做到向後相容,後續( Activiti )版本升級是個問題。

8   Activiti 和升級版 Flowable flowable 基於 activiti6 衍生出來的版本, flowable 目前最新版本是 v6.6.0 已經是屬於兩個商業實體,在後續的技術進化路線上產生明顯的分歧。

總而言之,採用 Activiti 流程的低程式碼平臺, 不可避免受到 以上這些 限制 所以在選型時我們需要多加考慮。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70012155/viewspace-2917479/,如需轉載,請註明出處,否則將追究法律責任。

相關文章