Camunda笔记

Camunda

一. 简介

1. 概念

Camunda平台是一个开源的工作流和决策自动化平台。Camunda平台提供了用于创建工作流和决策模型、在生产中操作部署模型的工具,并允许用户执行分配给他们的工作流任务。它提供了一个符合业务流程模型和符号(BPMN)标准的工作流引擎和一个符合决策模型和符号(DMN)标准的决策引擎,该引擎可以通过REST嵌入到Java应用程序和其他语言中。

2. 开发人员和开发语言

Camunda是用Java开发的,并在Apache许可证的条款下作为开源软件发布。

3. 历史

2008年创立,是一家业务流程管理(BPM)咨询公司在接下来的四年里,Camunda建立了超过250个咨询客户基础

2013年3月18日,Camunda分叉Activiti项目,启动Camunda BPM作为一个开源项目

在2017年和2018年,Camunda被德勤技术快速500欧洲、中东和非洲国家。[5],

2021年3月,Camunda在由Insight Partners和a轮投资者Highland Europe牵头的B轮融资中筹集了8200万欧元。

4. Camunda、Activiti、Flowable之间的关系

camunda 、activiti 、flowable 三个框架都是从jbpm框架诞生出来的,先是有jbpm4,然后出来了一个activiti5,activiti5发展一段时间,又出来了一个Camunda。activiti5发展了4年,紧接着出来了一个flowable。

二. 总体架构

img

1.从BPM应用维度看

Camunda分为流程设计和流程运行两个阶段,见图中最下方的蓝色大箭头,Model和Execute,按照这两个阶段,Camunda划分为两大部分功能,对应设计阶段的功能有 Modeler,对应运行阶段的功能有Engine、TaskList、Cockpit、Admin。

2.从BPM功能维度看

Camunda包括了流程设计器(Modeler)、流程引擎(Engine)、API接口(REST/Java API)、任务列表(TaskList)、流程管理控制台(Cockpit)、系统管理工具(Admin)。在Camunda商业产品中还包括了流程监控预警工具(Optimize)、流程协同设计工具(Cawemo)。这里重点先说一下Camunda流程设计器,支持两种模式,一种是富客户端的流程建模工具Camunda Modeler,需要在客户端安装;另一种是基于浏览器的流程设计器bpmn.io,这两款软件均开源。

3.从BPM角色维度看

Camunda分为业务分析师、流程开发工程师、最终用户、流程管理员、系统管理员这几个角色,每个角色对应BPMS不同的功能。业务分析师、流程开发工程师使用流程设计器(Modeler)进行流程建模,最终用户使用任务列表(TaskList)进行流程发起和审批,流程管理员使用流程管理控制台(Cockpit)进行流程管理,比如流程暂停恢复、流程异常干预等,系统管理员使用系统管理工具(Admin)进行系统管理,比如组织用户管理、权限管理等。

三. 集成能力

1.支持与Spring框架集成

Camunda支持与spring框架集成,把 camunda-engine-spring框架引入到项目的maven模块内,它可以与Spring 3、4或5版本一起使用。

2.支持与spring boot集成

3.支持与CDI and Java EE 集成

CDI (Context and Dependency Injection)是 Java EE6的标准和依赖注入,Camunda通过camunda-engine-cdi模块集成可利用camunda引擎的配置和cdi的可扩展性。

4.支持与Runtime Container 集成

支持与tomcat、JBoss等常见的运行容器集成。

四. 部署架构

1.嵌入式部署

流程引擎以Jar包方式添加到应用程序中,通过这种方式,可以在应用程序生命周期中轻松启动和停止流程引擎。

img

2.基于web容器启动,多应用共享

流程引擎在运行时容器(Servlet容器、应用程序服务器等)中启动,流程引擎作为容器服务提供,可以由容器内部署的所有应用程序共享。

img

3.独立部署,多应用共享

在这种情况下,流程引擎独立部署,通过网络提供服务,网络上运行的不同应用程序可以通过远程通信通道与进程引擎交互,远程访问流程引擎的最简单方法是使用内置的REST服务接口。在企业级流程中心部署架构中,这是一种最常见的部署模式,在现在的微服务部署架构中,也可以采取这种方式。

img

4.集群部署

为了提供扩展或故障转移功能,流程引擎可以分布到集群中的不同节点,每个流程引擎实例都必须连接到共享数据库。Camunda BPM不提供现成的负载平衡功能,可以采用nginx等第三方负载均衡软件实现。

img

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值