前言

本文重点介绍开源流程引擎camunda的核心概念,这些概念同样适用于JBMP、Activiti、Flowable流程引擎,了解这些基本概念和原理,使用流程引擎API将更得心应手。

一、Process Definition

Process Definition即流程定义。Process Definition定义了流程的结构,或者说定义了业务活动的执行过程。Camunda bpm使用bpmn2.0作为其流程定义的主要建模语言。在Camunda BPM中,提供了C/S流程建模工具(Modeler)和B/S流程建模工具(bpmn.io),用户通过拖拉拽的方式设计流程图,这个设计完的xml文件就是流程定义。

二、Process Instance

Process Instance即流程实例。流程实例是流程定义的单独执行,流程定义和流程实例是一对多关系。流程实例与流程定义的关系与面向对象编程中对象与类的关系相同(在这种类比中,流程实例扮演对象的角色,流程定义扮演类的角色)。
流程定义设计完成后,发布到BPM,通过流程引擎解析流程定义,发起一次流程即创建了一个流程实例,比如:创建了一个“请假流程”,这是一个流程定义,张三发起了一次请假流程,即创建了一个流程实例,李四也发起了一次请假,就是创建了另一个流程实例,这两个实例均基于流程定义创建生成。

三、Execution

Execution即流程执行实例,如果流程实例包含多个执行路径(例如,在并行网关之后),则会同时产生多个执行实例,即execution, 通过excutionId能够区分流程实例内的当前活动路径。如下流程图,“receive payment”和“ship order”节点同时运行,即有两个execution在运行。


Execution(执行)是分层的,流程实例中的所有Execution(执行)组成一个树,Process Instance(流程实例)是树中的根节点,Process Instance(流程实例)本身就是一个Execution(执行)。

四、Activity Instance

Activity Instance即活动实例,活动实例概念与执行概念类似,但采用了不同的视角。虽然可以将执行想象为在流程中移动的令牌,但活动实例表示活动(任务、子流程等)的单个实例。因此,活动实例的概念更面向状态。

五、Process Variable

Process Variable即流程变量,流程变量在整个工作流中扮演很重要的作用,是业务和流程引擎之间交互信息的载体,业务可以把数据放到流程变量里传递给流程引擎,流程引擎也可以把信息放到流程变量给传递给业务,流程变量最常见的用途有路由条件表达式、流程执行事件参数等。例如:请假流程中有请假天数、请假原因等一些参数都为流程变量的范围。流程变量的作用域范围是流程实例,也就是说各个流程实例的流程变量是不相互影响的。

六、Tasklist

Tasklist即任务列表,也就是待办任务。当流程节点是人工任务类型时,才可产生任务列表。

七、Job and Job Definition

Job and Job Definition即作业执行器,Camunda流程引擎包含一个名为Job Executor的组件。作业执行器是一个调度组件,负责执行异步后台工作。考虑一个计时器事件的例子:每当流程引擎到达计时器事件时,它将停止执行,将当前状态保存到数据库,并创建一个作业以在将来继续执行。部署流程时,流程引擎会为流程中的每个活动创建作业定义,这些活动将在运行时创建作业。

camunda流程引擎概念术语相关推荐

  1. BPM流程引擎常用术语和概念介绍

    本文重点介绍BPM业务流程管理中常常用到概念和术语,这些概念同样适用于JBPM.Activiti.Flowable.Camunda等主流的开源工作流引擎. 一.BPM模型符号协议 1.BPMN (业务 ...

  2. Camunda流程引擎及表结构认识

    一.认识  Camunda Camunda 是一种轻量级的商业流程开源平台. 同类型的产品有 osworkflow.jbpm.activiti.flowable.其中:Jbpm4.Activiti.F ...

  3. 中流-接入Camunda流程引擎

    中流-接入Camunda流程引擎 在线体验 配置maven依赖 <dependency><groupId>org.camunda.bpm.springboot</grou ...

  4. 使用Camunda流程引擎,关于包容性网关(Inclusive Gateway)使用

    在使用开源Camunda流程引擎做二次开发时,网关是必须要接触的.在Camunda的 Modeler工具中提供了4种类型的网关:Exclusive Gateway(独占网关).Parallel Gat ...

  5. camunda流程引擎如此简单(二)

    工作流服务组件和表介绍 camudna是从activity分裂出来的其实绝大多数表和activity也一致的,所以用户能很好地从activity迁移过来 几大服务介绍 服务名称 描述 Reposito ...

  6. camunda流程引擎receive task节点用途

    Camunda的Receive Task用于在流程中等待外部系统或服务发送消息.当接收到消息后,Receive Task将流程继续执行.Receive Task通常用于与Send Task配合使用,以 ...

  7. camunda流程引擎如此简单「四」

    监听器的使用 EL表达式:${} Camunda BPM支持统一表达语言(EL),它是JSP 2.1标准(JSR-245)的一部分.因此,它使用开源的JUEL实现.要获得有关表达式语言用法的更多常规信 ...

  8. Camunda流程引擎 Modeler (二)

    Camunda Modeler是Camunda官方提供的建模器: Modeler - 独立安装的建模器([windows.linux.mac] 一.下载camunda-modeler Download ...

  9. camunda 流程执行追踪_流程引擎为什么选 Camunda

    2019 年初我在重新设计我们组负责的流程系统时,选择了 Camunda 流程引擎,并基于该流程引擎实现了一套适配方案.以前就想做一次总结,但总拖着. 最近公司中台在做流程引擎选型,相关同事找我了解 ...

最新文章

  1. 联想一体机电源键不亮_联想/兄弟打印机复印一体机激光器清洁教程
  2. BZOJ3998:[TJOI2015]弦论——题解
  3. mysql5717开发设置怎么调回来_华为手机这几个默认设置,一定要关闭,再也不卡顿...
  4. 练习-CSS3 多栏(Multi-column)
  5. vb.net label 不要自动换行_自动驾驶小车——(四)数据采集
  6. SQL Server【获取当前时间】
  7. Halcon教程六:为什么要二值化
  8. WPS简历模板的图标怎么修改_指导|让疫情之下的应届生,求职简历脱颖而出
  9. CAD二次开发获取已选择实体
  10. c语言水电费系统,急求C水电费管理系统
  11. 网卡扫盲一:网卡初步认识
  12. 英雄联盟7月23日维修服务器,英雄联盟7月23日更新维护到几点结束 7月23日lol10.15版本更新维护结束时间...
  13. 数据防泄密系统,你了解多少呢?
  14. css超出两行省略号没效果,Css 设置超过再两行显示省略号
  15. ubuntu16.04编译ORBSLAM2问题解决
  16. 2017年团建心得、总结、建议
  17. String转换成json
  18. 使用hbase来解决上亿条数据的准实时响应
  19. Kaggle实战——点击率预估
  20. 房地产中介平台乱象丛生,多年宿敌再起纷争

热门文章

  1. Stm32F103 IIC oled 程序移植 完整工程 代码
  2. 使用c语言创建4个进程,c语言系统函数——进程的创建
  3. 为什么年轻时要多赚钱?这是我听过最好的回答
  4. 厦门羽燕食品有限公司受邀参加2022世界滋补产业生态大会暨品牌展示会
  5. 毕业之际,而我也快了-------一位准大三的程序猿
  6. VS2019MFC进行无预览简单绘图:直线,画笔,画刷,矩形,椭圆
  7. Java中接口作用的理解
  8. java多线程之~生产者消费者
  9. 一文带你了解ViewModel
  10. 率土之滨鸿蒙团,率土之滨鸿蒙版