Springboot 整合 Flowable(一):使用 flowable-UI 绘制流程图

news2024/9/22 23:29:25

 目录

一、Flowable简介

二、Flowable 与 Activiti 的区别

三、流程图的绘制(以员工请假流程图为例)

1、下载 flowable 的压缩包:

2、启动包中的 tomcat

3、登录页面

4、绘制结束,导出 bpmn20.xml文件


一、Flowable简介

Flowable 是一个使用 Java 编写的轻量级业务流程引擎。Flowable 流程引擎可用于部署 BPMN 2.0流程定义(用于定义流程的行业XML标准), 创建这些流程定义的流程实例,进行查询,访问运行中或历史的流程实例与相关数据等等。

                                                              —— 以上来源于中文版用户手册:flowable-userguide

👉 补充概念知识:

1、BPM:

“通过建模、自动化、管理和优化流程,打破跨部门跨系统业务过程依赖、打破信息孤岛,提高业务效率和效果”,通俗一点讲,就是工作流引擎。在进行流程设计时,需要将流程的元素进行定义,并按照一定的格式、标准运行,这就需要一套业务规范,这套规范就是BPM。

2、BPMN1.0:

“业务流程建模标注”,从语义上我们就能理解,BPMN1.0就是将流程定义标准化的一套规则、规范。提出这套标准化的就是OMG(国际性、开放式会员制的非盈利技术标准联盟),这套标准是独立于企业的标准。

3、BPMN2.0:

BPMN2.0相对于BPMN1.0最大的区别就是定义、规范了流程引擎的执行语义和格式,利用标准的图元描述真实的业务发生过程,保证相同的流程在不同的流程引擎中得到一致的执行结果。在BPMN2.0的这套标准中,主要对流程执行定义了三类基本要素,分别为Activities(活动)、Gateways(网关)、Events(事件)。

二、Flowable 与 Activiti 的区别

优点缺点
Flowable

1、架构灵活:Flowable的架构非常灵活,可以轻松地嵌入到Spring或者其他Java应用中,也可以作为独立的服务运行。

2、扩展性强:Flowable提供了插件机制,可以方便地扩展和定制工作流引擎的功能。

3、高可用性:Flowable支持分布式部署,可以实现高可用性的工作流引擎。

4、维护活跃:Flowable项目有一个活跃的社区,提供了及时的技术支持和更新。

1、文档相对较少:Flowable相对于Activiti,文档相对较少。

2、社区相对较小:Flowable的社区相对于Activiti,规模较小。

Activiti

1、文档详细:Activiti的官方文档非常详细,易于新手学习和使用。

2、社区活跃:Activiti的社区规模较大,提供了广泛的技术支持和资源。

3、易于集成:Activiti可以轻松地与Spring集成,也可以作为独立的服务运行。

4、贡献者较多:Activiti是一个比较成熟的工作流引擎,有大量的贡献者和用户,可以提供成熟的解决方案。

1、扩展性较弱:Activiti的插件机制较为有限,扩展和定制功能不如Flowable方便。

2、可靠性较低:Activiti在一些用户反馈的场景下,存在一些稳定性问题,需要注意。

三、流程图的绘制(以员工请假流程图为例)

1、下载 flowable 的压缩包:

① 下载地址:https://github.com/flowable/flowable-engine/releases/tag/flowable-6.6.0/

百度网盘:链接:https://pan.baidu.com/s/11c0TQ45tfl3trt3drkI1Hg 
提取码:2sfq

② 解压后,将 flowable-6.6.0\flowable-6.6.0\wars 下的两个文件拷贝到 tomcat下的 apache-tomcat-8.5.57\webapps 下

2、启动包中的 tomcat

双击 \apache-tomcat-8.5.57\bin\startup.bat,启动 tomcat

3、登录页面

地址:http://localhost:8080/flowable-ui

默认用户名:admin

密码:test

相关概念:

  • 事件(event):通常用于为流程生命周期中发生的事情建模,图里是【开始、结束】两个圈。
  • 顺序流(sequence flow)是流程中两个元素间的连接器。图里是【箭头线段】。
  • 网关(gateway)用于控制执行的流向。图里是【菱形(中间有X)】
  • 用户任务(user task)用于对需要人工执行的任务进行建模。图里是【矩形】。

