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

相关推荐
一只爱打拳的程序猿4 分钟前
【Spring】更加简单的将对象存入Spring中并使用
java·后端·spring
杨荧5 分钟前
【JAVA毕业设计】基于Vue和SpringBoot的服装商城系统学科竞赛管理系统
java·开发语言·vue.js·spring boot·spring cloud·java-ee·kafka
minDuck7 分钟前
ruoyi-vue集成tianai-captcha验证码
java·前端·vue.js
为将者,自当识天晓地。26 分钟前
c++多线程
java·开发语言
daqinzl34 分钟前
java获取机器ip、mac
java·mac·ip
激流丶1 小时前
【Kafka 实战】如何解决Kafka Topic数量过多带来的性能问题?
java·大数据·kafka·topic
Themberfue1 小时前
Java多线程详解⑤(全程干货!!!)线程安全问题 || 锁 || synchronized
java·开发语言·线程·多线程·synchronized·
让学习成为一种生活方式1 小时前
R包下载太慢安装中止的解决策略-R语言003
java·数据库·r语言
晨曦_子画1 小时前
编程语言之战:AI 之后的 Kotlin 与 Java
android·java·开发语言·人工智能·kotlin
南宫生2 小时前
贪心算法习题其三【力扣】【算法学习day.20】
java·数据结构·学习·算法·leetcode·贪心算法