camunda7和camunda8在技术架构、流程引擎内核、产品定位、商业授权等方面有显著区别。本文从多个维度介绍开源流程引擎camunda7和camunda8的区别,并重点介绍camunda8的技术架构、授权许可、SaaS模式、扩展机制、对比分析等。camunda7和camunda8如何选择,文本给出一些参考建议。
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应用程序。
Camunda 技术架构:
Camunda 入门示例hello world:
https://lowcode.blog.csdn.net/article/details/117518828
Camunda Platform 8可协调跨人员、系统和设备的复杂业务流程。有了Camunda,业务用户可以与开发人员合作,使用BPMN支持的流程图以及DMN决策表来建模和自动化端到端流程,DMN决策表格可以提高速度、规模和决策逻辑。
随着Camunda8向公众开放,让我们看一下构成Camunda平台8的各种组件。
Concepts -关于各种Camunda平台8主题的概念文档。
Console -有关使用控制台的更多信息。
Modeler-关于Camunda建模工具的文档,包括Web Modeler和Desktop Modeler。
Connectors -关于与外部系统集成的Camunda连接器的文档。
Zeebe Engine -Zeebe的完整文档。
Operate(操作)-使用Operate监控和排除流程故障的用户指南。
Optimize—使用Optimize的详细用户指南,通过识别系统中的约束来改进流程。
Tasklist -用于在任务列表中处理用户任务的文档。
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/。
Camunda8官方定位是SaaS化流程平台,所以采用了标准的云原生架构,为了满足SaaS多租户和水平扩展需要。
Camunda8 SaaS商业模型,按照用户数、流程实例数、按月收费,看官方的在线报价模型,收费可不低。
如果想在生产环境中使用Camunda8,而不涉及到商业授权,就需要做大量的扩展开发,以下是一条既不需要商业许可证也不违反任何许可协议的技术路径。
您将需要找到解决方案来替换无法使用的工具。
1、任务列表
您将需要基于使用订阅 Zeebe 的工作人员来实现自己的任务管理解决方案,这也意味着您必须构建自己的持久性以允许任务查询,因为任务列表 API 是任务列表组件的一部分,不能免费用于生产。
2、流程操作
您可以在 Elastic 中访问数据(有关详细信息,请查看 Elastic 导出器),利用指标,或构建自己的导出器以将其推送到一些方便的数据存储组件。导出器还可以即时筛选或预处理数据。值得注意的是,支持历史记录 API 的操作数据预处理逻辑是操作的一部分,不能免费用于生产。为了影响流程实例(如取消它们),您可以使用现有的 Zeebe API,该 API 也作为命令行工具 zbctl 公开。这种灵活性允许您将功能挂接到自己的前端。
3、流程优化
它非常深入到基于流程的分析中,这很难自己构建。如果无法使用优化,则最接近优化的方法可能是添加自己的导出器,将数据推送到现有的通用 BI(商业智能)、DWH(数据仓库)或数据湖解决方案。
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导出程序获得)。
camunda7也分社区版和企业版,但社区版开源部分对于一般工作流需求已经够用,无需花钱购买企业版。
camunda8开源组件较少,大部分组件需要单独授权购买。
camunda7定位企业级流程引擎,支撑客户私有化部署。
camunda8定位是SaaS化流程引擎,在线开通租赁服务。
通过以上对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,但需要大量扩展定制开发,对技术团队能力要求较高。
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/