注意事项:

  • 考虑易读性,每个组件最好设置主键ID。
  • 分配用户可以选择候选人或者候选组。

候选组需要提前创建

 顺序流可以设置流条件来限制流动

4、绘制结束,导出 bpmn20.xml文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1813879.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux C语言:指针和二维数组

一、一级指针和二维数组 二维数组的元素连续存储&#xff0c;按行优先存 二、数组指针和二维数组 1、二维数组名的理解 行指针&#xff08;数组指针&#xff09;存储行地址的指针变量&#xff0c;叫做行指针变量。形式如下&#xff1a; <数据类型> (*<指针变量名>…

Java内存图相关概念

内存图 1.内存:可以理解"内存条",任何程序,软件运行起来都会在内存中运行,占用内存,在java的世界中,将内存分为了5大块2.分为哪5大块栈(重点)(Stack)主要运行方法,方法的运行都会去栈内存中运行,运行完毕之后,需要"弹栈",腾空间堆(重点):(Heap)每new一次,…

Java面试题--JVM大厂篇之深入了解Java虚拟机(JVM):工作机制与优化策略

引言&#xff1a; Java虚拟机&#xff08;Java Virtual Machine&#xff0c;简称JVM&#xff09;是Java程序员绕不开的主题。作为Java语言的执行平台&#xff0c;JVM不仅为Java程序提供了平台无关性&#xff0c;还承担了内存管理、线程管理和垃圾回收等复杂任务。了解JVM的工作…

缓冲区的奥秘:解析数据交错的魔法

目录 一、理解缓存区的好处 &#xff08;一&#xff09;直观性的理解 &#xff08;二&#xff09;缓存区的好处 二、经典案例分析体会 &#xff08;一&#xff09;文件读写流&#xff08;File I/O Buffering&#xff09; BufferedOutputStream 和 BufferedWriter 可以加快…

解锁工业数据流:NeuronEX 规则调试功能实操指南

工业企业要实现数据驱动的新质生产力升级&#xff0c;一个重要的环节便是如何准确、可靠地收集并利用生产过程中的数据流。 NeuronEX 工业边缘软件中的规则调试功能&#xff0c;可帮助用户在安全的环境中模拟数据输入&#xff0c;测试和优化数据处理规则&#xff0c;从而提前发…

Spark groupByKey和reduceByKey对比

在 Apache Spark 中&#xff0c;groupByKey 和 reduceByKey 都是用于对键值对 (key-value) 数据集进行分组和聚合的操作。然而&#xff0c;它们在性能和使用场景上有显著的差异。 groupByKey 函数 groupByKey 将数据集中的所有键相同的值进行分组&#xff0c;然后返回一个键值…

C++多线程同步总结

C多线程同步总结 关于C多线程同步 一、C11规范下的线程库 1、C11 线程库的基本用法&#xff1a;创建线程、分离线程 #include<iostream> #include<thread> #include<windows.h> using namespace std; void threadProc() {cout<<"this is in t…

java多线程相关概念

在Java多线程编程中&#xff0c;有几个关键的术语需要理解&#xff1a; 1.线程(Thread)&#xff1a;线程是操作系统能够进行运算调度的最小单位&#xff0c;它被包含在进程之中&#xff0c;是进程中的实际运作单位。 2.进程(Process)&#xff1a;进程是系统进行资源分配和调度…

下载NVIDIA官网的培训视频,生成中文字幕和PPT

