- Flowable项目创始人Tijs Rademakers作序推荐
- 《深入Activiti流程引擎:核心原理与高阶实战》作者团队又一力作。
- 依据BPMN 2.0规范,贯彻基于业务流程开发的思想和方法。
- 快速、高效、全面掌握Flowable从入门到高级应用的相关知识。
- 丰富的案例及实战应用,提供所有示例程序源代码
本书旨在为读者提供关于Flowable的全面指南,深入探讨基于业务流程开发的思想和方法。全书分为4篇:基础准备篇介绍Flowable的基础用法、流程设计器集成与使用、工作流引擎配置、数据库设计、核心概念和API等,让读者建立对Flowable的基本认识;常规应用篇介绍Flowable各种功能和特性的配置与使用,让读者掌握Flowable的基础用法;高级实战篇立足实战,介绍如何基于Flowable的扩展特性实现对多种复杂流程场景的支持;架构扩展篇主要介绍提高Flowable性能和增大其容量的措施,并提出一套多引擎架构方案来支撑大容量、高并发和高稳定流程场景。
- Flowable项目创始人Tijs Rademakers作序推荐
- 《深入Activiti流程引擎:核心原理与高阶实战》作者团队又一力作。
- 依据BPMN 2.0规范,贯彻基于业务流程开发的思想和方法。
- 快速、高效、全面掌握Flowable从入门到高级应用的相关知识。
- 丰富的案例及实战应用,提供所有示例程序源代码
基础准备篇
第 1章 初识Flowable 3
1.1 流程、工作流及相关规范 3
1.1.1 流程的概念 3
1.1.2 工作流介绍 3
1.1.3 BPMN规范 6
1.2 Flowable介绍 13
1.2.1 工作流开源框架 13
1.2.2 Flowable的特点 13
1.3 Flowable之初体验 14
1.3.1 下载Flowable安装包 14
1.3.2 启动Flowable UI 14
1.3.3 Flowable初体验:运行Flowable UI 15
1.4 本章小结 20
第 2章 Flowable流程设计器集成与使用 21
2.1 使用IDEA集成Flowable流程设计器 21
2.1.1 在IDEA中安装Flowable BPMN visualizer流程设计器插件 21
2.1.2 使用IDEA绘制BPMN流程图 22
2.2 使用Eclipse集成Flowable流程设计器 25
2.2.1 在Eclipse中安装Flowable BPMN Designer插件 25
2.2.2 使用Eclipse绘制BPMN流程图 26
2.3 本章小结 30
第3章 Flowable工作流引擎配置 31
3.1 Flowable工作流引擎的配置 31
3.1.1 工作流引擎配置对象ProcessEngineConfiguration 31
3.1.2 工作流引擎对象ProcessEngine 35
3.2 Flowable工作流引擎配置文件 36
3.2.1 Flowable配置风格 37
3.2.2 Spring配置风格 37
3.3 数据库连接配置 38
3.3.1 数据库连接属性配置 38
3.3.2 数据库策略属性配置 40
3.4 其他属性配置 40
3.4.1 历史数据级别配置 40
3.4.2 异步执行器配置 41
3.4.3 邮件服务器配置 44
3.4.4 事件日志记录配置 44
3.5 编写第 一个Flowable程序 44
3.5.1 建立工程环境 44
3.5.2 创建配置文件 47
3.5.3 创建流程模型 47
3.5.4 加载流程模型与启动流程 48
3.6 本章小结 49
第4章 Flowable数据库设计 51
4.1 Flowable数据表设计概述 51
4.2 Flowable数据表结构说明 51
4.2.1 通用数据表 51
4.2.2 流程存储表 52
4.2.3 身份数据表 53
4.2.4 运行时数据表 56
4.2.5 历史数据表 64
4.3 Flowable数据库乐观锁 69
4.4 本章小结 69
第5章 Flowable核心概念和API 71
5.1 Flowable核心概念 71
5.1.1 流程定义 71
5.1.2 流程实例 71
5.1.3 执行实例 72
5.2 工作流引擎服务 72
5.3 存储服务API 73
5.3.1 部署流程定义 74
5.3.2 删除流程定义 74
5.3.3 挂起流程定义 75
5.3.4 激活流程定义 77
5.4 运行时服务API 78
5.4.1 发起流程实例 78
5.4.2 唤醒一个等待状态的执行 80
5.5 任务服务API 81
5.5.1 待办任务查询 81
5.5.2 任务办理及权限控制 83
5.5.3 评论和附件管理 86
5.6 历史服务API 88
5.7 管理服务API 89
5.7.1 数据库管理 89
5.7.2 异步任务管理 91
5.7.3 执行命令 93
5.8 身份服务API 95
5.9 利用Flowable Service API完成流程实例 96
5.9.1 Flowable工作流引擎工具类 96
5.9.2 综合使用示例 97
5.10 本章小结 99
常规应用篇
第6章 Flowable身份管理 103
6.1 身份管理引擎 103
6.2 用户管理 104
6.3 用户组管理 113
6.4 用户与用户组关系管理 118
6.5 用户附加信息管理 120
6.6 本章小结 121
第7章 Flowable流程部署 123
7.1 流程资源 123
7.2 流程部署 123
7.3 部署结果查询 127
7.4 流程部署完整示例 136
7.5 本章小结 138
第8章 开始事件与结束事件 139
8.1 事件概述 139
8.2 事件定义 139
8.3 开始事件 144
8.4 结束事件 153
8.5 本章小结 159
第9章 边界事件与中间事件 161
9.1 边界事件 161
9.2 中间事件 172
9.3 本章小结 192
第 10章 用户任务、手动任务和接收任务 193
10.1 用户任务 193
10.2 手动任务 202
10.3 接收任务 204
10.4 本章小结 206
第 11章 服务任务、脚本任务和业务规则任务 207
11.1 服务任务 207
11.2 脚本任务 222
11.3 业务规则任务 223
11.4 本章小结 228
第 12章 Flowable扩展的系列任务(一) 229
12.1 邮件任务 229
12.2 Camel任务 230
12.3 Mule任务 235
12.4 Shell任务 242
12.5 本章小结 244
第 13章 Flowable扩展的系列任务(二) 245
13.1 Http任务 245
13.2 外部工作者任务 250
13.3 Web Service任务 253
13.4 决策任务 259
13.5 本章小结 264
第 14章 顺序流与网关 265
14.1 顺序流 265
14.2 网关 269
14.3 本章小结 279
第 15章 子流程、调用活动、泳池与泳道 281
15.1 子流程 281
15.1.1 内嵌子流程 281
15.1.2 事件子流程 285
15.1.3 事务子流程 292
15.2 调用活动 298
15.3 泳池与泳道 304
15.4 本章小结 305
第 16章 监听器 307
16.1 执行监听器与任务监听器 307
16.2 全局事件监听器 318
16.3 本章小结 329
第 17章 多实例实战应用 331
17.1 多实例概述 331
17.2 多实例用户任务应用 335
17.3 多实例服务任务应用 341
17.4 多实例子流程应用 343
17.5 本章小结 346
高级实战篇
第 18章 Flowable核心架构解析 349
18.1 Flowable工作流引擎架构概述 349
18.2 Flowable设计模式 350
18.3 核心代码走读 353
18.4 本章小结 376
第 19章 Flowable集成Spring Boot 377
19.1 Spring Boot简介 377
19.2 Spring Boot配置详解 381
19.3 手动实现Spring Boot与Flowable的集成 383
19.4 通过官方starter实现Spring Boot与Flowable的集成 387
19.5 本章小结 387
第 20章 集成外部表单设计器 389
20.1 Flowable支持的表单类型 389
20.2 表单数据存储方案简介 390
20.3 集成外部表单设计器 391
20.4 自定义表单引擎 402
20.5 运行示例 416
20.6 本章小结 420
第 21章 集成在线流程设计器bpmn-js 421
21.1 bpmn-js简介 421
21.2 bpmn-js与React的集成 421
21.3 bpmn-js与Flowable的集成 427
21.4 本章小结 433
第 22章 Flowable自定义扩展(一) 435
22.1 自定义ProcessEngineConfiguration扩展 435
22.2 自定义流程元素属性 437
22.3 自定义流程活动行为 442
22.4 自定义事件 447
22.5 自定义流程校验 450
22.6 实现多租户动态切换多数据源 454
22.7 本章小结 460
第 23章 Flowable自定义扩展(二) 461
23.1 自定义Flowable身份管理引擎 461
23.2 适配国产数据库 470
23.3 自定义查询 477
23.4 本章小结 484
第 24章 Flowable自定义扩展(三) 485
24.1 自定义流程活动 485
24.2 更换默认Flowable流程定义缓存 491
24.3 手动创建定时器任务 500
24.4 自定义业务日历 503
24.5 本章小结 507
第 25章 本土化业务流程场景的实现(一) 509
25.1 动态跳转 509
25.2 任务撤回 525
25.3 流程撤销 530
25.4 本章小结 534
第 26章 本土化业务流程场景的实现(二) 535
26.1 通过代码创建流程模型 535
26.2 为流程实例动态增加临时节点 539
26.3 会签加签/减签 546
26.4 本章小结 552
第 27章 本土化业务流程场景的实现(三) 553
27.1 流程复活 553
27.2 任务知会 557
27.3 流程节点自动跳过 561
27.4 流程实例跨版本迁移 562
27.5 动态修改流程定义元素属性 567
27.6 多语种支持 570
27.7 本章小结 573
架构扩展篇
第 28章 Flowable性能与容量优化 577
28.1 ID生成器优化 577
28.2 定时器优化 580
28.3 历史数据异步化 585
28.4 本章小结 598
第 29章 Flowable多引擎架构的初阶实现 599
29.1 多引擎架构分析 599
29.2 多引擎建模服务实现 601
29.3 工作流引擎路由 604
29.4 建立服务网关 609
29.5 本章小结 613
第30章 Flowable多引擎架构的高阶实现 615
30.1 工作流引擎集群搭建 615
30.2 网关动态路由配置 619
30.3 流程查询服务搭建 623
30.4 本章小结 627