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

相关推荐
世间万物皆对象3 分钟前
Spring Boot核心概念:日志管理
java·spring boot·单元测试
没书读了32 分钟前
ssm框架-spring-spring声明式事务
java·数据库·spring
小二·39 分钟前
java基础面试题笔记(基础篇)
java·笔记·python
开心工作室_kaic1 小时前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
懒洋洋大魔王1 小时前
RocketMQ的使⽤
java·rocketmq·java-rocketmq
武子康1 小时前
Java-06 深入浅出 MyBatis - 一对一模型 SqlMapConfig 与 Mapper 详细讲解测试
java·开发语言·数据仓库·sql·mybatis·springboot·springcloud
转世成为计算机大神2 小时前
易考八股文之Java中的设计模式?
java·开发语言·设计模式
qq_327342732 小时前
Java实现离线身份证号码OCR识别
java·开发语言
阿龟在奔跑3 小时前
引用类型的局部变量线程安全问题分析——以多线程对方法局部变量List类型对象实例的add、remove操作为例
java·jvm·安全·list
飞滕人生TYF3 小时前
m个数 生成n个数的所有组合 详解
java·递归