BPMN2.0规范的学习与总结

名词解释

BPM:Business Process Modeling业务流程建模
BPMN:Business Process Modeling Notation 业务流程建模语言
BPMN2.0:BPMN标准。业务流程模型与符号建模标准,以XML为载体,以符号可视化业务。
工作流引擎:通过BPMN(业务流程建模语言)来进行BPM的应用程序。
BPEL:Business Process Execution Language。允许面向服务的体系结构(SOA)中的web服务、API和人工流程在业务工作流中互连和共享数据。

BPMN 2.0

一致性

该规范定义了四种类型的一致性,即流程建模一致性(建模器)、流程执行一致性(流程引擎)、BPEL流程执行一致性和编排建模一致性,当且仅当软件完全匹配适用的规范中规定的合规点,才能声明软件符合此规范,否则只能声明软件基于此规范。

流程引擎:满足流程执行一致性,1)需要支持和解释操作语义和活动生命周期,2)支持BPMN流程图类型的导入
建模器:满足流程建模一致性,1)满足所有协作类型,2)支持所有流程元素。满足编排建模一致性,需支持Pools 和 Message Flow.

机制

BPMN规范是分层组织的,一个最基本的BPMN内核必须包括:流程 编排 协作 。
流程(Process):
协作(Collaboration ):通过Message Flow,实现pool或pool之间的交互。

在这里插入图片描述

元素

在这里插入图片描述
在这里插入图片描述

流对象(Flow Object)

定义业务流程行为的主要图形元素。

Activity
定义

表示流程中执行工作的点, 是 BPMN 流程的可执行元素。它是一个抽象元素,具体实现方式为: Task, Sub-Process, Call Activity
功能
补偿、循环、边界事件、token与多实例、关联、资源、资源角色:
● 标识是否通过补偿事件触发
● 通过指定重复标准循环执行:标准循环 多实例循环
● 数据输入和输出
● 存储边界事件定义
● DataInputAssociations 和 DataOutputAssociations
● 存储来自Flow的token、token_StartQuantity 、token_CompletionQuantity

特征

Multi-Instance
通过表达式计算实例数;通过数据驱动设置;
并行与串行
Loop
标准循环:loopMaximum loopCondition testBefore 。循环条件为true时触发
多实例循环
实例数:表达式或输入数据
抛出事件标识:被 MultiInstance 边界事件捕获
None, 每个实例完成时
One, 第一个实例完成时被抛出
All, 不抛出事件,所有实例完成后生成一个token
Complex,根据complexBehaviorDefinitions 确定是否以及要抛出哪些事件。对于 none 和 one 的行为,会抛出一个默认的 SignalEventDefinition,它会自动携带 MI Activity 的当前运行时属性。
Resources
指定activity引用的资源,并为资源分配参与者,参与者可以 以特定个人、团体、组织角色或职位或组织的形式进行指定
DataInputAssociation
从流程变量到任务输入以及从任务输出到其他流程变量的数据映射。

Task

类型
● Service Task:调用外部服务,只有一个inputset和最多一个outputset
● Send Task:发送任务,将消息发送给外部流程参与者,任务结束。执行时,数据会自动从发送任务上的数据输入移动到要发送的消息中。
● Receive Task:接收任务,等待接收外部流程参与者,收到消息后任务结束。通常用于启动流程。(消息中间捕获事件替代)
● BusinessRule Task:用于对业务规则的评估进行建模,比如以决策模型和符号DMN建模的决策
人工任务
● User Task 用户任务
● Manual Task 手动任务,无需 business process engine 执行

Sub-Process

标记:循环,多实例,补偿,ad-hoc,除了不能同时显示循环和多实例之外,其他的可以组合
属性

类型
Embedded Sub-Process :
■ 定义:嵌入式子流程,可以展开和收缩。没有独立的含义或定义,是父流程的流程片段。
■ 触发机制:通过父流程的flow触发。
Reusable Sub-Process (Call Activity) :
■ 定义:可重用子流程,用于业务自动化。在流程中标记一个点,该点将会调用全局子流程。
● Call Activity指定从其流程变量到CallableElement的数据输入和输出的映射,从而实现解耦
● 覆盖被调用元素( Callable Element  )的属性和属性;沿层次传播的事件可以从被调用的元素传播到 
call activity
触发机制:
 Event Sub-Process  :
■ 定义:事件子流程,通过bool属性 triggeredByEvent  标识,不是父流程的一部分,必须有一个开始事件,它没有传入或传出的序列流。
■ 触发机制:事件子流程有一个带触发器的开始事件, 每次在父流程启动时触发,然后事件子流程就会启动。(开始事件类型:消息、错误、升级、补偿、条件、信号和多重)
  ● message触发,不中断父流程,可多次触发
  ● 补偿事件触发,父流程完成后触发
  ● error触发,父流程停止或中断
Transaction Sub-Process:
■ 定义:事务子流程,通过事务协议进行控制
■ 触发机制:父流程的flow
■ 流程结果:
  ●  Success Complete: 回归父流程的flow
  ● Cancel :通过Cancel Intermediate Event  ,回滚和补偿结束后,连接父流程flow
    ○ cancel End Event 
    ○  cancel Message.
  ● 中断:error timer  non-Transaction Activity 不会触发补偿
Ad-Hoc Sub-Process :
■ 定义:一组无需顺序流连接的Actitivty,由用户决定活动的顺序和数量,可以添加 定义了完成条件;它还允许在任务之间定义部分顺序,并且可以指定允许的并行度
■ 触发机制:动态的并且由人类用户逐案管理
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值