首页 > 其他分享 >Flowable流程引擎学习实践

Flowable流程引擎学习实践

时间:2024-07-18 17:55:34浏览次数:20  
标签:存储 Flowable 流程 信息 flowable 引擎 act 节点

实操版本V6.7.2

一、Flowable 是什么

Flowable 是一个使用 Java 编写的轻量级业务流程引擎,使用 Apache V2 license 协议开源。2016 年 10 月,Activiti 工作流引擎的主要开发者离开 Alfresco 公司并在 Activiti 分支基础上开启了 Flowable 开源项目。基于 Activiti v6 beta4 发布的第一个 Flowable release 版本为6.0。以 JAR 形式发布使得 Flowable 可以轻易加入任何Java环境:Java SE、Tomcat、Jetty 或 Spring 之类的 servlet 容器;JBoss 或 WebSphere 之类的 Java EE 服务器等等。 另外,也可以使用 Flowable REST API 进行 HTTP 调用。

二、工作流引擎使用场景

工作流在企业管理系统中是高频使用的功能,一个最常见的例子是请假加班申请与审批的过程。事实上,工作流引擎能支持的业务场景远远不止单据审批,几乎所有涉及到业务流转、多人按流程完成工作的场景背后都可以通过工作流引擎作为支撑。基于工作流引擎,可以搭建客户关系管理系统(CRM)、运输管理系统(TMS)、仓储管理系统(WMS)、财务费用系统等多种复杂业务系统。对于达到一定规模的企业,良好的 BPM(业务流程管理,Business Process Management)体系可以支持创建公司内横跨不同部门的复杂业务流程,既提高工作效率、又可推动企业规范化发展。

三、下载flowable-6.7.2压缩包

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

二、解压

获得flowable-ui.war,并将此war包拷贝到tomcat下运行

三、启动Tomcat

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

用户名:admin 密码:test

四、创建流程

五、创建应用程序

六、导出流程定义

把导出的文件放当项目的resources目录下

使用流程发起人分配(踩坑)

场景

希望用户任务直接分配给流程发起人

用法:在流程开始事件上绑定发起人变量

<startEvent flowable:initiator="INITIATOR" />

启动流程时通过代码设置用户ID,开始事件会自动将用户ID填入变量INITIATOR

try {
  identityService.setAuthenticatedUserId("zhangsan");
 // Authentication.setAuthenticatedUserId("wangwu");
  runtimeService.startProcessInstanceByKey("someProcessKey");
} finally {
  identityService.setAuthenticatedUserId(null);
// Authentication.setAuthenticatedUserId(null);
}

  在用户任务上分配发起人变量

<userTask flowable:assignee="${INITIATOR}" />

如果使用flowable ui进行流程建模,并在用户任务的分配用户属性点选分配给流程发起人

可以看到生成的xml文件中分配用户变量形如

<userTask flowable:assignee="$INITIATOR" />

如果将此流程部署到独立的flowable引擎将无法正确分配发起人用户到用户任务(原因是此变量需要IDM模块支持) 直接使用固定值设置 ${INITIATOR} 即可解决

注意避坑:${myAssignee.getassignee}  myAssignee的首字母必须为小写

create:创建时触发

complete:审批完毕后触发

七、表结构

1、通用数据表(2个)

act_ge_bytearray:二进制数据表,如流程定义、流程模板、流程图的字节流文件;

act_ge_property:属性数据表(不常用);

2、历史表(8个,HistoryService接口操作的表)

act_hi_actinst:历史节点表,存放流程实例运转的各个节点信息(包含开始、结束等非任务节点);

act_hi_attachment:历史附件表,存放历史节点上传的附件信息(不常用);

act_hi_comment:历史意见表;

act_hi_detail:历史详情表,存储节点运转的一些信息(不常用);

act_hi_identitylink:历史流程人员表,存储流程各节点候选、办理人员信息,常用于查询某人或部门的已办任务;

act_hi_procinst:历史流程实例表,存储流程实例历史数据(包含正在运行的流程实例);

act_hi_taskinst:历史流程任务表,存储历史任务节点;

act_hi_varinst:流程历史变量表,存储流程历史节点的变量信息;

3、用户相关表(4个,IdentityService接口操作的表)

act_id_group:用户组信息表,对应节点选定候选组信息;

act_id_info:用户扩展信息表,存储用户扩展信息;

act_id_membership:用户与用户组关系表;

act_id_user:用户信息表,对应节点选定办理人或候选人信息;

4、流程定义、流程模板相关表(3个,RepositoryService接口操作的表)

act_re_deployment:部属信息表,存储流程定义、模板部署信息;

act_re_procdef:流程定义信息表,存储流程定义相关描述信息,但其真正内容存储在act_ge_bytearray表中,以字节形式存储;

act_re_model:流程模板信息表,存储流程模板相关描述信息,但其真正内容存储在act_ge_bytearray表中,以字节形式存储;

5、流程运行时表(6个,RuntimeService接口操作的表)

act_ru_task:运行时流程任务节点表,存储运行中流程的任务节点信息,重要,常用于查询人员或部门的待办任务时使用;

