SpringBoot整合Flowable最新教程(一)Flowable介绍

一、Flowable 入门介绍

代码实现文章:SpringBoot整合Flowable最新教程(二)

  官网地址:https://www.flowable.org/
  Flowable6.3中文教程:中文教程地址
  可以在官网下载对应的jar包在本地部署运行,官方提供了下面的五个应用程序:

  Flowable Modeler:流程定义管理
  Flowable Task:用户任务管理
  Flowable IDM:用户组权限管理
  Flowable REST API:流程引擎对外提供的API接口
  Flowable Admin:后台管理

二、初识Flowable五大引擎

  Flowable有五大引擎,每个之间都是相互独立互不影响。
  ProcessEngine是里面最核心也是最重要的一个引擎,如果失去它那Flowable也就意义了。
五大引擎

三、流程引擎使用架构

Flowable引擎在使用前需要先通过配置来初始化ProcessEngine。
初始化ProcessEngineConfiguration一般有两种方式:
1.通过Spinrg配置文件进行依赖注入,通过flowable.cfg.xml文件来初始化ProcessEngineConfiguration(这里的文件名必须为flowable.cfg.xml,否则Flowable识别不到)
2.通过编写程序的方式来构造ProcessEngineConfiguration对象
流程引擎API架构图
模型图
四、流程引擎初体验

1.简单了解Bpmn
1.1Task任务:
用户任务(userTask)
系统任务(serviceTask )
1.2Event事件:
定时器事件(timerEventDefinition)
1.3Gateway网关:
排他网关(exclusive gateway)
2.目标:实现以下简化版的请假流程
请假流程图(简单版)
步骤1:定义相应的BPMN文件

步骤2:配置flowable.cfg.xml

步骤3:将流程定义添加到Repository仓储中

步骤4:Runtime开始一个流程实例

五、Flowable的用户权限体系
在接入Flowable的用户权限体系的时候,有四种方式:

1.使用Flowable提供的默认IdmEngine进行用户体系管理,该引擎包含了用户、组的概念。

2.集成LDAP,实现轻量级用户权限管理。通过IdentityService进行认证,用于由IdentityService处理所有认证业务的场景。

3.实现IdmIdentityService接口,自定义实现用户、组的查询

4.接入自定义的权限体系

用户id => 获取到租户id、角色id集、部门id集

4.1单用户(assignee=“用户id”)、多用户(candidateUsers=“用户id1,用户id2”)

4.2单角色、多角色(candidateGroups=“:角色id1,:角色id2”)

4.3单部门、多部门(candidateGroups=“部门id1:,部门id2:”)

4.4角色或部门(candidateGroups=“角色id1:, :部门id1”)

4.5角色且部门

六、数据库介绍
ACT_RE_ *:RE代表repository。具有此前缀的表包含静态信息,例如流程定义和流程资源(图像,规则等)。

ACT_RU_ *:RU代表runtime。这些是包含运行时的流程实例,用户任务,变量,作业等的运行时数据的运行时表。Flowable仅在流程实例执行期间存储运行时数据,并在流程实例结束时删除记录。这使运行时表保持小而快。

ACT_HI_ *:HI代表history。这些是包含历史数据的表,例如过去的流程实例,变量,任务等。

ACT_GE_ *:general数据,用于各种用例。

ACT_ID_*:Idm的用户、组

=====================================================

ACT_HI_ACTINST 流程实例的历史运行节点表

ACT_HI_TASKINST 流程实例的历史任务表

ACT_HI_VARINST 流程实例的历史运行节点的变量表

ACT_HI_PROCINST 流程历史部署记录

ACT_HI_IDENTITYLINK 对应ACT_RU_IDENTITYLINK的历史记录表

ACT_RE_DEPLOYMENT 流程部署

ACT_RE_PROCDEF 流程定义表

ACT_RU_EXECUTION 流程实例执行过程的所有节点记录

ACT_RU_IDENTITYLINK 流程实例运行过程中,各节点对应的用户

ACT_RU_TASK 流程实例运行时的任务表

ACT_RU_VARIABLE 流程实例运行时节点的变量表

ACT_GE_BYTEARRAY 资源文件表

本文摘自:Flowable介绍

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

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

相关文章

【IC设计】Windows下基于IDEA的Chisel环境安装教程(图文并茂)

Chisel环境安装教程 第一步 安装jdk,配置环境变量第二步 安装sbt,不用配置环境变量第三步 安装idea社区版第四步 离线安装scala的idea插件第五步 配置sbt换源1.切换目录2.创建repositories文件3.配置sbtconfig.txt文件 第六步 使用chisel-tutorial工程运…

什么是边缘计算?

今天,我们探讨一个充满机遇和挑战的领域——边缘计算。 首先,让我们一起探讨一下什么是边缘计算。简单来说,边缘计算是指在网络的边缘,即数据生成的位置进行计算的一种模式。这与传统的云计算模式形成了鲜明对比,在云…

CISCRISC? CPU架构有哪些? x86 ARM?

编者按:鉴于笔者水平有限,文中难免有不当之处,还请各位读者海涵。 是为序 我猜,常年混迹CSDN的同学应该不会没听说过CPU吧? 但你真的了解CPU吗?那笔者问你CPU有哪些架构呢? 如果你对你的答案…

Equivariant GNN Networks(等变图神经网络)

3D CNN的缺陷: 旋转不等变、很难扩展到大的蛋白质口袋 The model was constructed based on the 3D CNN model which is not equivariant to rotation and hard to scale to large protein pockets. Vector Feature-based Equivariant Networks 基于向量特征的等…

FCIS 2023:洞悉网络安全新态势,引领创新防护未来

