Camunda (Github,官網)是一個工作流引擎。目前提供二個主線版本7.X 與 8.X,二個主線版本架構上並不相同。
-
7.X與Activiti, Flowable 等開源工作流類似,以數據庫爲基礎,迭代完善的BPMN,DMN等功能及相關組件。
-
8.X則以微服務編排爲基礎,以zeebe引擎爲基礎,使用分佈式提供高併發的工作流引擎。目前正在迭代中,逐步增加7.X中有的信號、補償、條件等各項功能。
7.X
簡介
Camunda 7 是一個靈活的工作流程和流程自動化框架。它的核心是一個在Java虛擬機中運行的原生BPMN 2.0進程引擎。可以嵌入到任何 Java 應用程序和任何運行時容器中。與Java EE 、Spring Framework集成。
架構
部署架構:
組件
Camunda 7 提供了一組以 BPM 生命週期爲中心的豐富組件。
- Engine - 負責執行 BPMN 2.0 流程的核心組件。
- Cockpit - 用於流程操作的Web應用程序工具。
- 任務列表 - 用於在流程上下文中管理和完成用戶任務的 Web 應用程序。
- Admin - 用於管理用戶、組及其訪問權限的 Web 應用程序。
- Camunda Modeler - 一個獨立的桌面應用程序,允許業務用戶和開發人員設計和配置流程。
- bpmn.io - JavaScript 中的 BPMN、CMMN 和 DMN 工具包(渲染、建模)
- REST API - REST API 提供對正在運行的進程的遠程訪問。
- Spring, CDI Integration - 編程模型集成,允許開發人員編寫與正在運行的進程交互的 Java 應用程序。
開源
開源許可:Apache-2.0 license
說明:
- 開源版本功能夠用;
- 部分高級功能需要在企業版本纔可使用,如Cockpit 駕駛艙,只有在企業版本中才有歷史數據查詢等功能。
8.X
簡介
Camunda 8 提供可擴展的按需流程自動化即服務。用於 BPMN 流程和 DMN 決策的強大執行引擎相結合,提供建模、操作和分析能力。
Camunda平臺8的核心是源可用;其他工具可免費用於非生產用途。
架構
部署架構:
組件
- 建模器 - 協作、建模流程以及部署或啓動新實例。包括Desktop Modeler和Web Modeler一起使用。
- Zeebe - Camunda 8的雲原生流程引擎。
- 任務列表 - 完成需要人工輸入的任務。
- 操作 - 管理、監控和排除流程故障。
- 優化 - 通過識別系統中的約束來改進流程。
- 連接器 - 將外部系統與可重複使用的預定義構建塊集成。
- 控制檯 - 控制檯,在 SaaS 中使用
部署時的組件:Zeebe、Operate、Tasklist、Connectors、Optimize、Identity、Elasticsearch/Kibana、Keycloak
默認使用docker啓動後各組件的訪問地址如下 :
- Operate: http://localhost:8081
- Tasklist: http://localhost:8082
- Optimize: http://localhost:8083
- Identity: http://localhost:8084
- Elasticsearch: http://localhost:9200
- Kibana: http://localhost:5601
- Keycloak: http://localhost:18080/auth/
- Zeebe gRPC : localhost:26500.
默認賬號/密碼:demo/demo
開源
說明:
- 綠色:開源許可證。
- 綠色條紋:源可用許可證(對於大多數人來說,開源和源可用之間沒有真正的區別)。
- 藍色:可用但僅免費用於非生產用途。商用則需要從Camunda購買許可證(通過企業訂閱)。
- 紅色:該軟件僅在Camunda平臺8 - SaaS中可用,無法自行管理。
總結:可以在生產中可自行配置、運行所有綠色(包括綠色條紋),而無需許可證。綠色組件是開源的,正如開源倡議所創造的那樣。條帶化組件使用源可用許可證。關於Zeebe,這是Zeebe社區許可證v1.0。它基於非常自由的開源MIT許可證,但有一個限制 - 用戶不允許使用這些組件在雲中提供商業工作流服務。 使用Zeebe社區許可的原因
Apache 2.0協議組件
如下組件遵守Apache 2.0協議:
- Java Client (clients/java)
- Go 客戶端(客戶端/go)
- Exporter API (exporter-api)
- 協議(協議)
- 網關協議實現(網關協議)
- BPMN Model API (bpmn-model)
價格表
爲什麼非生產和非開放核心免費?
在Camunda 7中,部分組件是開源的,並且只有企業版本可以使用完整功能集。但這給用戶增加了很多摩擦和困惑。所以:在8.X開放了所有功能的所有工具,可以在非生產環境完全免費使用,而只需在將其投入生產時購買許可證。
開源且免費方式
如果出於某種原因,不想爲企業版付費,仍然有一種方法既不需要商業許可證也不違反任何許可協議的生產路徑。如下:
這樣,需要用戶自己完成TaskList , Operate, Optimize的實現。
SaaS 產品
在Camunda 8中,推出了自有的SaaS產品,可以在雲中使用它。爲大家提供更豐富的產品。但是開發 SaaS產品並不意味着削弱開源,對社區的投資仍會不斷增加。
Zeebe
簡介
Zeebe 提供對跨多個微服務的業務流程的可見性和控制。爲Camunda8提供引擎。
每半年發佈一次穩定版本。19.7月 0.20.0版本發佈後,可以生產使用。
特點:
- 可視化工作流:基於BPMN 2.0標準
- 客戶端語言無關性
- 支持MQ
- 水平擴展及高吞吐量
- 容錯(無需RDBMS)
- 數據導出:導出過程數據以進行監控和分析
- 多樣化部署:可使用 Docker 和 Kubernetes 進行部署
- 社區活躍
開源
Zeebe源文件在Zeebe社區許可證1.1下提供(Zeebe Community License Version 1.1)
2019年7月開始,隨着Zeebe 0.20.0的發佈,Zeebe的一些組件獲得了Zeebe社區許可證v1.0(在這裏可以獲得完整的許可證)的許可。即:允許MIT的許可,除了不允許提供使用Zeebe的商業工作流服務。Zeebe工作流引擎是(並且將繼續)免費可用的。
鏈接
- 網站: https://www.camunda.org/
- 入門:https://docs.camunda.org/get-started/
- 用戶論壇: https://forum.camunda.org/
- 問題跟蹤器:https://github.com/camunda/camunda-bpm-platform/issues
- 貢獻準則:https://camunda.org/contribute/
參考
- https://camunda.com/legal/terms/cloud-terms-and-conditions/zeebe-license-overview-and-faq/
- https://camunda.com/blog/2022/05/how-open-is-camunda-platform-8/
- https://camunda.com/blog/2019/07/introducing-zeebe-community-license-1-0/
- https://camunda.com/legal/terms/cloud-terms-and-conditions/zeebe-license-overview-and-faq/