【工作流引擎】BPMN2.0介绍
【工作流引擎】BPMN2.0介绍
- BPMN2.0
- 1、 BPMN 基本建模元素
- 2、 事件 (Event)
- 3、活动 (Activity)
- 4、网关 (Gateway)
- 5、子流程和调用活动
- 6、描述性建模符号
BPMN2.0
BPMN(Business Process Modeling Notation)是一种流程建模的通用和标准语言,用来绘制业务流程图,以便更好地让各部门之间理解业务流程和相互关系,旨在促进业务流程的沟通和理解。
1、 BPMN 基本建模元素
2、 事件 (Event)
- 开始(Start Event) - 表示一个流程的开始。
- 中间 (Intermediate Event)- 发生的开始和结束事件之间,影响处理的流程。
- 结束(End Event) - 表示该过程结束。
注意:如果您添加一个信封的图标给上述任何某个事件,那你将触发一个消息事件。即可以是由一个消息的到达而启动一个进程,也可以是在中间的某个位置与中间事件中发送一个消息(或捕获消息),或者可以在一个过程结束时发送的消息。详细查看BPMN Quick Guide
3、活动 (Activity)
活动是工作或任务的一个通用术语。首先,一个活动可以是一个任务,或者它可以是一个当前流程的子处理流程; 其次,你还可以指定不同类型的活动。
例如,任务可以是需要人工完成的任务,也可以自动完成的任务,比如由脚本完成的任务,或服务任务(交由web服务器处理的指令)。
4、网关 (Gateway)
排他网关(Exclusive Gateway) —— 只有一条路径会被选择
流程执行到该网关时,按照输出流的顺序逐个计算,当条件的计算结果为true时,继续执行当前网关的输出流;如果多条线路计算结果都是 true,则会执行第一个值为 true 的线路。如果所有网关计算结果没有true,则引擎会抛出异常。
排他网关需要和条件顺序流结合使用,default 属性指定默认顺序流,当所有的条件不满足时会执行默认顺序流。
并行网关 (Parallel Gateway) —— 所有路径会被同时选择
拆分 —— 并行执行所有输出顺序流,为每一条顺序流创建一个并行执行线路。
合并 —— 所有从并行网关拆分并执行完成的线路均在此等候,直到所有的线路都执行完成才继续向下执行。
包容网关 (Inclusive Gateway) —— 可以同时执行多条线路,也可以在网关上设置条件
拆分 —— 计算每条线路上的表达式,当表达式计算结果为true时,创建一个并行线路并继续执行
合并 —— 所有从并行网关拆分并执行完成的线路均在此等候,直到所有的线路都执行完成才继续向下执行。
- 事件网关(Event-Based Gateway)
专门为中间捕获事件设置的,允许设置多个输出流指向多个不同的中间捕获事件。当流程执行到事件网关后,流程处于等待状态,需要等待抛出事件才能将等待状态转换为活动状态。
5、子流程和调用活动
子流程是嵌入在主流程中,可以被主流程或其他流程通过ID调用,即不用重复画出子流程的细节;
子流程的限制:
1)只能且仅能包含一个空启动事件
2)至少要有一个结束事件
3)子流程中顺序流不能直接设置输出流到子流程之外的活动上,如果需要可以通过边界事件代替。
6、描述性建模符号
泳道(Pool):代表流程中的参与者,用来对活动进行组织和分类;
泳池 (Lane):泳道里的一个子划分;
信息流(message flow):虚线表示;
数据对象和仓库;
详细查看BPMN Quick Guide
【工作流引擎】BPMN2.0介绍相关推荐
- .NET CORE WEBAPI+VUE前后端分离工作流引擎ROADFLOW3.0更新发布
经过长达大半年之久的开发升级,基于VUE为前端,.NET CORE WEBAPI为后端的前后端分离工作流引擎ROADFLOW3.0更新发布了.欢迎下载试用,下载地址:http://www.roadfl ...
- 首个Laravel工作流引擎发布 V1.0正式版
工作流在日常得系统开发中不常见,因为大部分能应用上流程引擎得都是大系统,大集团,或者政企客户.Tpflow作为开发比较久得工作流引擎,一直不支持Laravel. 辛酸历程: 2022年3月,我们立项开 ...
- flac3d命令流实例大全_Activiti6.0工作流引擎深度解析
本课程将系统且深入源码讲解Activiti6.0工作流引擎的使用.配置.核心api以及BPMN2.0规范.数据库设计及模型映射,Spring Boot2.0集成,工作流平台搭建.部署与运维等,通过本课 ...
- 工作流引擎添新丁:Flowable6.0发布
为什么80%的码农都做不了架构师?>>> 如果你在还纠结该选择JPMB还是Acitiviti的时候,或者还在纠结于是否该从JPMB迁移到Activiti的阵营中的时候,很不幸地 ...
- Activiti7工作流入门和基本使用-工作流引擎介绍
目录 一.工作流介绍 1.1 概念 1.2 工作流系统 1.3 适用行业 1.4 具体应用 1.5 实现方式 二.Activiti7概述 2.1 介绍 2.1.1 BPM 2.1.2 BPM软件 2. ...
- BPMN2.0规范及流程引擎选型方案
BPMN2.0规范及流程引擎选型方案 一.基本概念 二.BPMN意义 三.主要元素 3.1 活动 任务 子流程 调用活动 事件子流程 事务 3.2 网关 排他网关 包容网关 并行网关 事件网关 复杂网 ...
- 工作流activity_开源、强大的工作流引擎:camunda入门介绍
原创不易,请多多支持!对Java技术感兴趣的童鞋请关注我,后续技术分享更精彩. 简介 Camunda is a Java-based framework supporting BPMN for wor ...
- 最近进行的一次技术选型(工作流引擎)及相关知识介绍
前言 最近有个新项目,需要实现类似工作流引擎的效果,如果不知道是啥,看完本文就懂了. 公司内其实也有些自研的,可能就是不像开源的这些那样,还支持这个那个规范,都是基于需求定制开发的,扩展性稍微差点. ...
- 小白学流程引擎-FLowable(五) — BPMN2.0模型规范
前言: 不用到处百度BPMN2的博客了,本篇文章带你系统掌握BPMN2规范的核心知识点.全文2万字,全覆盖BPMN2知识点,图文并茂,泡杯咖啡,慢慢细品- 一.BPMN是什么 BPMN(Busines ...
最新文章
- R语言将多个dataframe导出到excel的多个表单(sheet)实战
- 2019.03.28 bzoj3594: [Scoi2014]方伯伯的玉米田(二维bit优化dp)
- qt调用mysql加密接口_Qt实现客户端/服务器端登录验证|数据传输使用md5加密 | 学步园...
- Redis命令参考简体中文版
- html5移动web开发黑马掌上商城_这套web前端与移动开发教程,帮助了众多小白转行就业...
- Python小数据池
- 机器人无限火力无限e符文_LOL:无限火力开黑指南 三大玩法让你快乐加倍
- 好用的重装系统前使用的windows系统软件名称导出备份工具
- Spring框架学习笔记03:初探Spring——利用注解配置类取代Spring配置文件
- 笨办法学 Python · 续 练习 1:流程
- JavaScript高级程序设计(5) 引用类型 (上)
- 解决ssh登录慢的问题
- 方法的创建、重载及递归调用
- Java项目 学生信息管理系统 DAO设计模式
- python PIL生成字母验证图片
- python程序设计与实验_用于创建实验的Python应用程序和库
- 2022变更调查 举证照片查看器
- 电子凸轮基本概念学习
- layui日周月年的日历切换,当选择周时设置每周一可选,其余日期置灰不可选
- java.lang.IllegalStateException: Fragment already added