工作流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 。

相关推荐
装不满的克莱因瓶27 分钟前
【Redis经典面试题六】Redis的持久化机制是怎样的?
java·数据库·redis·持久化·aof·rdb
n北斗34 分钟前
常用类晨考day15
java
骇客野人38 分钟前
【JAVA】JAVA接口公共返回体ResponseData封装
java·开发语言
yuanbenshidiaos2 小时前
c++---------数据类型
java·jvm·c++
向宇it2 小时前
【从零开始入门unity游戏开发之——C#篇25】C#面向对象动态多态——virtual、override 和 base 关键字、抽象类和抽象方法
java·开发语言·unity·c#·游戏引擎
Lojarro2 小时前
【Spring】Spring框架之-AOP
java·mysql·spring
莫名其妙小饼干2 小时前
网上球鞋竞拍系统|Java|SSM|VUE| 前后端分离
java·开发语言·maven·mssql
isolusion2 小时前
Springboot的创建方式
java·spring boot·后端
zjw_rp3 小时前
Spring-AOP
java·后端·spring·spring-aop
Oneforlove_twoforjob3 小时前
【Java基础面试题033】Java泛型的作用是什么?
java·开发语言