下载NVIDIA官网的培训视频,生成中文字幕和PPT 一.[视频网站](https://www.nvidia.cn/on-demand/session/gtc24-s62129/)二.如何获取视频的原始链接三.下载视频的脚本【生成output.mp4】四.安装whisper环境【语音识别生成英文字幕】五.下载whisper模型六.生成英文字幕【输出merg…

“探索AIGC市场:腾讯元宝APP加入竞争,大模型产品的未来走向与个人选择“

文章目录 每日一句正能量前言使用体验分享独特优势和倾向选择字节豆包百度文心一言阿里通义千问腾讯元宝个人倾向选择结论 未来发展方向技术创新可持续可拓展性用户体验应用场景政府赋能数据安全与隐私保护伦理与社会责任国际合作与竞争结论 后记 每日一句正能量 不管现在有多么…

000-基于sklearn的机器学习入门:工作环境搭建与配置

本专栏将介绍基于Scikit-learn(简称sklearn)的机器学习入门知识。包括但不一定限于&#xff0c;机器学习基本知识、sklearn库简介&#xff0c;基于Sklearn库的机器学习实践。 这是本专栏的第000篇&#xff0c;将介绍如何安装和配置sklearn环境&#xff0c;不仅包括Sklearn库的…

【QT5】<知识点> IMX6ULL开发板运行QT

目录 1. 安装交叉编译器 2. 命令行交叉编译QT项目 3. 运行该可执行程序 4. 开发板上运行UDP程序与Ubuntu通信 1. 安装交叉编译器 第一步&#xff1a;进入正点原子论坛找到IMX6ULL开发板的资料&#xff0c;下载“开发工具”&#xff0c;将“交叉编译工具”中的fsl-imx-x11-…

Docker引起的漏洞问题

前言 测试环境上的中间件和java应用都是由docker进行部署的,但是因为docker的镜像访问有时候需要外网,由此引发了问题,在docker文件中 /usr/lib/systemd/system/docker.service 原有的配置为,可以看到进行了加密 ExecStart/usr/bin/dockerd --tlsverify --tlscacert/etc/docker…

【PL理论】(19) 函数式语言:更复杂的 let-in 示例 | 作用域 | 静态作用域 vs. 动态作用域

&#x1f4ad; 写在前面&#xff1a;本章我们将继续讲解函数式语言&#xff0c;介绍比上一章更复杂的 let-in 示例&#xff0c;进行分析。并讲解作用域&#xff0c;通过例子对比静态作用域和动态作用域的区别。 目录 0x00 复杂的 let-in 示例 0x01 作用域 0x02 静态作用域 v…

EI/CPCI/Scopus会议论文是啥?

EI/CPCI/Scopus会议论文是啥&#xff1f; EI/CPCI/Scopus是学术圈常见的字母缩写了&#xff0c;它们并非某一种期刊或是某一种杂志&#xff0c;而是一种便捷的论文检索工具。它们之间的区别在于&#xff0c;各自涵盖的领域的不同。▌EI &#xff08;The Engineering Index&…

STM32硬件接口I2C应用(基于MP6050)

目录 概述 1 STM32Cube控制配置I2C 1.1 I2C参数配置 1.2 使用STM32Cube产生工程 2 HAL库函数介绍 2.1 初始化函数 2.2 写数据函数 2.3 读数据函数 3 认识MP6050 3.1 MP6050功能介绍 3.2 加速计测量寄存器 ​编辑3.3 温度计量寄存器 3.4 陀螺仪测量寄存器 4 MP60…

openlayers 绘图功能,绘制多边形,draw组件的使用,一个简单的需求引发的思考(二)

上一篇是使用openlayers原生实现的&#xff0c;这一节使用vue3-openlayers实现(有轮子真好) 1 需求 使用openlayers绘图功能绘制多边形 2 分析 主要是openlayers中draw功能的使用 3 实现 为了方便&#xff0c;就不加载底图了&#xff0c;直接使用绘制功能 2.1 简单实现 …

ttkbootstrap的icon图标自定义

前言 在使用ttkbootstrap库时&#xff0c;发现icon参数使用报错&#xff0c;错误代码 root ttk.Window(themename"superhero",size(1400, 700),resizable(True, True),iconphoto"1.png" )结果报错&#xff1a;iconphoto path is bad; using default ima…

AC/DC电源模块的原理、特点以及其在实际应用中的重要性

BOSHIDA AC/DC电源模块的原理、特点以及其在实际应用中的重要性 AC/DC电源模块是一种用于将交流电转换为直流电的设备&#xff0c;广泛应用于各种电子设备中。这种电源模块可以有效地将电力从电网中提取出来&#xff0c;并将其转换为稳定的直流电源&#xff0c;供给各种不同功…

【短剧看剧系统之投流版】短剧看剧系统功能更新,前端uniapp搭建开发

目录 一、常规款短剧系统和投流版的区别&#xff1f; 二、后端体系 1.管理端&#xff1a; 2.代理投流端 三、功能区别 总结&#xff1a; 前言&#xff1a; 短剧看剧系统目前在抖音端是比较热门的&#xff0c;最重要的功能就是可以接入第三方cps&#xff0c;包含类目报白…