×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
深入FLOWABLE流程引擎:核心原理与高阶实战

深入FLOWABLE流程引擎:核心原理与高阶实战

1星价 ¥109.0 (7.8折)
2星价¥109.0 定价¥139.8
暂无评论
图文详情
  • ISBN:9787115649003
  • 装帧:平装-胶订
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:660
  • 出版时间:2024-10-01
  • 条形码:9787115649003 ; 978-7-115-64900-3

本书特色

- Flowable项目创始人Tijs Rademakers作序推荐

- 《深入Activiti流程引擎:核心原理与高阶实战》作者团队又一力作。

- 依据BPMN 2.0规范,贯彻基于业务流程开发的思想和方法。

- 快速、高效、全面掌握Flowable从入门到高级应用的相关知识。

- 丰富的案例及实战应用,提供所有示例程序源代码

内容简介

本书旨在为读者提供关于Flowable的全面指南,深入探讨基于业务流程开发的思想和方法。全书分为4篇:基础准备篇介绍Flowable的基础用法、流程设计器集成与使用、工作流引擎配置、数据库设计、核心概念和API等,让读者建立对Flowable的基本认识;常规应用篇介绍Flowable各种功能和特性的配置与使用,让读者掌握Flowable的基础用法;高级实战篇立足实战,介绍如何基于Flowable的扩展特性实现对多种复杂流程场景的支持;架构扩展篇主要介绍提高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.2.1 新建用户 105

6.2.2 查询用户 105

6.2.3 修改用户 111

6.2.4 删除用户 112

6.2.5 设置用户图片 113

6.3 用户组管理 113

6.3.1 新建用户组 114

6.3.2 查询用户组 114

6.3.3 修改用户组 117

6.3.4 删除用户组 117

6.4 用户与用户组关系管理 118

6.4.1 添加用户至用户组 118

6.4.2 从用户组中移除用户 119

6.4.3 查询用户组中的用户 119

6.4.4 查询用户所在的用户组 120

6.5 用户附加信息管理 120

6.6 本章小结 121

第7章 Flowable流程部署 123

7.1 流程资源 123

7.2 流程部署 123

7.2.1 DeploymentBuilder对象 123

7.2.2 执行流程部署 124

7.3 部署结果查询 127

7.3.1 部署记录查询 127

7.3.2 流程定义查询 131

7.3.3 流程资源查询 135

7.4 流程部署完整示例 136

7.4.1 示例代码 136

7.4.2 相关表的变更 137

7.5 本章小结 138

第8章 开始事件与结束事件 139

8.1 事件概述 139

8.2 事件定义 139

8.2.1 定时器事件定义 139

8.2.2 信号事件定义 141

8.2.3 消息事件定义 142

8.2.4 错误事件定义 143

8.2.5 取消事件定义 143

8.2.6 补偿事件定义 143

8.2.7 终止事件定义 143

8.2.8 升级事件定义 143

8.2.9 条件事件定义 144

8.2.10 变量监听器事件定义 144

8.3 开始事件 144

8.3.1 空开始事件 145

8.3.2 定时器开始事件 146

8.3.3 信号开始事件 147

8.3.4 消息开始事件 148

8.3.5 错误开始事件 150

8.3.6 升级开始事件 152

8.3.7 条件开始事件 153

8.3.8 变量监听器开始事件 153

8.4 结束事件 153

8.4.1 空结束事件 154

8.4.2 错误结束事件 154

8.4.3 取消结束事件 156

8.4.4 终止结束事件 159

8.4.5 升级结束事件 159

8.5 本章小结 159

第9章 边界事件与中间事件 161

9.1 边界事件 161

9.1.1 定时器边界事件 161

9.1.2 信号边界事件 163

9.1.3 消息边界事件 165

9.1.4 错误边界事件 166

9.1.5 取消边界事件 168

9.1.6 补偿边界事件 169

9.1.7 条件边界事件 170

9.1.8 变量监听器边界事件 171

9.1.9 升级边界事件 171

9.2 中间事件 172

9.2.1 定时器中间捕获事件 172

9.2.2 信号中间捕获事件和信号中间抛出事件 174

9.2.3 消息中间捕获事件 177

9.2.4 补偿中间抛出事件 177

9.2.5 空中间抛出事件 183

9.2.6 条件中间捕获事件 183

9.2.7 变量监听器中间捕获事件 187

9.2.8 升级中间抛出事件 189

9.3 本章小结 192

第 10章 用户任务、手动任务和接收任务 193

10.1 用户任务 193

10.1.1 用户任务介绍 193

10.1.2 用户任务分配给办理人 195

