Flowable-2.BPMN
Flowable框架学习笔记-02-BPMN
SpringBoot-Flowable流程图搭建
1.flowable项目启动说明
a.Tomcat版本启动WAR包
【1】从官网下载 flowable-6.5.0 : https://flowable.com/open-source/downloads/
tomcat-flowable(Flowable 6.4.0版本之后才有)
flowable-6.5.0\wars:下载完后解压,打开目录 wars可以看到5个war
flowable-admin.war-管理员控制台:管理端的程序,可以查询流程引擎、CMMN引擎、App引擎、表单引擎、DMN引擎、Content引擎的相关信息,并且提供一定的管理能力
flowable-idm.war-管理人员组织机构:该服务主要集成了用户管理、权限管理、组管理、单点登录功能,是modeler等依赖的一个基础用户服务
flowable-modeler.war:核心的业务绘制模块,提供了一个Web化的编辑器,可以在线编辑业务流程,绘制业务表单,编辑决策表,发布应用程序,编写Case模型的功能
flowable-rest.war:对外系统暴露的一系列接口(允许跨语言调用接口服务)
flowable-task.war:任务管理程序,提供任务、流程、Case的启动停止能力,并且可以编辑任务的操作步骤
快速入门工作流操作步骤参考:
【2】解压版tomcat8 中启动war项目,启动tomcat服务初始化项目
将 wars 文件目录里面的war包放到tomact的 webapps 目录
双击tomcat解压目录下的/ bin / startup.bat 启动 tomcat,等待所有war包都解压
【3】修改配置文件
修改配置文件:(tomcat启动端口号9005、9080、9009)
flowable-default.properties
(每个子模块都有)
// a.数据库连接配置修改
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/flowable?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root
// b.其中flowable-admin中6个端口都改成当前tomcat启动指定的端口号
# Process engine # CMMN engine # App engine
# DMN engine # Form engine # Content engine
// c.idm-url相关端口号调整
flowable.common.app.idm-url=http://localhost:9080/flowable-idm
application-dev.properties
(flowable-admin模块中)
# flowable-admin中的特殊配置文件修改:application-dev.properties
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/flowable?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root
flowable.admin.app.server-config.process.port=9080
flowable.admin.app.server-config.cmmn.port=9080
flowable.admin.app.server-config.app.port=9080
flowable.admin.app.server-config.dmn.port=9080
flowable.admin.app.server-config.form.port=9080
flowable.admin.app.server-config.content.port=9080
参考路径:flowable-admin\WEB-INF\classes\相关配置文件,解压后的每个子模块都需要相应调整配置
spring.datasource数据源配置:driverClass、url、username、password
启动端口号修改:默认是8080,如果怕冲突可相应调整(相关配置文件的端口号都必须一一调整,端口号不正确则数据访问异常报错,可通过查看日志排查出错点)
数据库名flowable 可自行创建,从flowable-6.5.0.zip里面database下面的creat/all 下的sql 脚本执行去建表 86张表(如果不执行则项目启动自动执行)
常见问题解决:flowable 下载下来后有五个war文件直接放到 Tomcat webapps 目录下即可使用,默认使用h2内存数据库,如果尝试更改配置文件使用MySQL会提示 com.mysql.jdbc.Driver 这个类不存在或找不到。项目启动连接无法找到连接Mysql数据库相关的jar,则可手动引入mysql-connector-java-x.x.x.jar到tomcat解压目录下的lib文件,关闭tomcat再重新启动
参考上述配置,项目启动后,则可访问:
访问 http://127.0.0.1:9080/flowable-admin 用户名 admin 密码 text(admin项目启动还有部分接口不能访问,考虑还是端口配置的问题)
访问 http://127.0.0.1:9080/flowable-idm 用户名 admin 密码 text
访问 http://127.0.0.1:9080/flowable-modeler 用户名 admin 密码 text
进入到flowable-admin中,配置各个引擎的端口号(修改为当前配置的端口号,点击检查REST端点),如果端点检查失败,项目无法访问则无法访问引擎接口,甚至有些服务功能也无法执行(检查项目发布端口号)
b.Springboot方式启动:jar -jar
由于Flowable集成了springboot,war版本通过java -jar 就可以完成启动。
【1】启动flowable-idm: java -jar .\flowable-idm.war
,默认端口8080
【2】启动flowable-modeler:java -jar .\flowable-modeler.war
,默认端口8888
【3】启动flowable-admin:java -jar flowable-admin.war
,默认端口9988
【4】启动flowable-task:java -jar flowable-task.war
,默认端口是9999
【5】启动flowable-rest:java -jar flowable-rest.war
,rest服务程序的默认端口是8080,主要提供通过rest-api(JSON格式)来访问flowable的能力。通过启动如下:(注意和UI冲突可以停止idm服务,也可以指定端口启动 后面加上参数 --server.port=8081)
2.flowable-应用说明
flowable-idm:
http://localhost:9080/flowable-idm/#/login
用户管理:用户管理
组管理:组管理(类似用户角色管理)
权限控制:为指定的用户或者组指定应用的访问权限
flowable-modeler:
http://localhost:9080/flowable-modeler/#/processes
先创建3个用户用于测试:
创建流程:
创建表单:
(1)表单设计
选中指定节点:选择表单引用
属性,配置相应节点的表单
表单设计则直接进行拖拉拽,设置表单属性即可
(2)表单结果定义
选项卡中的结果
按钮,默认使用自定义结果,只显示完成按钮;此处为测试内容自定义两个按钮作为出线
如果不使用Outcomes
,则完成任务的时候只显示完成按钮
如果使用了Outcomes
,则表示可以自定义完成任务的按钮,按钮名称为outcomes的值
Outcomes的使用场景:当实例的走向有多个的时候,可以在页面点击Outcomes按钮走单向的实例;如果是多向出线,则Outcomes与连线结合使用${form_leave_outcom=='小于3天'}
格式:${form_表单key_outcome==Outcomes值}
在流程设计中选择指定的出线,配置连线条件,随后点击验证模型
按钮校验当前流程设计
(3)表单与Modler流程绑定
Form key:外置表单(关联一个表单页面)
Form properties:动态表单,只负责对表单的可读、只写、必填三个状态的控制
Form reference:关联表单引擎设计设计出来的表单(一般用于测试、演示使用,实际项目引用不多)
动态表单属性:
表单引用:选择指定节点,点击表单引用
属性,随后选择引用的表单进行保存
表单配置:
为指定节点指定分配人,可以是单个用户、候选用户或者是固定值、组概念,结合实际参考,此处以单个用户作为测试案例
创建应用程序:
配置完成点击保存,执行发布
操作,发布成功则可通过访问flowable-task
应用程序进行测试(可在主页看到已经发布的内容),随后可发起流程测试流程
用不同账号角色登录查看相应的任务流程(需要为指定用户分配应用程序访问权限)
2.BPMN规范
参考学习链接:https://www.cnblogs.com/zhaopengcheng/p/8343302.html