SpringBoot整合Flowable【03】- 通过Flowable-UI体验一个简单流程

简介: 本文介绍了如何使用Flowable 7.0以下版本的flowable-ui进行流程建模、发布和执行。首先,通过解压并启动flowable-ui war包,访问http://localhost:8080/flowable-ui/idm/#/login登录系统。接着,创建并绘制一个简单的绩效流程模型,包含开始节点、任务节点(自评、上级评、隔级评)和结束节点,并为各节点分配处理人。然后,创建应用并发布绩效流程。最后,通过创建a、b、c三个用户分别完成各节点任务,演示了整个流程的执行过程。本文旨在帮助读者理解Flowable的基本操作和流程元素,后续将介绍通过Java代码控制流程的方法。

一、前置准备

对于第一次使用Flowable,我们先采用官方提供的flowable-ui进行模型的绘制,让各位读者可以感受到整个流程的运行变化,从而在后期的编码中不会感到迷惑,这也是我本次选择使用7.0版本以下的flowable的原因(前文提过:官方将7.0以上的版本已经移除flowable-ui)。

1.启动flowable-ui

将下载的压缩包中的flowable-ui的war包解压出来。
1.png
通过java -jar命令启动该应用。
2.png
应用启动成功后,就可以通过:http://localhost:8080/flowable-ui/idm/#/login 进行访问,管理员账号admin、密码test。
3.png

2.创建模型

登录进系统后,点击建模器应用程序菜单进入模型管理界面。
4.png
接着通过创建流程就可以为模型设置基础属性。
5.png
设置完成基础属性后,点击创建就可以进入模型绘制界面,正式开始绘制流程。这里需要提一嘴的是:在实际业务中,模型key我们需要采用UUID生成,需要尽可能保证该key的唯一性。
6.png
绘制界面大致分为以下四个区域,主要说明下“物料区”和“设置区”,“物料区”提供了很多流程图需要的组件,“设置区”则是可以为整个流程或每个节点进行属性设置。
7.png
一个最基础的流程应包含开始节点、任务节点和结束节点,接下来我来绘制一个简单的绩效流程。

3.绘制模型

开始节点会默认创建,我们需要点击这个“人”图标添加任务节点,点击“圆”图标添加结束节点。
8.png
为开始节点和结束节点添加名称,点击具体的节点,在下方的设置区就可以进行相关设置。
9.png
为各任务节点添加节点名称,这个简单的绩效流程我们设立自评、上级评、隔级评三个节点。
10.png
为各任务节点分配处理人,每个用户任务节点都需要有人去处理,比如:在日常的工作中,你要请假就需要向领导申请,领导批假后才可以休假。Flowable在任务节点提供了分配人的选项,让我们可以设置各任务节点的责任人。
11.png
关于这里的分配用户设置,需要给各位读者说明下:身份存储用的是Flowable内置的用户和权限配置,如果我们要用自己业务系统的用户关系就用固定值的方式分配责任人。这里需要提醒下:如果我们要采用自己的用户关系,Flowable是不会进行鉴权的,包括节点引用的表单(Ps:大家这个时候不知道表单是什么没影响,后面的文章中都会讲,先知道有这么个概念。)需要我们在代码层面根据业务自己进行鉴权,也就是说如果我们自己也不校验,任何用户都是可以完成节点任务的。我这里为了方便演示,三个节点分别指派a、b、c三个用户执行。
12.png
如果需要配置流程属性,点击节点外的空白区域就可以。到此,我们这个简单的绩效流程就建好了,保存模型就可以开始部署了。
13.png

二、流程发布

完成了模型的创建,现在就需要我们创建应用,把这个流程发布出来使用。

1.创建应用

在模型管理界面点击应用程序,进行应用的创建与发布。
14.png
创建应用的流程和创建模型差不多,这里就不赘述了,直接看图,再强调一下Flowable里你创建的每个东西如果需要填写key,那么都要保证唯一性,我建议采用业务前缀+UUID的方式生成。这里说一下,绘制模型时的三个任务节点其实也都有id,如果我们不配置,引擎会自动生成,但在实际业务中,建议还是自己结合业务生成。
15.png

