工作流JBPM流程图说明

文章目录

    • [5☃️ 相关概念](#5☃️ 相关概念)
    • [6 ☃️流程图说明](#6 ☃️流程图说明)
      • [6.0 ❄️❄️快速上手](#6.0 ❄️❄️快速上手)
      • [6.1 ❄️❄️活动Activity / 节点Node](#6.1 ❄️❄️活动Activity / 节点Node)
        • [6.1.1 start 开始活动](#6.1.1 start 开始活动)
        • [6.1.2 end 结束活动](#6.1.2 end 结束活动)
        • [6.1.3 task 任务活动](#6.1.3 task 任务活动)
        • [6.1.4 decision 判断活动](#6.1.4 decision 判断活动)
        • [6.1.5 fork/join 分支/聚合活动](#6.1.5 fork/join 分支/聚合活动)
      • [6.2 ❄️❄️流转 Transition / 连线 (单向箭头)](#6.2 ❄️❄️流转 Transition / 连线 (单向箭头))
        • [6.2.1 开始活动](#6.2.1 开始活动)
        • [6.2.2 结束活动](#6.2.2 结束活动)
        • [6.2.3 其他活动](#6.2.3 其他活动)

5☃️ 相关概念

流程定义:Process definition

一个流程的步骤说明。如一个请假流程、报销流程、借款流程等。是一个规则。

流程实例:Process instance

代表流程定义的一次执行。如张三昨天按照请假流程请了一次假。一个流程实例包括了所有运行的阶段,其中最典型的属性就是跟踪当前节点的指针。

Execution 执行

一般情况下,一个流程实例是一个执行树的根节点。

使用树状结构的原因在于,这一概念只有一条执行路径,使用起来更简单。业务API不需要了解流程实例和执行之间功能的区别。因此,API里只有一个执行类型来引用流程实例和执行。

6 ☃️流程图说明

6.0 ❄️❄️快速上手

如图:在工程根路径下新建一个"Source Folder"文件夹

在上一步新建的文件夹里新建文件,如下:

建好后,打开 如下图所示:

画个简单的 图:

上图简单的说明:

当上图的活动部署并启动(部署和启动下文再细说)后,活动先到达部门审批,此时,只有"小李"(画流程图时指定的部门审批人)能看见自己的任务列表有该任务,流程下一步的 "经理"在自己的任务列表里是看不见该任务的。

当"小李"办理了该任务后,该任务将不会在"小李"的任务列表显示,而此时"经理"的任务列表里就有了该任务了。

"小李"办理了该任务后,该流程结束,该任务将不会在任何人的任务列表显示。

6.1 ❄️❄️活动Activity / 节点Node

我们所用到的 活动 都在上图中了,下面介绍经常用到的活动的含义:

6.1.1 start 开始活动

代表流程的开始边界,一个流程有且只能有一个 start 活动。开始活动只能指定一个 Transition 。在流程实例启动后,会自动的使用这个唯一的 Transition 离开开始活动,到下一个活动。

6.1.2 end 结束活动

代表流程的结束边界,可以有多个,也可以没有。如果有多个,则达到任一个结束活动,整个流程就都结束了;如果没有,则到达最后面那个没有 Transition 的活动,流程就结束了。

6.1.3 task 任务活动

等待补充

6.1.4 decision 判断活动

等待补充

6.1.5 fork/join 分支/聚合活动

这是多个分支并行(同时)执行的,并且所有的分支 Execution 都到 join 活动后才向后执行。

展现在图中就是:task2、task3 和 task4 这三个任务都执行完毕,流程才继续往 task5 走。task2、task3 和 task4 中任意一个没有完成,任务都不会往下走。

注意: fork 和 join 是配合在一起使用的。

6.2 ❄️❄️流转 Transition / 连线 (单向箭头)

6.2.1 开始活动

开始活动中只能有一个 Transition 。

6.2.2 结束活动

结束活动中没有 Transition 。

6.2.3 其他活动

其他活动中都是可以有1个或者n个 Transition 。

相关推荐
DuelCode1 小时前
Windows VMWare Centos Docker部署Springboot 应用实现文件上传返回文件http链接
java·spring boot·mysql·nginx·docker·centos·mybatis
优创学社21 小时前
基于springboot的社区生鲜团购系统
java·spring boot·后端
幽络源小助理1 小时前
SpringBoot基于Mysql的商业辅助决策系统设计与实现
java·vue.js·spring boot·后端·mysql·spring
猴哥源码1 小时前
基于Java+springboot 的车险理赔信息管理系统
java·spring boot
YuTaoShao2 小时前
【LeetCode 热题 100】48. 旋转图像——转置+水平翻转
java·算法·leetcode·职场和发展
Dcs2 小时前
超强推理不止“大”——手把手教你部署 Mistral Small 3.2 24B 大模型
java
东阳马生架构2 小时前
订单初版—1.分布式订单系统的简要设计文档
java
Code blocks3 小时前
使用Jenkins完成springboot项目快速更新
java·运维·spring boot·后端·jenkins
荔枝吻3 小时前
【沉浸式解决问题】idea开发中mapper类中突然找不到对应实体类
java·intellij-idea·mybatis
snoopyfly~3 小时前
Ubuntu 24.04 LTS 服务器配置:安装 JDK、Nginx、Redis。
java·服务器·ubuntu