前言

本文重点介绍开源流程引擎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. Camunda 流程引擎的一种 Adapter 层实现

    上一篇说明了选择 Camunda 的理由.这一篇说明如何实现适配层. 当前还没有专门写一篇对 Camunda 各个功能的详细介绍.如果要获得比较直观的感受,可以下载 Modeler 或者使用在线版的 ...

  2. 开源流程引擎osworkflow、jbpm、activiti、flowable、camunda哪个好?

    市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.其中:Jbpm4.Activiti.Flowable.camunda四个框架同宗同源, ...

  3. 基于camunda开源流程引擎如何实现会签及会签原理解析

    一.背景 市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.由于jbpm.activiti.flowable这几个流程引擎出现的比较早, ...

  4. Camunda开源流程引擎快速入门——Hello World

    市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.由于jbpm.activiti.flowable这几个流程引擎出现的比较早,国内人用的 ...

  5. 基于开源流程引擎开发BPM或OA有哪些难点

    前言     如何基于开源流程引擎开发OA系统?开源流程引擎哪个好?把它整合到自己的产品里难不难,有没有啥风险?这是大家经常遇到的问题.笔者从2006年开始参与流程引擎开发,经历了三代流程引擎研发,支 ...

  6. 开源流程引擎Camunda BPM如何扩展数据库表

    前言 在使用开源流程引擎(如:JBPM.Activiti.Flowable.Camunda等)的时候,经常会遇到这样的需求,我们需要按照业务需求增加一张数据库的表,而且这张表是跟工作流引擎有交互的(注 ...

  7. 开源流程引擎该如何选择flowable还是camunda

    市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.现在国内用的最多的是activiti.flowable.camunda,下面主要从功能 ...

  8. camunda开源流程引擎的数据库表结构介绍

    Camunda bpm流程引擎的数据库由多个表组成,表名都以ACT开头,第二部分是说明表用途的两字符标识.本文以Camunda7.11版本为例,共47张表. ACT_RE_*: 'RE'表示流程资源存 ...

  9. 开源流程引擎camunda如何扩展

    ​  市场上基于Java语言的开源工作流引擎有:osworkflow.jbpm.activiti.flowable.camunda等,其中osworkflow.jbpm流程引擎已经过时,目前主流的开源 ...

随机推荐

  1. Wireshark-过滤器-数据包解析

    目录 过滤器 数据包解析 参考 推荐阅读: https://www.cnblogs.com/zwtblog/tag/计算机网络/ 过滤器 显示过滤器 和 捕获过滤器,俩者使用非常类似. 在Wiresh ...

  2. golang 中 sync.Mutex 的实现

    mutex 的实现思想 mutex 主要有两个 method: Lock() 和 Unlock() Lock() 可以通过一个 CAS 操作来实现 func (m *Mutex) Lock() { f ...

  3. docker基础容器中bash: vi: command not found问题解决

    安装即可 1.apt-get update 2.apt-get install vim

  4. Java学习day42

    继续刷力扣题

  5. 缓存中间件-Redis(二)

    在上一篇中我们简单总结和介绍了Redis的几个方面 1.使用Redis背景 2.Redis通信多路复用的基本原理 3.Redis基本数据结构 4.Redis持久化方式 这一篇我们使用简单的业务场景来介 ...

  6. delaycall.js 修改表单延迟自动提交的 jQuery / Zepto 插件

    delaycall.js delaycall 是一个 jQuery / Zepto 插件,用于在用户完成某项操作后,延迟指定秒数后自动调动指定函数.如用户输入完内容后,延迟1秒,自动提交表单. Git ...

  7. 人机验证reCAPTCHA v3使用完备说明

    v2简介 相信大家都碰到过下面的展示的 人机验证界面: reCaptcha 是 Google 公司的验证码服务,方便快捷,改变了传统验证码需要输入n位失真字符的特点. reCaptcha 在使用的时候 ...

  8. Node.js躬行记(18)——半吊子的可视化搭建系统

    我们组维护的管理后台会接到很多开发需求,每次新开页面,就会到处复制黏贴相关代码. 并且还会经常性的翻阅文档,先在书签或地址栏输入WIKI地址,然后找到那一份说明文档,再定位到要看的组件位置. 虽然单人 ...

  9. 攻防世界-MISC:something_in_image

    这是攻防世界高手进阶区的第四题,题目如下: 点击下载附件一,得到一个压缩包,解压后得到一个文件,用010editor打开,搜索flag,即可得到flag 另外一种做法,根据题目包含image,使用ka ...

  10. 【面试普通人VS高手系列】volatile关键字有什么用?它的实现原理是什么?

    一个工作了6年的Java程序员,在阿里二面,被问到"volatile"关键字. 然后,就没有然后了- 同样,另外一个去美团面试的工作4年的小伙伴,也被"volatile关 ...