2.发布应用

在创建应用成功后,自动跳转到应用编辑界面,在这里为应用关联我们刚刚保存的绩效模型。
16.png
之后就可以保存我们创建的这个应用。
17.png
保存成功之后点击我们创建的这个应用,将这个应用发布,此时,这个流程就可以使用了。
18.png

三、流程演示

应用发布成功后,就可以开始这个流程的体验了。

1.开始流程

回到首页,就可以看到我们刚刚发布的这个绩效流程。
19.png
进入应用界面,通过流程菜单点击开启流程就可以开始执行这个绩效流程。
20.png
在创建流程的时候我们分别采用固定值的方式指派了a、b、c三个节点的处理人,实际上这里如果用代码执行的话,只要节点处理人这个字段有传值都可以完成相应的节点。但flowable-ui这里如果不登陆对应处理人账号的话,对应节点其他账号是看不到的,这里方便演示还是创建三个处理人账号。

2.创建新用户

管理员账号通过身份管理应用程序进行新用户的添加。
21.png
简单地创建a、b、c三个用户,分别对应我们前面各节点的配置。
22.png
并在权限控制页为三个用户按需配置一下权限,否则用户登录进来什么也看不到。
23.png

3.执行任务

首先a用户登录系统,进入绩效应用就可以看到自己有个待完成的任务,点击完成后该流程进入下一个节点。
24.png
在流程页可以看到当前流程的执行情况,可以看到该流程已经执行到上级评节点。
25.png
接着如法炮制,分别登录b、c用户,完成上级评、隔级评节点任务,在完成隔级评后,该流程执行完成,此时流程界面就看不到该流程了。
26.png
在已完成的流程里,可以看到该流程已经执行完成了。
27.png

四、小结

这篇文章主要是带领大家使用官方自带的demo体验了一下流程的创建、部署、启用等过程,让大家对流程有了一个初步的认识,比如节点是什么、一个流程应包含哪些元素、一个节点又包含什么属性等等。但我们在业务开发中肯定不能靠Flowable提供的这个demo进行流程控制,所以在下篇文章中将带领各位读者使用Java代码的方式来控制流程。

