流程引擎Camunda7、Camunda8對比分析
?camunda7和camunda8在技術架構、流程引擎內核、產品定位、商業授權等方面有顯著區別。本文從多個維度介紹開源流程引擎camunda7和camunda8的區別,并重點介紹camunda8的技術架構、授權許可、SaaS模式、擴展機制、對比分析等。camunda7和camunda8如何選擇,文本給出一些參考建議。
一、camunda7介紹
Camunda7是一個基于Java的框架,支持用于工作流和流程自動化的BPMN、用于案例管理的CMMN和用于業務決策管理的DMN。
1、流程引擎
流程引擎是一個Java庫,負責執行BPMN 2.0流程、CMMN 1.1案例和DMN 1.3決策。它有一個輕量級的POJO核心,并使用關系數據庫來實現持久性。ORM映射是由MyBatis映射框架提供的。
2、流程設計器
- Camunda Modeler:BPMN 2.0和CMMN 1.1圖表以及DMN 1.3決策表的建模工具。
- bpmn.io:用于建模框架和工具包的開源項目。
3、Web應用程序
- REST API REST API允許您從遠程應用程序或JavaScript應用程序使用流程引擎。(注意:RESTAPI的文檔被分解到自己的文檔中。)
- Camunda Tasklist用于人工工作流管理和用戶任務的web應用程序,允許流程參與者檢查其工作流任務并導航到任務表單,以便處理任務并提供數據輸入。
- Camunda Cockpit用于流程監控和操作的web應用程序,允許您搜索流程實例、檢查其狀態并修復損壞的實例。
- Camunda Admin允許您管理用戶、組和授權的web應用程序。
更多camunda7參考文章:
Camunda 技術架構:
https://lowcode.blog.csdn.net/article/details/109032371
Camunda 開源和商業版本區別:
https://lowcode.blog.csdn.net/article/details/109043734
Camunda 入門示例hello world:
https://lowcode.blog.csdn.net/article/details/117518828
二、camunda8介紹
Camunda Platform 8可協調跨人員、系統和設備的復雜業務流程。有了Camunda,業務用戶可以與開發人員合作,使用BPMN支持的流程圖以及DMN決策表來建模和自動化端到端流程,DMN決策表格可以提高速度、規模和決策邏輯。
1、Camunda8技術架構
隨著Camunda8向公眾開放,讓我們看一下構成Camunda平臺8的各種組件。
- Concepts -關于各種Camunda平臺8主題的概念文檔。
- Console -有關使用控制臺的更多信息。
- Modeler-關于Camunda建模工具的文檔,包括Web Modeler和Desktop Modeler。
- Connectors -關于與外部系統集成的Camunda連接器的文檔。
- Zeebe Engine -Zeebe的完整文檔。
- Operate(操作)-使用Operate監控和排除流程故障的用戶指南。
- Optimize—使用Optimize的詳細用戶指南,通過識別系統中的約束來改進流程。
- Tasklist -用于在任務列表中處理用戶任務的文檔。
2、Camunda8授權許可
Camunda8包括多個組件,有的組件可以免費使用,有的組件是商業授權,下圖根據組件的許可證為組件著色:
- 綠色:開源許可證Open source license。
- 綠色條紋:源可用許可證Source-available license,對于好奇的人來說,開源(open source)和源可用(Source-available license)之間的區別解釋如下,對于大多數人來說,沒有真正的區別。
- 藍色:此軟件可用,但僅免費用于非生產用途。如果要將這些組件投入生產,則需要從Camunda購買許可證(通過企業訂閱)。
- 紅色:該軟件僅在Camunda8 - SaaS中可用,無法自行管理。注意:這可能會發生變化,并且隨著時間的推移,某些紅色組件應變為藍色。
簡短總結,您可以在私有化部署的生產環境中使用所有綠色和綠色條紋的組件,即Zeebe、modeler、elastic組件,綠色組件是開源的,條帶化組件使用源可用許可證。您可以在開發和測試期間使用所有藍色組件,如果您想在投入生產時繼續使用它們,則需要從Camunda購買許可證,即Camunda Operate、Camunda Tasklist 、 Camunda Optimize 這些組件是需要商業授權的。另外,我們從GitHub 上看到,只有 Zeebe、modeler 的源碼,沒有 Camunda Operate、Camunda Tasklist 或 Camunda Optimize 的源碼。
關于Zeebe,它基于非常自由的開源MIT許可證,但有一個限制,用戶不允許使用這些組件在云中提供商業工作流服務。如果您想了解有關開源許可的更多信息,請訪問https://camunda.com/blog/2019/07/zeebe-community-license/。
3、Camunda8 SaaS收費
Camunda8官方定位是SaaS化流程平臺,所以采用了標準的云原生架構,為了滿足SaaS多租戶和水平擴展需要。
Camunda8 SaaS商業模型,按照用戶數、流程實例數、按月收費,看官方的在線報價模型,收費可不低。
4、Camunda8如何擴展
如果想在生產環境中使用Camunda8,而不涉及到商業授權,就需要做大量的擴展開發,以下是一條既不需要商業許可證也不違反任何許可協議的技術路徑。
您將需要找到解決方案來替換無法使用的工具。
1、任務列表
您將需要基于使用訂閱 Zeebe 的工作人員來實現自己的任務管理解決方案,這也意味著您必須構建自己的持久性以允許任務查詢,因為任務列表 API 是任務列表組件的一部分,不能免費用于生產。
2、流程操作
您可以在 Elastic 中訪問數據(有關詳細信息,請查看 Elastic 導出器),利用指標,或構建自己的導出器以將其推送到一些方便的數據存儲組件。導出器還可以即時篩選或預處理數據。值得注意的是,支持歷史記錄 API 的操作數據預處理邏輯是操作的一部分,不能免費用于生產。為了影響流程實例(如取消它們),您可以使用現有的 Zeebe API,該 API 也作為命令行工具 zbctl 公開。這種靈活性允許您將功能掛接到自己的前端。
3、流程優化
它非常深入到基于流程的分析中,這很難自己構建。如果無法使用優化,則最接近優化的方法可能是添加自己的導出器,將數據推送到現有的通用 BI(商業智能)、DWH(數據倉庫)或數據湖解決方案。
三、camunda7與camunda8區別
1、camunda7與camunda8流程引擎不同
camunda7流程引擎內核是基于activiti5發展而來的,本質是上流程虛擬機pvm。Camunda8流程引擎內核是Zeebe,Zeebe是為Camunda平臺8提供動力的過程自動化引擎。camunda7和camunda8的流程引擎完全不同,所以說camunda7和camunda8是兩個完全不同的流程平臺。
Zeebe的特性:
- 在BPMN 2.0中以圖形方式定義流程,這一條跟camunda7一致。
- 選擇任何gRPC支持的編程語言來實現交互,camunda7是http服務,這是camunda7與camunda8的明顯區別。
- 構建對來自Apache Kafka和其他消息傳遞平臺的事件做出反應的流程。camunda8偏向于消息事件。
- 作為Camunda Platform 8提供的軟件即服務(SaaS)的一部分使用,或與Docker和Kubernetes一起部署(在云中或內部部署)Camunda Platform8 Self-Managed。
- 水平擴展以處理非常高的吞吐量。camunda8定位云原生,SaaS化的典型技術特征。
- 依靠您的流程的容錯性和高可用性。
- 導出用于監測和分析的過程數據(目前只能通過Camunda Platform 8 Self-Managed中添加的Elasticsearch導出程序獲得)。
2、camunda7與camunda8商業授權不同
camunda7也分社區版和企業版,但社區版開源部分對于一般工作流需求已經夠用,無需花錢購買企業版。
camunda8開源組件較少,大部分組件需要單獨授權購買。
3、camunda7與camunda8產品定位不同
camunda7定位企業級流程引擎,支撐客戶私有化部署。
camunda8定位是SaaS化流程引擎,在線開通租賃服務。
四、camunda7與camunda8如何選擇
通過以上對camunda7與camunda8的技術架構、是否開源、商業授權等多個維度進行對比分析,相信讀者也基本有了判斷,到底是選擇camunda7還是camunda8。以下是一篇官方文章,選擇Camunda Platform 8 Enterprise Edition的13個理由,供參考。
1.無限制的流程模型部署:根據業務需要創建和部署盡可能多的BPMN流程模型,以跨人員、系統和設備協調復雜的業務流程。
2.無限制的決策表部署:通過自動化業務決策來節省時間并減少錯誤。作為業務流程的一部分,創建和部署無限的DMN決策表。
3.支持高容量流程和決策實例:利用為Camunda Platform 8提供動力的工作流和決策引擎Zeebe,以一致的低延遲執行大量流程和決策示例。
4.無限建模用戶:將IT和業務結合在一起,創建可執行的流程模型和決策表。加入新團隊,無需額外的許可費或管理費用。
5.企業級客戶支持:依靠我們技術支持團隊的優先響應時間,提供可選的24×7可用性。
6.Camunda Platform 8自我管理的任務列表、操作和優化的生產使用:協調人工任務,監控和排除生產過程中的故障,并獲得持續改進流程所需的分析。
7.支持高容量任務用戶:使用開箱即用的基于web的應用程序,為需要由人員完成的任務編排高容量人工工作流。
8.LDAP和Active Directory集成:將Camunda平臺連接到Active Directory或任何其他LDAP服務器,以方便身份和訪問管理。
9.支持單點登錄:通過連接到您的單點登錄提供商,允許團隊快速輕松地訪問Camunda平臺。
10.客戶成功管理:與專門的客戶成功經理并肩工作,以實現流程協調目標。
11.遠程咨詢:與專家合作,將Camunda平臺集成到您的技術堆棧中,創建優化的流程模型,并確保您的實施在架構上是合理的。
12.定制培訓:通過私人課堂培訓,為組織中創建、部署或維護業務流程的任何人提供BPMN、DMN和流程建模最佳實踐方面的最新信息。
13.年度付款計劃:提前協商條款,這樣你就不會遇到意外的批量費用。
簡單總結:國內需要私有化部署流程引擎的用戶建議選擇camunda7,大部分組件開源,可免費使用,技術生態較好,程序員上手容易。如果對流程自動化和高并發有顯著需求的客戶,可以考慮選擇camunda8,但需要大量擴展定制開發,對技術團隊能力要求較高。
五、參考文獻
http://www.yunchengxc.com
https://docs.camunda.io/docs/components/
https://page.camunda.com/13-reasons-camunda-platform-8-enterprise-edition
https://camunda.com/pricing/
https://camunda.com/blog/2022/05/how-open-is-camunda-platform-8/
https://docs.camunda.io/docs/components/zeebe/zeebe-overview/
https://docs.camunda.org/manual/7.18/