title: Flowable-UI
date: 2023-7-23 12:19:20
tags:
- Flowable
Flowable-UI
安装
手把手教大家画了这样一个流程图,虽然说它不是特别好用,但是也不是不能用,也能用。好了,那么接下来的话,我们这个就先告一个段落,接下来我要跟大家说的第二个东西的话,就是另外一个流程绘制工具 Flowable-UI 这个话算是一个比较重要的一个东西,我觉得就是其实不管你以后开发用不用,但是这个东西你都得知道。这个,那么这个的话是什么呢?这个 Flowable 的官方推荐的一个什么流程引擎绘制工具,官方推荐的一个流程引擎辅助工具,可以这么来说叫做流程引擎辅助工具,就是它可以帮助我们更好的去开发这个流程引擎。
官方提供的是一个 war 包,这个虽然是一个 war 包,但是除了将之扔到 Tomcat 中去运行之外,也可以直接执行 java -jar xxx.war 这个命令去启动这个 war 包。
war 下载地址:https://github.com/flowable/flowable-engine/releases/download/flowable-6.7.2/flowable-6.7.2.zip (下载的比较慢有魔法还好)这个 zip 包下载之后,里边有一个 wars 文件夹,里边包含了 flowable-ui 的 war 包。然后,就像启动 Spring Boot 一样,直接启动这个 war 包即可:
启动命令:
java -jar flowable-ui.war
启动之后,默认的端口号是 8080。
启动之后,浏览器输入 http://localhost:8080/flowable-ui/idm/#/login 如果看到如下页面,表示启动成功:
另外,我们也可以使用 docker 来安装,命令如下:
docker run -p 8086:8080 -d flowable/flowable-ui
登录
默认的登录用户名是 admin,默认的登录密码是 test。
看到如下页面,表示登录成功。
功能模块
flowable-ui 是完整的 flowable 体验 DEMO,而不仅仅只是一个流程图的绘制工具。所以它里边不仅可以画流程图,还可以运行流程图,既然能够运行流程图,那么就需要身份管理。
- 任务应用程序:我们绘制好的流程图,可以直接将之发布到一个应用中,然后在这里进行部署,这个模块其实就是这些部署的应用程序。
- 建模器应用程序:这个专门用来画流程图的。
- 管理员应用程序:这个主要用来管理应用,一些具有管理员权限的用户,可以通过这个功能模块去查询 BPMN、DMN、FORM 等等信息。
- 身份管理应用程序:这个功能模块,为所有的 flowable-ui 应用程序提供一个单点登录功能,并且还可以为这些用户设置用户组、用户权限等。
身份管理应用程序
创建用户流程:
填入用户的基本信息,点击保存按钮,就可以完成用户的创建了。
新建的用户不属于任何用户组,所以这个新建的用户是没有权限的,我们现在就可以使用这个新建的用户登录,但是登录成功后,看不到任何功能模块。
用户创建成功之后,可以点击上面的用户组功能,创建用户组:
将来我们在画流程图的时候,可以设置某一个 UserTask 由某一个用户组来处理,这个用户组中的所有用户,将来都可以处理这个 UserTask。
组创建成功之后,可以为这个组添加用户:
最后,我们可以在权限控制中,为用户或者用户组添加相应的权限。
- 访问 idm 应用:访问功能身份管理应用程序。
- 访问 admin 应用:访问功能管理员应用程序。
- 访问 modeler 应用:访问功能建模器应用程序。
- 访问 workflow 应用:访问功能任务应用程序。
- 访问 REST API:访问 REST API 接口的。
管理员应用程序
建模器应用程序
核心功能,主要就是画流程图。
绘制一个报销流程图,大致流程:
- 启动一个流程。
- 执行一个用户任务,这个用户任务交给流程的启动人去执行。这个用户任务中,填入报销材料,例如用户名、金额、用途。
- 系统自动判断一下/或者人工判断报销金额是否大于 1000。
- 如果报销金额小于等于 1000,那么这个报销任务交给 组长审批:
a. 组长审批通过,则流程结束。
b. 组长审批不通过,则流程回到第 2 步,用户重新去填写报销资料。 - 如果报销金额大于 1000,那么这个报销任务先交给经理审批:
a. 经理审批通过,则交给 CEO 审批:
i. CEO 审批通过,则流程结束。
ii. CEO 审批不通过,则流程回到步骤 2 中。
b. 经理审批不通过,则流程回到步骤 2 中。
绘制流程
首先创建一个流程:
!> 注意,模型的 key 在当前应用中必须是唯一的,将来我们通过 Java 代码去操作这个模型的时候,就是通过模型 key 去识别这个模型。
绘制出来的流程图:
在上面的流程图绘制中,有几个东西我要说明一下:
- 如何添加用户任务:
- 用户任务与其它任务之间如何连线(就是拒绝流程的线条如何绘制):
- 线条添加弯曲点
!> 注意,在一个流程图中,开始节点必须有且只有一个,结束节点可以有多个。
!> 画完流程图之后官方提供了一个验证模型功能,可以验证一下我们画的流程图是否符合规范。