低程式碼平臺選型(一)| 引擎篇
常見的開源流程引擎
流程引擎,用來驅動業務按照設定的固定流程去流轉的東西,在複雜多變的業務情況下,使用既定的流程能夠大大降低我們設計業務的成本,並且保證了我們業務執行的準確性。
市場上比較有名的開源流程引擎有 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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 低程式碼平臺選型(二)部署篇
- 低程式碼平臺選型(五)效能篇
- 低程式碼平臺選型(三)國產化
- 低程式碼開發平臺選型注意事項
- 銀彈谷:全民低碼時代,企業如何選型低程式碼平臺
- 低程式碼平臺選型(四)原始碼交付是偽需求嗎?原始碼
- 低程式碼開發平臺選型的注意事項(下)
- 低程式碼開發平臺選型的注意事項(上)
- 開源低程式碼平臺開發實踐一:低程式碼開發探討與技術選型
- 企業如何選擇低程式碼開發平臺
- 如何選擇低程式碼開發平臺,分析平臺的解決方案
- 什麼是低碼開發平臺?低程式碼平臺需要編碼嗎?
- 低程式碼平臺之間也有不小的區別?選型要注意看部署方式!
- 企業數字化轉型選用“低程式碼平臺”的8條建議!
- 低程式碼開發平臺是什麼意思?低程式碼開發平臺優勢!
- 低程式碼應用程式開發平臺的5種選擇
- “低程式碼”平臺特性概覽
- 低程式碼平臺的優勢有哪些?中小企業篇
- 八大引擎驅動的LR.低程式碼開發平臺
- 如何挑選擇合適的低程式碼開發平臺
- “低程式碼”是什麼?低程式碼平臺如何助力企業實現數字化轉型?
- 低程式碼開發平臺的功能有哪些?低程式碼“功能清單”一覽
- 一體化HR SaaS+低程式碼平臺加速企業數字化轉型程式
- 製造業轉型加速金鑰——低程式碼開發平臺
- 低程式碼平臺會取代COTS嗎
- 你知道低程式碼BPM平臺嗎?
- 低程式碼平臺有哪些好處?
- 低程式碼平臺!企業級應用開發模式首選模式
- 選擇低程式碼開發平臺的五大要求
- 為什麼企業要選擇低程式碼開發平臺?
- 低程式碼平臺的常見安全漏洞,J2PaaS低程式碼平臺如何解決?
- 低程式碼-業務流程引擎
- 銀彈谷:成功型企業實踐低程式碼/零程式碼平臺的一般路徑
- 硬之城攜手阿里雲Serverless應用引擎(SAE)打造低程式碼平臺阿里Server
- 低程式碼是開發的未來嗎?淺談低程式碼平臺
- Gartner釋出《2021年企業低程式碼平臺魔力象限》低碼一體化平臺成趨勢!
- 低程式碼開發平臺 開啟數字化轉型普惠之門
- 十大低程式碼開發平臺排行榜,各家低程式碼平臺特點是什麼?