接上文,对flowable的基础概念进行了介绍,本文开始,安装部署flowable-ui的官方流程设计器,实现流程图的绘制,并将绘制的流程图,保存到自己的数据库中。
一、安装Flowable-UI
本文介绍的flowable的版本为6.7.2的版本,安装官方的flowable-ui需要下载对应的源码,下载地址:
Releases · flowable/flowable-engine
A compact and highly efficient workflow and Business Process Management (BPM) platform for developers, system admins and business users. - flowable/flowable-engine
GitHub
这里提供6.7.2的版本:
链接: https://pan.baidu.com/s/18cFN5fbhdKSp6UX_qKJPjA 提取码: yrfd
下载之后,在wars目录下找到flowable-ui.war和flowable-rest.war,需要将这两个war部署到tomcat中,tomcat下载地址:Apache Tomcat 8 (8.5.100) - Documentation Index
这里建议下载tomcat8的版本,旧版本可能出现不兼容报错等信息,未避免各种不必要的出错,因此下载tomcat8的版本,下载后只需要解压,注意:不要解压到带有中文的目录下。
然后把flowable-ui.war和flowable-rest.war两个包,拖到tomcat的webapp目录下即可:
使用命令启动tomcat,然后访问地址:http://localhost:8080/flowable-ui , 这个时候就会出现对应的登陆页面。
登录成功的效果
如果启动中出现乱码修改Tomcat的conf目录下的 logging.properties 文件中的编码
如果一闪而过则检查jdk的环境变量配置。
1. 用户管理
流程审批是伴随着用户
的审批处理的。所以肯定需要用户的参与。我们先通过身份管理应用程序
来创建两个测试的用户。
点击进入后可以看到在FlowableUI中针对用户这块是从三个维度来管理的
- 用户
- 组
- 权限控制
先就创建普通的用户。并分配相关的权限
创建了zhangsan
并设置了密码为123
.然后分配相关的权限
然后我们就可以通过zhangsan
来登录,然后就可以看到相关的功能权限。
同样的操作我们再创建下lisi
的账号。
2. 流程定义
有了相关的用户信息。就可以来创建流程图。这块需要通过建模应用程序
来实现。
点击后进入,看到如下的界面:
第一次进入提示还没有创建流程模型,可以点击右上角的创建流程
按钮开始创建第一个流程案例。
然后会进入到具体的流程图的绘制界面。
创建第一个请假流程图
然后我们需要分配相关节点的审批人
- 人事审批-- zhangsan 审批
- 经理审批 -- lisi 审批
分配操作
选择分配给单个用户
并搜索到zhangsan
.
相同的操作完成经理审批
节点的配置,然后就可以保存退出了
到此流程定义完成~
4. 部署流程
绘制好的流程图,我们只需要一键导出即可
下载下来后拷贝到项目的resource目录下即可
然后就是正常的操作流程了
当然后期与项目结合之后,通常是是直接在ui中绘制完成流程图之后,将流程图的数据保存到数据库中,然后直接从数据库中,启动流程。
5. 持久化存储flowable-ui数据
上述的体验流程都是基于flowable-ui自带的h2数据库,在实际的使用中,往往需要将其绘制的数据,保存到自己的数据库中,flowable-ui支持市面上的大多数数据库,在本文是基于mysql5.7配置的,将在flowable-ui中绘制的数据,存储到MySQL数据库中,这样在项目中部署流程和启动流程都可以直接从数据库中获取数据进行。
一、修改war包配置
进入webapp中,找到flowable-ui目录,进入目录下的classes目录下,修改 flowable-default.properties
在配置文件中找到如下位置,并修改为对应的数据库:
注意,这里mysql8和mysql5的driver名称不一样。
二、引入数据库驱动
flowable-ui是不带有数据库的驱动jar的,因此需要手动引入数据库的驱动jar,下载对应版本的mysqldriver,这通常在maven仓库中,获取对应jar包,将其拖到flowable-ui的lib目录下:
三、重启tomcat
可以看到在配置的数据库中自动创建了对应的数据库表结构:
至此,flowable基础功能体验就结束了,下面就可以使用flowable-ui来设计流程图以及实现流程业务了。
二、结语
上述安装搭建了flowable-ui的简单流程设计器,其实还有很多,这里不错其他的介绍,基本项目中都是使用上述的官方流程设计器。
快链:flowable-流程图标与流程演示 https://blog.csdn.net/m0_51607909/article/details/140398758