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/