相关文章
|
3天前
|
前端开发 Java API
SpringBoot整合Flowable【06】- 查询历史数据
本文介绍了Flowable工作流引擎中历史数据的查询与管理。首先回顾了流程变量的应用场景及其局限性,引出表单在灵活定制流程中的重要性。接着详细讲解了如何通过Flowable的历史服务API查询用户的历史绩效数据,包括启动流程、执行任务和查询历史记录的具体步骤,并展示了如何将查询结果封装为更易理解的对象返回。最后总结了Flowable提供的丰富API及其灵活性,为后续学习驳回功能做了铺垫。
10 0
SpringBoot整合Flowable【06】- 查询历史数据
|
3天前
|
Java 开发者
SpringBoot整合Flowable【01】- 初识工作流引擎
本文介绍了工作流的基本概念,重点讲解了BPM(业务流程管理)和BPMN 2.0(业务流程建模符号)的关系,以及工作流引擎的发展。BPM是一种管理思想,BPMN是实现该思想的工具。文中还介绍了Flowable、Activiti等主流工作流引擎,并详细说明了流程设计的五种方式,包括FlowableUI、BPMN.js自定义、第三方设计器和代码实现等。最后通过一个请假流程图解释了流程图的组成元素,如事件、连线、任务和网关,帮助读者更好地理解工作流的设计与实现。
22 3
|
3天前
|
存储 Java API
SpringBoot整合Flowable【02】- 整合初体验
本文介绍了如何基于Flowable 6.8.1版本搭建工作流项目。首先,根据JDK和Spring Boot版本选择合适的Flowable版本(7.0以下)。接着,通过创建Spring Boot项目并配置依赖,包括Flowable核心依赖、数据库连接等。然后,建立数据库并配置数据源,确保Flowable能自动生成所需的表结构。最后,启动项目测试,确认Flowable成功创建了79张表。文中还简要介绍了这些表的分类和常用表的作用,帮助初学者理解Flowable的工作原理。
40 0
SpringBoot整合Flowable【02】- 整合初体验
|
3天前
|
前端开发 Java API
SpringBoot整合Flowable【07】- 驳回节点任务
本文通过绩效流程的业务场景,详细介绍了如何在Flowable工作流引擎中实现任务驳回功能。具体步骤包括:获取目标任务节点和当前任务节点信息,进行必要的判空和逻辑校验,调用API完成节点回退,并清理相关脏数据(如历史任务和变量)。最后通过测试验证了驳回功能的正确性,确保流程能够成功回退到指定节点并清除中间产生的冗余数据。此功能在实际业务中非常有用,能够满足上级驳回自评等需求。
17 0
|
3天前
|
存储 前端开发 Java
SpringBoot整合Flowable【05】- 使用流程变量传递业务数据
本文介绍了如何使用Flowable的流程变量来管理绩效流程中的自定义数据。首先回顾了之前的简单绩效流程,指出现有流程缺乏分数输入和保存步骤。接着详细解释了流程变量的定义、分类(运行时变量和历史变量)及类型。通过具体代码示例展示了如何在绩效流程中插入全局和局部流程变量,实现各节点打分并维护分数的功能。最后总结了流程变量的使用场景及其在实际业务中的灵活性,并承诺将持续更新Flowable系列文章,帮助读者更好地理解和应用Flowable。 简要来说,本文通过实例讲解了如何利用Flowable的流程变量功能优化绩效评估流程,确保每个环节都能记录和更新分数,同时提供了全局和局部变量的对比和使用方法。
24 0
|
3天前
|
XML 前端开发 Java
SpringBoot整合Flowable【04】- 通过代码控制流程流转
本文介绍了如何使用Flowable的Java API控制流程流转,基于前文构建的绩效流程模型。首先,通过Flowable-UI导出模型文件并部署到Spring Boot项目中。接着,详细讲解了如何通过代码部署、启动和审批流程,涉及`RepositoryService`、`RuntimeService`和`TaskService`等核心服务类的使用。最后,通过实际操作演示了流程从部署到完成的全过程,并简要说明了相关数据库表的变化。本文帮助读者初步掌握Flowable在实际业务中的应用,后续将深入探讨更多高级功能。
19 0
|
2月前
|
XML Java 数据库连接
SpringBoot集成Flowable:打造强大的工作流管理系统
在企业级应用开发中,工作流管理是一个核心组件,它能够帮助我们定义、执行和管理业务流程。Flowable是一个开源的工作流和业务流程管理(BPM)平台,它提供了强大的工作流引擎和建模工具。结合SpringBoot,我们可以快速构建一个高效、灵活的工作流管理系统。本文将探讨如何将Flowable集成到SpringBoot应用中,并展示其强大的功能。
483 1
|
2月前
|
XML 存储 Java
SpringBoot集成Flowable:构建强大的工作流引擎
在企业级应用开发中,工作流管理是核心功能之一。Flowable是一个开源的工作流引擎,它提供了BPMN 2.0规范的实现,并且与SpringBoot框架完美集成。本文将探讨如何使用SpringBoot和Flowable构建一个强大的工作流引擎,并分享一些实践技巧。
281 0
|
3月前
|
NoSQL Java Redis
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
这篇文章介绍了如何使用Spring Boot整合Apache Shiro框架进行后端开发,包括认证和授权流程,并使用Redis存储Token以及MD5加密用户密码。
58 0
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
|
3月前
|
JSON 前端开发 JavaScript
优雅!Spring Boot 3.3 实现职责链模式,轻松应对电商订单流程
本文介绍如何使用 Spring Boot 3.3 实现职责链模式,优化电商订单处理流程。通过将订单处理的各个环节(如库存校验、优惠券核验、支付处理等)封装为独立的处理器,并通过职责链将这些处理器串联起来,实现了代码的解耦和灵活扩展。具体实现包括订单请求类 `OrderRequest`、抽象处理器类 `OrderHandler`、具体处理器实现(如 `OrderValidationHandler`、`VerifyCouponHandler` 等)、以及初始化职责链的配置类 `OrderChainConfig`。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等