10.1.3 用户任务分配给候选人(组) 196

10.1.4 动态分配任务 197

10.2 手动任务 202

10.2.1 手动任务介绍 203

10.2.2 手动任务使用示例 203

10.3 接收任务 204

10.3.1 接收任务介绍 204

10.3.2 接收任务使用示例 205

10.4 本章小结 206

第 11章 服务任务、脚本任务和业务规则任务 207

11.1 服务任务 207

11.1.1 服务任务介绍 207

11.1.2 服务任务的属性注入 210

11.1.3 服务任务的可触发和异步执行 218

11.1.4 服务任务的执行结果 218

11.1.5 服务任务的异常处理 219

11.1.6 在JavaDelegate中使用Flowable服务 222

11.2 脚本任务 222

11.2.1 脚本任务介绍 222

11.2.2 脚本任务中流程变量的使用 223

11.2.3 脚本任务的执行结果 223

11.3 业务规则任务 223

11.3.1 业务规则任务介绍 224

11.3.2 业务规则任务使用示例 225

11.4 本章小结 228

第 12章 Flowable扩展的系列任务(一) 229

12.1 邮件任务 229

12.2 Camel任务 230

12.2.1 Camel任务介绍 230

12.2.2 Flowable与Camel集成 230

12.2.3 Camel任务使用示例 233

12.3 Mule任务 235

12.3.1 Mule任务介绍 236

12.3.2 Mule的集成与配置 236

12.3.3 Mule任务使用示例 240

12.4 Shell任务 242

12.4.1 Shell任务介绍 243

12.4.2 Shell任务使用示例 243

12.5 本章小结 244

第 13章 Flowable扩展的系列任务(二) 245

13.1 Http任务 245

13.2 外部工作者任务 250

13.3 Web Service任务 253

13.3.1 Web Service任务介绍 253

13.3.2 Web Service任务使用示例 255

13.4 决策任务 259

13.4.1 决策任务介绍 259

13.4.2 决策任务使用示例 260

13.5 本章小结 264

第 14章 顺序流与网关 265

14.1 顺序流 265

14.1.1 标准顺序流 265

14.1.2 条件顺序流 266

14.1.3 默认顺序流 268

14.2 网关 269

14.2.1 排他网关 269

14.2.2 并行网关 272

14.2.3 包容网关 274

14.2.4 事件网关 277

14.3 本章小结 279

第 15章 子流程、调用活动、泳池与泳道 281

15.1 子流程 281

15.1.1 内嵌子流程 281

15.1.2 事件子流程 285

15.1.3 事务子流程 292

15.2 调用活动 298

15.2.1 调用活动介绍 298

15.2.2 调用活动使用示例 300

15.2.3 内嵌子流程与调用活动的区别 304

15.3 泳池与泳道 304

15.4 本章小结 305

第 16章 监听器 307

16.1 执行监听器与任务监听器 307

16.1.1 执行监听器 307

16.1.2 任务监听器 314

16.2 全局事件监听器 318

16.2.1 全局事件监听器工作原理 319

16.2.2 支持的事件类型 319

16.2.3 事件监听器的实现 322

16.2.4 配置事件监听器 323

16.2.5 事件监听器使用示例 326

16.2.6 日志监听器 329

16.2.7 禁用事件监听器 329

16.3 本章小结 329

第 17章 多实例实战应用 331

17.1 多实例概述 331

17.1.1 多实例的概念 331

17.1.2 多实例的配置 332

17.1.3 多实例与其他流程元素的搭配使用 333

17.2 多实例用户任务应用 335

17.3 多实例服务任务应用 341

17.4 多实例子流程应用 343

17.5 本章小结 346



高级实战篇



第 18章 Flowable核心架构解析 349

18.1 Flowable工作流引擎架构概述 349

18.2 Flowable设计模式 350

18.2.1 Flowable命令模式 350

18.2.2 Flowable责任链模式 351

18.2.3 Flowable命令链模式 352

18.3 核心代码走读 353

18.3.1 流程模型部署 353

18.3.2 流程定义解析 356

18.3.3 流程启动 360

18.3.4 节点流转 363

18.3.5 网关控制 368

18.3.6 流程结束 373

18.4 本章小结 376

第 19章 Flowable集成Spring Boot 377

19.1 Spring Boot简介 377

19.1.1 Spring Boot特性 377

19.1.2 自定义starter 379

19.2 Spring Boot配置详解 381

19.2.1 配置文件读取 381

19.2.2 自定义配置属性 381

19.2.3 多环境配置 382

19.3 手动实现Spring Boot与Flowable 的集成 383

