dram.me

Flowable简单部署

补遗

  1. tomcat也可以通过bin目录下的startup.sh启动,shutdown.sh关闭,这种方式支持后台执行。—— 2017-11-11

  2. 使用这个脚本init-database命令可以快速初始化Flowable所需数据库。—— 2017-11-16

  3. 为增加安全性,在初始化PostgreSQL调用pg_ctl init命令时,最好追加-o "--auth=password --pwprompt"参数以禁用本地用户未认证登录。—— 2017-11-17

Flowable作为BPM引擎,设计的初衷主要是考虑整合到其他系统中,所以在文档中对如何部署独立运行系统着墨不多,而且比较零散。这里总结归纳下,主要包括以下几个方面。

安装tomcat

除了通过各发行版包管理系统安装tomcat之外,在Flowable文档第二章中提到另一种比较便捷的安装方式,从官网下载的发布包解压后可直接通过命令bin/catalina.sh run运行服务,这种方式的好处是,可以以非root用户运行tomcat。

部署Flowable

在tomcat的webapps目录部署以下war文件(在Flowable发布包的wars目录):flowable-admin,flowable-idm,flowable-modeler和flowable-task。对此的说明放在了Flowable文档较靠后的部分,详见第十三章

调整Flowable配置

完成以上两点,应该可以通过浏览器访问Flowable应用了。但如果是非localhost本地访问,在IDM服务认证跳转时会遇到问题,这里需要调整各服务配置文件中的idm.app.url属性,具体在flowable-ui-app.properties文件中。例如在tomcat目录运行以下命令:

find . -name flowable-ui-app.properties -exec sed -i 's|idm.app.url=http://localhost|idm.app.url=http://IP-ADDRESS|' {} \;

对接数据库

Flowable默认使用H2内存数据库,无法持久化,如果长期使用,需要对接数据库,具体说明在第三章第十三章,这里以PostgreSQL为例。

数据库的快速搭建参考这里,其中listen_addresses需要调整为localhost。数据库启动后,通过createdb -h localhost创建flowable、flowableadmin、flowableidm、flowablemodeler四个数据库。使用createuser -h localhost -P创建flowable用户,并通过GRANT ALL ON DATABASE ...赋权。

完成数据库配置后,还需要调整Flowable的配置,包括:

  1. 安装JDBC的PostgreSQL驱动。可以在这里下载,再将jar文件存放到tomcat中的lib目录;

  2. 调整各应用的datasource.url配置(在flowable-ui-app.properties文件中,其中已有预置样板)。