BPM工作流引擎常见的术语和概念先容

打印 上一主题 下一主题

主题 684|帖子 684|积分 2052

本文重点先容BPM业务流程管理中经常用到概念和术语,这些概念同样实用于JBPM、Activiti、Flowable、Camunda等主流的开源流程引擎。
一、BPM模型符号协议

1、BPMN (业务流程模型和标志法)

BPMN:业务流程模型和标志法(BPMN, Business Process Model and Notation)是一套图形化表示法,用于以业务流程模型详细阐明各种业务流程。它最初由业务流程管理倡议组织(BPMI, Business Process Management Initiative)开发,名称为"Business Process Modeling Notation",即“业务流程建模标志法”。
2、CMMN (案例管理模型符号)

Case Management Model Notation 案例管理模型符号。CMMN是一种图形符号,用于捕获基于处理需要各种活动的案例的工作方法,这些活动可能以不可猜测的次序执行以响应不断变化的情况。使用以事故为中心的方法和案例文件的概念,CMMN扩展了可以用BPMN建模的界限,包括结构化工作量减少和知识工作者推动的工作量。使用BPMN和CMMN的组合答应用户覆盖更广泛的工作方法。
3、DMN(决策模型符号)

DMN是决策模型和符号(Decision Model and Notation)的英文缩写,是由BMN背后的组织OMG管理的一个尺度。DMN 是一种用于精确规范业务决策和业务规则的建模语言和符号。DMN 旨在与 BPMN 和/或 CMMN 一起工作,提供一种机制来对与流程和案例相干的决策进行建模。虽然 BPMN、CMMN 和 DMN 可以独立使用,但它们经过经心设计以相互补充。BPMN、CMMN和DMN真正构成了流程改进尺度的“三冠王”。
 
二、流程引擎相干术语

1、流程定义(Process Definition)

Process Definition即流程定义,指通过建模生成的一个符合BPMN规范的完整流程模型定义文件。Process Definition定义了流程的结构,大概说定义了业务活动的执行过程。Camunda bpm使用bpmn2.0作为其流程定义的主要建模语言。
2、流向/次序流(Flow):

次序流是连接两个流程节点的连线。次序流是一端带有箭头的实线,可在图中或单个池中链接流程内的各个元素,并显示各个元素的执行次序。消息流是一端带有箭头的点线,可链接两个单独的池(或两个单独的池中的元素),并显示消息发送的方向。
3、流程实例(Process Instance)

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

Execution即流程执行实例,如果流程实例包含多个执行路径(比方,在并行网关之后),则会同时产生多个执行实例,即execution, 通过excutionId能够区分流程实例内的当前活动路径。
Execution(执行)是分层的,流程实例中的所有Execution(执行)组成一个树,Process Instance(流程实例)是树中的根节点,Process Instance(流程实例)本身就是一个Execution(执行)。
5、活动实例(Activity Instance)

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

task 所有的使命都是活动,但是活动不全是使命,使命是一个流程的节点,但是并非所有流程节点都是使命。
用户使命: 就是需要用户参与触发的使命。
服务使命: 服务使命又可以分别为各种各样的服务使命。
7、服务使命(Service Task)

Camunda中的Service Task(服务使命)用于调用服务。在Camunda中,可以通过调用本地Java代码、外部工作项、web服务形式实现的逻辑来完成的。
8、脚本使命(Script Task)

在Camunda中,脚本使命是一个自动活动,当流程执行到脚本使命时,相干的脚本自动执行。camunda支持大多是兼容JSR-223的脚本引擎实现,比如Groovy, JavaScript, JRuby and Jython。
9、定时使命(Job and Job Definition)

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

event 事故是BPMN流程建模元素,表示在流程过程中“发生”的事情,事故会影响流程的走向。BPMN定义了差别的事故类型。事故包含开始(Start)、中间(Intermediate)、边界(Boundary)和结束(End)四种类型。根据触发方式差别,可以分为捕获事故(Catching Event)和抛出事故(Throwing Event)。
详细参考:https://lowcode.blog.csdn.net/article/details/122886122
11、流程变量(Process Variable)

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

Gateway是BPMN2规范中的流程定义元素,中文可称为“网关”、“决策”、“判断”。网关用来控制流程的执行流向,当在拆分路径时产生令牌,在合并路径时消耗令牌。常用网关可分为排他网关(XOR)、并行网关(AND)和包涵网关(OR)。BPMN2.0规范中提供了bpmn:exclusiveGateway排他网关标签、bpmn:parallelGateway并行网关标签来定义,activiti、flowable、camunda等开源工作流引擎均支持该标签。
13、泳道(Swimlanes)

BPMN中的泳道对象(也称为泳道)是表示业务流程参与者的矩形框。泳道可能包含由该泳道(参与者)执行的流对象,除了必须有一个空体的黑盒子。泳道可以水平排列,也可以垂直排列。它们在语义上是相同的,只是表示差别。对于水平泳道,流程从左到右活动,而垂直泳道中的流程从上到下活动。泳道的例子包括客户、客户部门、支付网关和开发团队。
池(Pools):pool代表业务流程中的参与者。它可以是一个特定的实体(如部门)或一个角色(如助理经理、医生、学生、供应商)。
游道(Lanes):lane是池的子分区。比方,当您有一个池部门时,您可以将部门主管和普通职员作为泳道。与池一样,您可以使用lane来表示流程中涉及的特定实体或角色。
14、子流程(SubProcess)