随着网络技术的飞速发展,网络安全问题日益凸显,成为全球共同关注的焦点。在这样的背景下,FCIS 2023网络安全创新大会应运而生,旨在汇聚业界精英,共同探讨网络安全领域的最新动态、创新技术和解决方案。 本文将从大会的…

C++的多态

C++中的多态(Polymorphism)是面向对象编程的三大特性之一,另外两个是封装(Encapsulation)和继承(Inheritance)。多态允许我们使用一个接口来处理不同的数据类型,这些数据类型可能来自基类和派生类。 多态可以分为两种:编译时多态和运行时多态。 编译时多态(早期绑定…

【BBF系列协议】TR101 基于以太网的宽带聚合的迁移

TR-101到基于以太网的宽带聚合的迁移 执行摘要 本技术报告概述了在基于TR-25和TR-59的架构中,如何将ATM聚合网络迁移到基于以太网的聚合网络。TR-101提供了这种基于以太网的聚合网络的架构/拓扑模型,该聚合网络支持TR-058中的业务需求。在此过程中,它描述了对宽带聚合网络…

JVM 性能调优 - Java 中的四种引用(4)

为什么会有四种引用 我们先回顾下在 Java 虚拟机内存体系(1) 中提到了的垃圾回收算法 1、引用计数法 原理:给对象添加一个引用计数器,每当有一个地方引用它,计数器的值就加一。每当有一个引用失效,计数器的值就减一。当计数器值为零时,这个对象被认为没有其他对象引用,…

如何处理旅游景区游客投诉 AIGC的应用场景之一

ChatGPT: Q : 作为景区管理人员,请关于如何处理旅游景区游客投诉给出一份管理制度 旅游景区游客投诉处理管理制度一、投诉接待1. 接待投诉:接待游客投诉的工作人员必须保持礼貌、耐心,认真倾听游客的投诉内容,并及时记录。2. 登记…

一维前缀和,一维差分,二维前缀和,二维差分模板

一维前缀和: 题目: 题目描述 给定一个长度为n的数组a1,a2,....ana_1, a_2,....a_na1​,a2​,....an​. 接下来有q次查询, 每次查询有两个参数l, r. 对于每个询问, 请输出alal1....ara_la_{l1}....a_ral​al1​....ar​ 输入描述: 第一行包含两个整…

JDK和Spring的SPI机制原理分析

目录 一、JDK 二、Spring框架介绍 三、SPI机制原理 一、JDK JDK是Java Development Kit的缩写,是Java开发工具包的意思。它是用于开发Java应用程序和运行Java程序的软件包。JDK包含了Java编译器(javac)和Java虚拟机(JVM&#…

【快速上手QT】01-QWidgetQMainWindow QT中的窗口

总所周知,QT是一个跨平台的C图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,当然我们用到QT就是要做GUI的,所以我们快速上手QT的第一篇博文就讲QT的界面窗口。 我用的IDE是VS2019,使用QTc…

【NodeJS】005- MongoDB数据库

1.简介 1.1 Mongodb 是什么 MongoDB 是一个基于分布式文件存储的数据库,官方地址 https://www.mongodb.com/ 1.2 数据库是什么 数据库(DataBase)是按照数据结构来组织、存储和管理数据的 应用程序 1.3 数据库的作用 数据库的主要作用就是…

Python实现排序算法

目录 一&#xff1a;快速排序 二&#xff1a;合并排序 三&#xff1a;冒泡排序 四&#xff1a;插入排序 五&#xff1a;选择排序 一&#xff1a;快速排序 def quicksort(arr): if len(arr) < 1: return arr pivot arr[len(arr) // 2] le…

Vu3中使用h函数

Vu3中使用h函数 h函数优缺点h函数介绍使用 h函数优缺点 h函数介绍 格式 h函数接受三个参数 依次是创建的节点,节点属性,节点内容 优点: 跳过了模板编译,性能高 缺点: 学习成本略高 使用 <template><div><div>h函数</div><table border"1…

【 BUUCTFmisc--爱因斯坦】

这题比较简单&#xff0c;but 对于macOS 的一个 bug 是无法右键查看图片的详细备注&#xff0c;这题就是例子&#xff0c;导致隐藏的密码看不见 Windows 可以看到。具体解决办法是用 exiftool 工具 brew install exiftool exiftool -verbose image.jpg 找到 XPComment 栏&am…

搭建自己的私服 maven 仓库

申明&#xff1a;本文章所使用docker-compose配置文件纯属学习运用&#xff0c;非商用如有雷同请联系本人协调处理。 一、配置docker-compose.yml文件 # 指定docker-compose的版本 version: 3 services: nexus: container_name: nexus_container image: sonatype/nex…

智能指针——浅析

智能指针 本人不才&#xff0c;只能将智能指针介绍一下&#xff0c;无法结合线程进行深入探索 介绍及作用 在异常产生进行跳转时&#xff0c;通过栈帧回收进行内存释放&#xff0c;防止内存泄漏 基于RAII思想可以创建出只能指针 RAII(Resource Acquisition Is Initializatio…

能够在线预览的组件库(支持vue2/3)

文档地址:https://501351981.github.io/vue-office/examples/docs/guide/ //docx文档预览组件&#xff08;只支持在线预览 docx格式的文件&#xff09; npm install vue-office/docx//excel文档预览组件 npm install vue-office/excel//pdf文档预览组件 npm install vue-offic…

Nicn的刷题日常之 有序序列判断

目录 1.题目描述 描述 输入描述&#xff1a; 输出描述&#xff1a; 示例1 示例2 示例3 2.解题 1.题目描述 描述 输入一个整数序列&#xff0c;判断是否是有序序列&#xff0c;有序&#xff0c;指序列中的整数从小到大排序或者从大到小排序(相同元素也视为有序)。 数据…