Flowable工作流入门看这篇就够了
发布网友
发布时间:2024-10-02 00:25
我来回答
共1个回答
热心网友
时间:2024-10-14 23:55
大家好,我是沙师弟,一名热爱探索和分享的程序员。
多年的程序员生涯让我对工作流有了深入了解。Java语言支持的工作流选择众多,从早期的JBPM到现在的Activiti、Camunda、Flowable等,都是常见的开源产品。
许多公司会选择开源产品进行个性化开发,以节省成本。今天我将为大家介绍Flowable,解决如何入手的问题。
Flowable基于Apache V2 license协议开源,支持BPMN 2.0行业标准。让我们用三十分钟的时间,了解Flowable的安装、建表、设计器、API等常见问题。
0. 安装须知:本文基于Spring Boot集成方式进行介绍
官方网址:flowable.com/
Github:github.com/flowable/
开源协议Apache-2.0
基础软件及版本:1. Maven
创建Spring Boot项目,pom中加入依赖
1.1 建表
1.1.1 MySQL:由于需要支持TIMESTAMP (6) 类型,5.6.4及以下版本无法使用,5.7或8.0安装成功。两种初始化建表方式:sql脚本,或是boot自动。
按以下方法启动Spring Boot项目,可自动建表:建表时,连接串需要&nullCatalogMeansCurrent=true。建表后可关闭,下次启动不会再次建表。默认会启动liquibase,可关闭。
1.1.2 Oracle等其他数据库:据多个朋友反馈,Oracle建库可能出现建表语句不全的问题,推荐大家从github下载发布包,执行内部的建表语句,包括mysql也可以采用这种方式。
下载地址:github.com/flowable/flo...
下载后,执行里面的database脚本即可。初次使用,可以选择create - all的脚本执行。常用的db2、mssql、mysql、oracle、postgresql都有,还有一个奇怪的h2混了进来。
h2是演示版系统默认的库,但我没实际用过。
1.1.3 国产数据库:默认情况下不支持国产脚本,经测试达梦可以成功使用,需要人工按照Oracle的库表调整。
2. 设计器:各大开源流程工具都遵从BPM标准,一般流程设计都是以BPM格式的XML文件进行定义。但我们不可能去手写配置文件,一般都借助于可视化设计器。
官方给的Web设计器大致分两个版本,需要自行部署到Tomcat运行,并且需要连接到前面建的数据库。
2.1 Flowable 6.5版本以前的:6.5版本的方法仅供参考,本文使用2.2的设计器。
2.2 Flowable 6.6版本以后的:推荐使用。官网下载,只有2个包。
访问地址:http://localhost:8080/flowable-rest/docs/ (login/password: rest-admin/test)
http://localhost:8080/flowable-ui (login/password: admin/test)
修改数据源:打开/WEB-INF/classes/flowable-default.properties,搜索spring.datasource相关配置,改为步骤1中的数据库地址即可。
2.3 Eclipse设计器插件:Eclipse设计器属于离线设计器,无需连库,成果以xml文件方式保存,可以通过发布程序发送至流程引擎。
安装步骤:
2.4 设计器说明:2.4.1 启动事件、2.4.2 结束事件、2.4.3 用户任务、2.4.4 服务任务、2.4.5 脚本任务、2.4.6 排他网关、2.4.7 并行网关、2.4.8 包容网关
3. 表说明:自动生成的表中,有很多是支持流程设计器的表,真正流程运行所需的表并没有那么多。
3.1 ACT_RE_*、3.2 ACT_RU_*、3.3 ACT_ID_*、3.4 ACT_HI_*、3.5 ACT_GE_*
4. 自定义表单:内置自定义表单功能,可以实现一些简单的表单定义,但真正业务开展时,很难对复杂多变的情况进行支撑,不建议使用。
5. 流程版本:流程定义文件是xml格式,交由流程引擎的ProcessDefinition服务进行发布。
6. API:引擎API是与Flowable交互的最常用手段。总入口点是ProcessEngine。
6.1 ProcessEngines、6.2 RepositoryService、6.3 TaskService、6.4 IdentityService、6.5 FormService、6.6 HistoryService、6.7 ManagementService、6.8 DynamicBpmnService
7. 设计器整合:在开发自己的系统时,整合工作流,我们往往需要程序里提供一个菜单,实现流程的可视化配置、拖拽、保存、版本管理等工作,利用官方的设计器,我们可以快速构造一个独立的Spring Boot工程,提供设计器界面,通过Url集成的方式加入我们的项目当中。
8. 汉化:使用中,会遇到设计器汉化不完整的情况,可以在改造项目中,自行创建目录 resource/static/modeler/i18n/zh-CN.json,进行汉化。
以上就是对Flowable工作流的简单介绍,希望大家能顺利使用。