版本环境:Springboot集成Flowable-UI 6.7.2
上文讲到了通过流程定义BPMN文件即可让流程流转起来,并执行来几个核心的功能测试。但是那个看起来复杂的BPMN.xml文件的内容手敲起来有点困难,那么实际真实的场景是什么,或者是怎么完成流程图BPMN文件的绘制呢?
绝大多数情况,比如公司流程引擎系统,前端会用基于绘制BPM开源框架进行二次封装,在结合流程引擎后台服务组成一套公司内的流程引擎系统。
而Flowable官方给我们提供了一套可视化操作的web系统,方便文明学习和深入了解Flowable项目。
Flowable UI是官方提供的几个Web应用,用于演示及介绍Flowable项目提供的功能。
所有其他的应用都需要Flowable IDM提供认证。每个应用的WAR文件可以部署在相同的servlet容器(如Apache Tomcat)中,也可以部署在不同的容器中。由于每个应用使用相同的cookie进行认证,因此应用需要运行在相同的域名下。
1,下载并安装最新稳定版本的Apache Tomcat。
Tomcat官网:https://tomcat.apache.org
本文下载的是Tomcat9.
2,下载最新稳定版本的Flowable 6。
Flowable官网:https://www.flowable.com/open-source
Flowable的githup地址:https://github.com/flowable/flowable-engine/releases
其实,从官网进去下载也是跳转到githup。
本文下载的是flowable-6.7.2,即下载flowable-6.7.2.zip
3,将Flowable发行包中,wars文件夹下的flowable-ui.war、flowable-rest.war文件,复制到Tomcat的webapps文件夹下。(Flowable不同版本war包可能不同)
4,运行Flowable-UI
方法一:运行Tomcat下的bin/startup.sh(在Mac OS或Linux下),或bin/startup.bat(在Windows下)脚本,启动Tomcat服务器。
cd /Users/xiong/Downloads/install/apache-tomcat-9.0.69
cd bin
sudo ./startup.sh
然后输入密码,看到提示Tomcat started.
则tomcat启动成功,
方法二:直接使用java -jar flowable-ui.war命令启动即可
cd /Users/xiong/Downloads/install/flowable-6.7.2/wars
java -jar flowable-ui.war
然后出现类似Started FlowableUiApplication in 71.135 seconds (JVM running for 72.303)
的字样,则flowable启动成功。
5,打开web浏览器,访问http://127.0.0.1:8080/flowable-ui/#/
,账号密码admin/test
。
ps:以上路径注意是用你自己Flowable的安装包路径。
鉴于方案一步骤繁多,并且访问githup并下载Flowable包,有时候速度相当慢,甚至访问不了页面,这时候快速安装的FLowable UI仓库给你准备好了。
步骤:
是不是很简单方便,开箱即用,运行即可访问。
这样所有的Flowable UI应用都将默认运行在H2内存数据库下,并且可以在浏览器中看到如下登录界面:
登录成功后,首页便有四个模块的内容,分别是Flowable-IDM,Flowable-Modeler,Flowable-Task,Flowable-Admin,对应中文名称就是身份管理应用程序,建模器应用程序,任务应用程序,管理员应用程序。
1,看网上很多教程博客,Flowable UI是有四个web应用,而此文wars只有两个war包,什么原因?
答:原来Flowable UI是四个独立的服务和页面,使用时需要浏览器来回切换页面,很费劲,好在,Flowable团队在Flowable6.6之后把FlowableUI中提供的四个功能合并到了一起。
2,本地没有安装H2数据库环境,为什么Flowable UI服务能够跑起来,并保存数据?
答:
H2数据库,内嵌模式,就是把在应用中引入H2,启动应用的同时,会把H2数据服务也启动,应用中既包含了H2数据库的服务端,同时应用又作为客户端来连接H2数据库。嵌入模式就是数据库文件存在于应用当前的硬盘内,进行了持久化,当应用进程关闭时数据库与数据表不会消失。
项目内嵌H2数据库,这样客户端只需要启动项目,而不需要本地安装数据库,就可以使用项目并且保存数据。这就是Flowable UI默认使用H2数据库的原因之一。
H2是一个开源的嵌入式数据库引擎,采用java语言编写,不受平台的限制,非常小巧和方便,因此采用H2作为开发期、测试期和演示的数据库非常方便,不太适合作为大规模生产数据库。
关于Flowable UI应用更详细的内容,请移步到下一篇文章,谢谢。