【工作流引擎】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介绍相关推荐

  1. .NET CORE WEBAPI+VUE前后端分离工作流引擎ROADFLOW3.0更新发布

    经过长达大半年之久的开发升级,基于VUE为前端,.NET CORE WEBAPI为后端的前后端分离工作流引擎ROADFLOW3.0更新发布了.欢迎下载试用,下载地址:http://www.roadfl ...

  2. 首个Laravel工作流引擎发布 V1.0正式版

    工作流在日常得系统开发中不常见,因为大部分能应用上流程引擎得都是大系统,大集团,或者政企客户.Tpflow作为开发比较久得工作流引擎,一直不支持Laravel. 辛酸历程: 2022年3月,我们立项开 ...

  3. flac3d命令流实例大全_Activiti6.0工作流引擎深度解析

    本课程将系统且深入源码讲解Activiti6.0工作流引擎的使用.配置.核心api以及BPMN2.0规范.数据库设计及模型映射,Spring Boot2.0集成,工作流平台搭建.部署与运维等,通过本课 ...

  4. 工作流引擎添新丁:Flowable6.0发布

    为什么80%的码农都做不了架构师?>>>    如果你在还纠结该选择JPMB还是Acitiviti的时候,或者还在纠结于是否该从JPMB迁移到Activiti的阵营中的时候,很不幸地 ...

  5. Activiti7工作流入门和基本使用-工作流引擎介绍

    目录 一.工作流介绍 1.1 概念 1.2 工作流系统 1.3 适用行业 1.4 具体应用 1.5 实现方式 二.Activiti7概述 2.1 介绍 2.1.1 BPM 2.1.2 BPM软件 2. ...

  6. BPMN2.0规范及流程引擎选型方案

    BPMN2.0规范及流程引擎选型方案 一.基本概念 二.BPMN意义 三.主要元素 3.1 活动 任务 子流程 调用活动 事件子流程 事务 3.2 网关 排他网关 包容网关 并行网关 事件网关 复杂网 ...

  7. 工作流activity_开源、强大的工作流引擎:camunda入门介绍

    原创不易,请多多支持!对Java技术感兴趣的童鞋请关注我,后续技术分享更精彩. 简介 Camunda is a Java-based framework supporting BPMN for wor ...

  8. 最近进行的一次技术选型(工作流引擎)及相关知识介绍

    前言 最近有个新项目,需要实现类似工作流引擎的效果,如果不知道是啥,看完本文就懂了. 公司内其实也有些自研的,可能就是不像开源的这些那样,还支持这个那个规范,都是基于需求定制开发的,扩展性稍微差点. ...

  9. 小白学流程引擎-FLowable(五) — BPMN2.0模型规范

    前言: 不用到处百度BPMN2的博客了,本篇文章带你系统掌握BPMN2规范的核心知识点.全文2万字,全覆盖BPMN2知识点,图文并茂,泡杯咖啡,慢慢细品- 一.BPMN是什么 BPMN(Busines ...

最新文章

  1. R语言将多个dataframe导出到excel的多个表单(sheet)实战
  2. 2019.03.28 bzoj3594: [Scoi2014]方伯伯的玉米田(二维bit优化dp)
  3. qt调用mysql加密接口_Qt实现客户端/服务器端登录验证|数据传输使用md5加密 | 学步园...
  4. Redis命令参考简体中文版
  5. html5移动web开发黑马掌上商城_这套web前端与移动开发教程,帮助了众多小白转行就业...
  6. Python小数据池
  7. 机器人无限火力无限e符文_LOL:无限火力开黑指南 三大玩法让你快乐加倍
  8. 好用的重装系统前使用的windows系统软件名称导出备份工具
  9. Spring框架学习笔记03:初探Spring——利用注解配置类取代Spring配置文件
  10. 笨办法学 Python · 续 练习 1:流程
  11. JavaScript高级程序设计(5) 引用类型 (上)
  12. 解决ssh登录慢的问题
  13. 方法的创建、重载及递归调用
  14. Java项目 学生信息管理系统 DAO设计模式
  15. python PIL生成字母验证图片
  16. python程序设计与实验_用于创建实验的Python应用程序和库
  17. 2022变更调查 举证照片查看器
  18. 电子凸轮基本概念学习
  19. layui日周月年的日历切换,当选择周时设置每周一可选,其余日期置灰不可选
  20. java.lang.IllegalStateException: Fragment already added

热门文章

  1. 技术管理的核心内容 — 提高团队技能
  2. 畅想阅读电子书下载攻略
  3. 水滴邮件营销:让企业营销更简单
  4. 网站技术分析工具:Wappalyzer
  5. 嵌入式软件工程师笔试面试指南-ARM体系与架构
  6. 【通义千问】比GPT-4 Office还炸裂!阿里版GPT全家桶来袭—— 张勇:阿里巴巴所有产品未来将接入大模型全面改造
  7. 亚马逊店铺同站点关联了应该怎么操作方法?
  8. centos 制作iso镜像
  9. C++读写ini文件
  10. 解决IDEA安装出现NSIS错误的问题