act_ru_event_subscr:监听信息表,不常用;

act_ru_execution:运行时流程执行实例表,记录运行中流程运行的各个分支信息(当没有子流程时,其数据与act_ru_task表数据是一一对应的);

act_ru_identitylink:运行时流程人员表,重要,常用于查询人员或部门的待办任务时使用;

act_ru_job:运行时定时任务数据表,存储流程的定时任务信息;

act_ru_variable:运行时流程变量数据表,存储运行中的流程各节点的变量信息

 参考资料:

官网地址:https://www.flowable.org/

github地址:https://github.com/flowable

Flowable 6.4.1 官方文档  https://www.flowable.org/documentation.html

https://tkjohn.github.io/flowable-userguide/

https://github.com/flowable/flowable-engine/releases

flowable 流程引擎总结-CSDN博客

标签:存储,Flowable,流程,信息,flowable,引擎,act,节点
From: https://blog.csdn.net/zyf1203/article/details/140475735

相关文章

  • GICV3中断控制器调用流程
    GICV3中断控制器初始化调用链/kernel/irq/handle.c:#ifdefCONFIG_GENERIC_IRQ_MULTI_HANDLERint__initset_handle_irq(void(*handle_irq)(structpt_regs*)){if(handle_arch_irq)return-EBUSY;handle_arch_irq=handle_irq;return0;}#en......
  • 大模型网信办备案全网最详细说明【附流程+附件】
    本文共分为以下几个章节一、大模型算法备案的强制性二、生成式人工智能(大语言模型)安全评估要点三、大模型备案必备材料+重点说明四、大模型备案填报流程五、大模型备案时间成本对比六、备案建议附录、过程性材料一、大模型算法备案的强制性1、强制要求备案(1)《办法》第六条......
  • 线程池的执行流程
    线程池的执行流程是一个系统且有序的过程,它主要涉及到任务的提交、线程的分配、任务的执行以及线程的回收等多个环节。以下是对线程池执行流程的详细阐述:一、任务提交提交任务:当一个新的线程任务被提交到线程池时,线程池会首先尝试在线程池中分配一个空闲线程来执行这个任务。......
  • 阿里云网站备案流程
    域名icp备案按步骤依次进行 公安联网备案申请地址:https://beian.mps.gov.cn填写网站信息需要域名证书阿里云注册信息详见文档https://help.aliyun.com/zh/icp-filing/basic-icp-service/user-guide/the-public-security-network-for-the-record-information-fill-in-t......
  • 【科研绘图】【多因子分组箱线图】:附Origin详细画图流程
    目录1、理解箱线图2、画图流程1、理解箱线图(1)什么是箱线图箱线图,又称箱形图、盒须图或盒式图,用于体现数据分散情况的统计图。在视觉上辅助读者直观地看到每个数据中心位置、散布范围以及异常值等信息。(2)箱线图的组成箱体:下图方框形状的位置即为箱体,箱体下侧边界......
  • 中国定制家具市场:个性化浪潮下的新增长引擎
    一、行业简述(一)行业概念定制家具是指根据消费者个人或家庭的具体需求,结合其居住空间的特点、风格偏好、功能需求等因素,量身定制的家具产品。定制家具不仅满足消费者对家具个性化、差异化的需求,还能有效提升居住空间的舒适度和美观度。(二)行业特点   个性化:定制家具的最......
  • 内存、存储中(计算机、MCU)的引导流程、存储器
    内存、存储中(计算机、MCU)的引导流程、存储器一、内存栈区(stack):存放非静态局部变量堆区(heap):存放malloc()、calloc()、realloc()、free()等函数动态分配的数据 ——malloc()-C语言标准库中的函数全局静态区:存放静态局部变量、全局变量代码区:存放程序代码栈......
  • 从头理清uboot(2)-启动流程分析
    从头理清uboot(2)-启动流程分析目录从头理清uboot(2)-启动流程分析1.总体流程图2.逐步分析2.1上电后执行的第一条指令2.2初始化中断向量表2.3初始化工作模式&初始化中断向量表。2.4cpu_init_cp15&cpu_init_crit2.4.1cpu_init_cp152.4.1cpu_init_crit2.5进入_main函数2.5......
  • QQ盗号木马动静态分析流程
    小小的记录一下~~分析对象动态分析–测试电脑环境测试电脑运行环境:Win10_64位机木马分析工具:火绒剑5.0.74,dnSpy木马动态分析运行时提示加载失败,该文件未释放任何文件,且在注册表,计划任务,服务项,用户组内未发现恶意内容存在。木马静态分析将木马拖入DIE中进行检查,发现......
  • OpenHarmony 播放器播放本地文件的管道流程图
    一、管道流程图GStreamer可以输出dot文件,这些dot文件详细描述了管道的拓扑结构以及插件的连接和协商的能力集等。下面是OpenHarmony标准系统基于gstreamer引擎的AVPlayer播放器播放本地mp4文件时从暂停态切换到运行态生成的管道流程图。注:因图片过长,只截取了部分重要插......