19.3.1 通过Spring Boot配置工作流引擎 384

19.3.2 Flowable、MyBatis与Spring Boot整合 385

19.3.3 通过Spring Boot管理工作流引擎 386

19.4 通过官方starter实现Spring Boot与Flowable的集成 387

19.5 本章小结 387

第 20章 集成外部表单设计器 389

20.1 Flowable支持的表单类型 389

20.1.1 内置表单 389

20.1.2 外置表单 389

20.2 表单数据存储方案简介 390

20.2.1 动态建表存储方案 390

20.2.2 数据宽表存储方案 390

20.2.3 使用Key/Value格式存储方案 391

20.2.4 文档型数据库存储方案 391

20.3 集成外部表单设计器 391

20.3.1 创建React工程 392

20.3.2 定义前后端交互接口 394

20.3.3 创建视图页面 395

20.3.4 配置页面路由 401

20.4 自定义表单引擎 402

20.4.1 创建Spring Boot工程 403

20.4.2 集成Flowable 403

20.4.3 集成自定义表单引擎 407

20.4.4 Web服务接口实现 410

20.5 运行示例 416

20.5.1 新建表单模型 416

20.5.2 新建流程定义并绑定表单模型 418

20.5.3 部署流程 418

20.5.4 发起流程实例 419

20.5.5 填写表单办理任务 419

20.6 本章小结 420

第 21章 集成在线流程设计器bpmn-js 421

21.1 bpmn-js简介 421

21.2 bpmn-js与React的集成 421

21.2.1 React开发环境搭建 421

21.2.2 React与bpmn-js的集成 423

21.2.3 bpmn-js的属性面板实现 425

21.2.4 bpmn-js的汉化 426

21.3 bpmn-js与Flowable的集成 427

21.3.1 bpmn-js扩展用户节点属性 427

21.3.2 保存Flowable流程模型 430

21.4 本章小结 433

第 22章 Flowable自定义扩展(一) 435

22.1 自定义ProcessEngineConfiguration扩展 435

22.1.1 自定义ProcessEngineConfiguration 435

22.1.2 编写工作流引擎配置文件 435

22.1.3 使用示例 436

22.2 自定义流程元素属性 437

22.2.1 使用ExtensionElement自定义流程元素属性 437

22.2.2 使用ExtensionAttribute自定义流程元素属性 438

22.2.3 使用示例 439

22.3 自定义流程活动行为 442

22.3.1 创建自定义流程活动行为类 444

22.3.2 创建自定义流程活动行为工厂 446

22.3.3 在工作流引擎中设置自定义流程活动行为工厂 446

22.3.4 使用示例 446

22.4 自定义事件 447

22.4.1 创建自定义事件类型 447

22.4.2 创建自定义事件 448

22.4.3 实现自定义事件监听器 448

22.4.4 使用示例 449

22.5 自定义流程校验 450

22.5.1 创建自定义校验规则 450

22.5.2 重写流程校验器 451

22.5.3 在工作流引擎中设置自定义流程校验器 451

22.5.4 使用示例 453

22.6 实现多租户动态切换多数据源 454

22.6.1 Flowable对多租户多数据源模式的支持 454

22.6.2 Flowable对多租户多数据源模式的实现 455

22.7 本章小结 460

第 23章 Flowable自定义扩展(二) 461

23.1 自定义Flowable身份管理引擎 461

23.1.1 自定义实体管理器和数据管理器 461

23.1.2 自定义身份管理引擎配置及配置器 466

23.1.3 在工作流引擎中注册自定义身份管理引擎 467

23.1.4 使用示例 469

23.2 适配国产数据库 470

23.2.1 修改SQL脚本模式 470

23.2.2 修改Liquibase模式 473

23.2.3 使用示例 474

23.3 自定义查询 477

23.3.1 使用NativeSql查询 477

23.3.2 使用CustomSql查询 480

23.4 本章小结 484

第 24章 Flowable自定义扩展(三) 485

24.1 自定义流程活动 485

24.1.1 流程定义XML文件解析原理 485

24.1.2 自定义Mq任务的实现 485

24.1.3 使用示例 490

24.2 更换默认Flowable流程定义缓存 491

24.2.1 Flowable流程定义缓存的用途 491

24.2.2 自定义Flowable流程定义缓存 492

24.3 手动创建定时器任务 500

24.3.1 创建自定义作业处理器 500

24.3.2 在工作流引擎中注册自定义作业处理器 501

24.3.3 使用示例 502

24.4 自定义业务日历 503

24.4.1 自定义业务日历的实现 503

24.4.2 使用示例 505

