Flowable工作流引擎概要
工作流引擎概要
工作流是源码业务流程的抽象和描述,通过特定语言建模,网关网关让计算机执行并推动流程。源码kpi源码软件下载它在复杂状态机的网关网关基础上,解决了业务流程的源码宏观与微观逻辑解耦问题,让熟悉流程的网关网关人制定逻辑,专业人员关注关键节点。源码工作流能处理流程逻辑和状态流转,网关网关但不适用于完全无序状态流转的源码场景,此时CMMN建模更适合。网关网关
BPMN2.0是源码国际通用的业务流程建模语言,它包含事件、网关网关任务、连线和网关等元素。协议通过网关控制流程逻辑流转,任务类型包括人工、服务、接受和调用活动。网关有互斥、并行和包容性三种类型,token提取源码任务有用户、服务、接受和调用活动等。流程通过事件开始,以事件结束,网关和连线共同构建流程逻辑。
Flowable是一个基于BPMN2.0的Java实现,提供高效核心引擎,支持嵌入式、集群和云服务。它与Activiti和Camunda同宗,从jbpm4发展而来,具有更丰富的扩展和功能,但也因此包结构复杂,上手难度较高。相较于Activiti聚焦于云集成,Flowable更注重多样性和灵活性。Camunda则以轻巧和面向开发人员设计为主,但其社区相对不活跃。
Flowable架构冷热数据分离,采用异步执行器提高性能。它针对历史归档和异步任务进行了优化,bit bake源码通过冷热数据分离和全局锁机制,提升了吞吐量和性能。在万异步任务并发场景下,性能提升显著。
云工作流应关注三个核心方面:流程生命周期管理、API简化以及角色区分。流程生命周期包括从设计到启动,再到结束的全过程。应去除复杂和不常用的节点类型,保留用户任务、服务任务等常见节点。简化API,分类为启动、服务提供和消息处理三类。明确“我需要做什么”的角色划分,确保各部门关注其特定任务,实现高效协同。通过这些优化,云工作流能够更灵活、高效地支持复杂业务流程。
了解Camunda流程引擎,必须先要认识表结构
要深入了解Camunda流程引擎,鱼油溯源码首先要明白其关键表结构。Camunda是一款功能强大且稳定的开源商业流程平台,相较于早期的osworkflow、jbpm、activiti和flowable,它在性能和轻量化方面更胜一筹。
Camunda的优势体现在其特性上,如支持外部任务(External Task),它通过发布任务单元,避免了HTTP Task可能遇到的超时和环境区分问题。外部任务具有任务唯一性和可配置性,允许更灵活的处理方式。此外,Camunda支持流程实例的跳转、重启、迁移,以及提供了批量操作API和丰富的图形绘制工具,包括定时节点和各种网关节点。
在数据库层面,Camunda共由张以ACT_开头的表组成,分为活动资源存储(ACT_RE_*)、流程运行时(ACT_RU_*)、图片写真源码组织用户信息(ACT_ID_*)、流程历史记录(ACT_HI_*)和通用数据(ACT_GE_*)五类。核心表包括流程定义、执行、任务、变量和事件订阅等,如通用二进制数据表(act_ge_bytearray)、配置表(act_ge_property)和历史活动实例表(act_hi_actinst)等。
理解这些表结构有助于深入分析和管理Camunda流程引擎的运行,掌握这些信息对开发、运维和优化流程至关重要。通过掌握这些核心表,用户可以更有效地利用Camunda的强大功能,提升流程管理的效率和准确性。
Spring Boot + Flowable 快速实现工作流,So Easy!
本文旨在快速介绍如何利用Spring Boot与Flowable实现工作流,旨在简化实现过程,提升工作效率。请确保关注“Java项目精选”,以便及时获取更多实用技术资讯。一、Flowable-UI部署运行
为了快速启动,首先从官网下载Flowable-6.6.0版本:/flowable/flowable-engine/releases/download/flowable-6.6.0/flowable-6.6.0.zip 下载完成后,将压缩包中的flowable-6.6.0\wars\flowable-ui.war文件放置于Tomcat服务器中。然后,通过访问/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:/flowable-rest/docs/ (login/password: rest-admin/test)
http://localhost:/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/in/zh-CN.json,进行汉化。
以上就是对Flowable工作流的简单介绍,希望大家能顺利使用。
2024-11-30 08:37
2024-11-30 08:37
2024-11-30 08:27
2024-11-30 07:57
2024-11-30 07:19