子流程是包含其他活动、网关、事故等的活动,其本身形成的流程是更大流程的一部门。子流程完全在父流程中定义(这就是为什么它通常被称为嵌入式子流程)。
BPMN 2.0区分了嵌入式子流程(Embedded Subprocess)和调用活动(Call Activity)。从概念上看,当流程执行到达活动时,两者都将调用子流程。
差别之处在于,调用活动引用流程定义外部的流程,而子流程嵌入在原始流程定义中。调用活动的主要用例是拥有可重用的流程定义,可以从多个其他流程定义调用该定义。子流程的流程定义是在运行时解析的。如果需要,也可以独立调用子流程。
当流程执行到达调用活动时,将创建一个新的流程实例,该实例用于执行子流程,可能会像在常规流程中那样创建并行子执行。主流程实例将一直等待,直到子流程完全结束,然后继续原始流程。
子流程答应分层建模。许多建模工具答应折叠子流程,隐藏子流程的所有细节,并显示业务流程的高级端到端概述。
15、特别流程(Ad-hoc)

暂时流程是一组业务活动和相应的工件(比方,信息,决策和产物),只能在高级别的聚合中进行尺度化。实际的活动种类及其排序因个案而异。暂时流程在国内也被称为“恣意流”。以下是Ad-hoc流程的特性:
虽然可以猜测某些活动,但是一开始就无法完全指定大部门过程,因为它需要的信息只能以某种方式进入项目。
如果我们假设在ad-hoc流程的上下文中永远不会确定下一步,则它们的执行不能由传统的基于流程的信息系统控制,在大多数情况下,知识工作者可以控制流程。
似乎不可能在设计时思量暂时过程的所有可能性,这样的过程模型将变得复杂且难以管理。
16、部署(deployment)

Deployment(部署)是指将流程定义发布到工作量引擎中之后称为deployment。
17、身份管理(IDM)

提供SSO功能凭证管理工作,可以用来管理权限、用户、组
18、流程设计器(Modeler)

模型管理工具,用于定义流程模型、表单及应用定义。在Camunda BPM中,提供了C/S流程建模工具(Modeler)和B/S流程建模工具(Web-based tooling for BPMN, DMN, CMMN, and Forms | bpmn.io),用户通过拖沓拽的方式设计流程图,这个设计完的xml文件就是流程定义。
19、表单(Form)

form 表单设置给每个流程节点使用,如请假申请中需要用户填写请假天数事由,审批节点中需要审批人填写审批意见等。
三、中国特色流程操纵概念

1、会签

会签是一种联合审批的特殊审批流程,可理解为一种多人投票机制,一个使命需要多个人同时处理,然后汇总多个人的意见,决定流程下一步该如何执行。流程设计时,若会签审批节点中设置多个参与人,流程运行时,会签节点使命需要多人共同处理,然后汇总多人的处理意见,决定会签节点的处理结果。
会签分并行会签和次序会签两种:

  • 并行会签:指同一个审批节点设置多个人,如A、B、C三人,三人会同时收到待办使命,需全部同意之后,审批才可到下一审批节点。
  • 次序会签:指同一个审批节点设置多个人,如A、B、C三人,三人按次序依次收到待办,即A先审批,A提交后B才能审批,需全部同意之后,审批才可到下一审批节点。
免费在线体验系统:http://www.yunchengxc.com
2、或签

一个流程审批节点里有多个处理人,恣意一个人处理后就能进入下一个节点。比方:员工发起采购申请,提交给多名领导审批,只要有一名领导同意即可提交到下一节点。
BPMN2.0规范中提供了bpmn:multiInstanceLoopCharacteristics多实例循环的模型定义,并通过bpmn:completionCondition标签订义多实例完成条件,activiti、flowable、camunda等开源工作流引擎均支持该属性。
3、抄送

抄送:将审批结果关照给抄送列表对应的人。
4、驳回

驳回:将审批重置发送给某节点,重新审批。驳回也叫退回,也可以分退回申请人、退回上一步、恣意退回等。

  • 退回申请人: 直接把流程退回给申请节点
  • 退回上一步: 退回流程上一节点
  • 退回恣意节点: 退回到流程走过恣意一个节点
5、转办

转办:A转给其B审批,B审批后,进入下一节点。
6、委派

委派:A转给其B审批,B审批后,转给A,A审批后进入下一节点。
7、跳转

跳转:可以将当前流程实例跳转到恣意办理节点
8、拿回

拿回:在当前办理人尚未处理文件前,答应上一节点提交职员执行拿回
9、取消

取消:流程发起者可以对流程进行取消处理
10、催办

催办:可以给当前办理职员发送催办关照消息
11、加签

加签:答应当前办理人根据需要自行增加当前办理节点的办理职员
12、减签

减签:在当前办理人操纵之前减少办理人
 
 
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

反转基因福娃

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表