24.5 本章小结 507

第 25章 本土化业务流程场景的实现(一) 509

25.1 动态跳转 509

25.1.1 Flowable对动态跳转的支持 509

25.1.2 动态跳转的基础场景 511

25.1.3 动态跳转与网关结合场景 513

25.1.4 动态跳转与子流程结合场景 517

25.1.5 动态跳转与调用活动结合场景 521

25.2 任务撤回 525

25.2.1 任务撤回的扩展实现 525

25.2.2 任务撤回使用示例 529

25.3 流程撤销 530

25.3.1 流程撤销的扩展实现 531

25.3.2 流程撤销使用示例 533

25.4 本章小结 534

第 26章 本土化业务流程场景的实现(二) 535

26.1 通过代码创建流程模型 535

26.1.1 工具类实现 535

26.1.2 使用示例 538

26.2 为流程实例动态增加临时节点 539

26.2.1 动态增加临时节点的扩展实现 541

26.2.2 动态增加临时节点的使用示例 544

26.3 会签加签/减签 546

26.3.1 会签加签/减签的扩展实现 546

26.3.2 会签加签/减签的使用示例 549

26.4 本章小结 552

第 27章 本土化业务流程场景的实现(三) 553

27.1 流程复活 553

27.1.1 流程复活扩展实现 553

27.1.2 流程复活使用示例 555

27.2 任务知会 557

27.2.1 任务知会扩展实现 557

27.2.2 任务知会使用示例 559

27.3 流程节点自动跳过 561

27.4 流程实例跨版本迁移 562

27.4.1 Flowable对流程实例跨版本迁移的支持 562

27.4.2 流程实例跨版本迁移使用示例 563

27.5 动态修改流程定义元素属性 567

27.5.1 动态修改流程定义元素属性的思路 567

27.5.2 动态修改流程定义元素属性的使用示例 568

27.6 多语种支持 570

27.6.1 Flowable多语种的支持 570

27.6.2 流程多语种设置使用示例 571

27.7 本章小结 573



架构扩展篇



第 28章 Flowable性能与容量优化 577

28.1 ID生成器优化 577

28.1.1 数据库ID生成器DbIdGenerator 577

28.1.2 UUID生成器StrongUuidGenerator 578

28.1.3 自定义ID生成器 579

28.2 定时器优化 580

28.2.1 Flowable定时器执行过程 580

28.2.2 Flowable定时器优化 581

28.3 历史数据异步化 585

28.3.1 Flowable异步历史机制 585

28.3.2 基于RocketMQ的历史数据异步化 588

28.3.3 基于MongoDB的历史数据异步化 590

28.3.4 数据一致性保证 596

28.4 本章小结 598

第 29章 Flowable多引擎架构的初阶实现 599

29.1 多引擎架构分析 599

29.1.1 水平分库分表方案的局限性 599

29.1.2 多引擎架构方案设计 600

29.2 多引擎建模服务实现 601

29.2.1 建模服务搭建 601

29.2.2 工作流引擎服务缓存改造 602

29.3 工作流引擎路由 604

29.3.1 Pika与Spring Boot的整合 605

29.3.2 将路由信息写入Pika 606

29.4 建立服务网关 609

29.4.1 Spring Cloud Gateway简介 609

29.4.2 Spring Cloud Gateway服务搭建 609

29.4.3 新发起流程路由配置 610

29.4.4 已有流程路由配置 611

29.5 本章小结 613

第30章 Flowable多引擎架构的高阶实现 615

30.1 工作流引擎集群搭建 615

30.1.1 Nacos服务搭建 615

30.1.2 基于Nacos的引擎集群构建 616

30.1.3 引擎集群路由配置 618

30.2 网关动态路由配置 619

30.2.1 引擎信息动态配置 619

30.2.2 路由信息动态配置 620

30.3 流程查询服务搭建 623

30.3.1 Elasticsearch与Spring Boot的整合 623

30.3.2 将数据写入Elasticsearch 623

30.3.3 创建查询服务 626

30.4 本章小结 627



展开全部

作者简介

贺波 国内资深的工作流及BPM领域专家,专注于流程领域十余年,长期致力于BPM技术及相关产品的研发、应用和推广,擅长为国内外大中型企业提供以流程为导向的数字化解决方案。作为**发明人持有多项BPM领域发明专利。 刘晓鹏 拥有10年互联网系统研发、架构设计经验,在高并发、高性能、高可用等方面有丰富的设计经验。 胡海琴 从事Java EE企业应用开发十余年,曾经参与多个大型企业级项目的设计与开发工作,具有丰富的软件系统设计和开发经验。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航