【01】Camunda7-简介

本文介绍了CamundaPlatform7.0和8.0的发展历程,包括其基于组件的BPMN/CMMN/DMN支持,云原生的Camunda8的特性变化,以及JavaAPI、RESTAPI和Web应用的核心组件。同时提到了遥测数据的收集和用户隐私考虑。
摘要由CSDN通过智能技术生成

Camunda Platform 7.0 于 2013 年作为 Activiti 5 的一个分支开始。从那时起,Camunda 已经发布了 17 个次要版本和 100 多个补丁版本。Camunda是基于Activiti5开发的一个工作流框架,同时提供开源版与商业版。Camunda目前主要包括2个长期维护的大版本:

  1. Camunda7:基于组件,支持BPMN,CMMN,DMN
  2. Camunda8:基于云原生SaaS模式,但开源功能较少

Camunda7是一个基于Java的轻量级流程开源框架,包含3大核心引擎能力:

  1. BPMN:工作流和过程自动化
  2. CMMN:案例管理
  3. DMN:业务决策管理

相比其他流程引擎,Camunda7具备如下特点:支持外部任务External Task、支持任意节点的跳转、支持重启Restart已经关闭的流程实例、支持流程实例的迁移、支持批量操作的 API、流程图绘制工具有桌面版本、定时节点、网关节点、、消息接收节点、执行监听器。

Camunda8相比于Camunda7是彻底性的颠覆与改变,后续计划在一个独立的章节部分再介绍Camunda8。

核心组成

上图为Camunda核心组件,截图来自官网。各个组件简要介绍如下:

  1. Modeler - 独立安装的建模器windows、linux、mac支持BPMN 2.0、CMMN 1.1、DMN 1.3建模具体实现集成开源框架https://bpmn.io/
  2. Process Engine - 流程引擎集成到应用中的Java包用于执行BPMN、CMMN、DMN
  3. Web Applicatons - web管理平台支持独立启动linux、windows和集成到SpringBoot启动支持集群部署SharedDB、需自定义LB及SessionState
  4. REST API - 提供process engine相关处理接口
  5. Cockpit - 管理流程process及流程实例process instances
  6. Tasklist - 管理流程process中的具体任务task导航到具体task、提供表单form输入、修复流程实例等
  7. Admin - 管理用户users、组织group、授权authorizations

流程引擎

流程引擎架构如图所示,其各部分简要说明如下:

  1. Java API:提供了Java类和方法,直接通过对象和流程引擎进行交互
  2. Rest API:提供了REST接口,支持通过HTTP与流程引擎进行交互
  3. 核心引擎:主要包括3大引擎,BPMN, CMMN, CMN执行引擎
  4. 作业执行器:作业执行程序,负则异步的处理后台工作,如流程中的定时器或异步延续
  5. 持久层:负则将所有数据持久化到数据库中,使用MyBatis框架

WEB应用

Camunda提供了原生的WEB应用,主要包含一下3大能力:

  1. Cockpit:驾驶舱,支持流程监控和操作,可以搜索流程实例,检查流程状态并修复失败的案例
  2. Admin:管理用户、组和授权
  3. Tasklist:管理工作流和用户任务,允许流程参与者检查其工作流任务并进行处理

模型

Model模型,通过建模工具对BPMN, CMMN, DMN进行建模。Camunda有3种建模工具:

  1. CamundaModeler:官方提供的建模器
  2. Bpmn.io:一个开源的建模JS框架,可集成到前端,实现自定义建模工具
  3. IDEA插件:Camunda BPMN visualizer,在IDEA中进行建模,相对不太成熟

许可协议

Camunda7社区版的开源许可是Apache2.0和MIT。

CamundaAPI

JavaAPI

Java API模块:

  • camunda-engine
  • camunda-engine-spring
  • camunda-engine-cdi
  • camunda-engine-dmn
  • camunda-bpmn-model
  • camunda-cmmn-model
  • camunda-dmn-model
  • camunda-spin-core
  • camunda-connect-core
  • camunda-commons-typed-values

这里先概要介绍一下JavaAPI的主要构成,详细的内容会在后续结合具体功能和源码核心分析时分享到。

RESTAPI

camunda-engine-rest:HTTP 接口(REST API 参考中所述的 REST API 接受的 HTTP 请求集。Java 类不是公共 API 的一部分),详见https://docs.camunda.org/manual/7.20/reference/rest/

遥测

Camunda官网说法是,Camunda一直致力于提供高水平、稳定的卓越用户体验,会收集环境和使用数据,这些内容有助于解决典型的环境设置和产品使用模式问题,并将用于产品改进决策。

引擎流程有一个名为Telemetry Reporter的专用流程,用于定期向Camunda报告遥测数据。默认情况下,此线程始终在运行,但仅在显示启用遥测报告时向远端官方发送数据。

这个大家在使用过程中需要注意,如果不想发送数据,就不要开启相关配置。

  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值