Flowable流程引擎实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

随着信息化的发展,越来越多的技术被通用化、标准化,最终形成一个通用的系统。比如搜索技术,在早期是一项专用性很强的技术,随着技术的发展,搜索技术被通用化,有了ElasticSearch这样的搜索引擎,业务系统引入该引擎即可方便地实现搜索功能;再比如权限控制技术也演变成一个通用性极强的系统。同样,Flowable流程引擎(本书中也简称Flowable引擎或Flowable)是开发人员在很多业务系统中,将业务按设定流程驱动的功能抽离出来,形成的一个独立的通用化系统。通用化的过程,不仅是技术不断发展的过程,也是将使用门槛不断降低的过程。

在信息化的大背景下,越来越多的行业、企业需要构建自己的业务系统,低代码平台由于其低成本、灵活配置的特点被广泛应用,而流程引擎是其核心组件。本书将全面介绍Flowable流程引擎的各个组成部分,给出使用实例,并剖析其设计原理,使读者知其所以然。

本书的内容

第1章初步介绍Flowable流程引擎,使读者了解基本名词、体系和服务。

第2章从零构建一个流程引擎系统,介绍Flowable流程引擎的开发环境及配套使用的流程设计器。

第3章实战系统集成Spring Boot,介绍Spring和Flowable流程引擎的构建原理。

第4章介绍流程部署方式、部署管理及部署原理。

第5章介绍运行时和历史流程变量的使用方法,详细展示内置表单、外置表单和自定义表单的使用方法。

第6章介绍集成JPA,优化数据结构,提高查询效率。

第7章介绍系统不可或缺的用户和组的使用方法。为保持系统的灵活性,Flowable流程引擎在运行时不会进行任何用户检查,使得开发人员可以灵活自定义用户和组。

第8~9章介绍流程引擎的三大要素之一——事件,展示启动事件、结束事件、错误事件、信号事件、消息事件等的使用方法,并讲解事件调度的原理。

第10~11章介绍流程引擎的三大要素之一——任务,展示用户任务、Java Service任务、业务规则任务、HTTP任务、脚本任务等的使用方法,并介绍任务管理的方法,以及监听器的原理,让读者了解其设计思路。

第12章介绍流程引擎的三大要素之一——网关,展示排他网关、并行网关、包容网关和事件网关的使用方法,以及认识条件顺序流和默认顺序流。

第13章介绍多实例配置,以及用户任务、请假会签的应用实例,并讲解审批意见和附件的使用方法。

第14章介绍流程数据的保存路径,介绍流程数据的三种查询方法:标准查询、Native查询、自定义SQL查询。

第15章介绍子流程、调用活动和事务的对比及使用。

第16章介绍流程引擎进阶用法,包括高并发ID生成器、多租户、异步执行器、事件日志和安全脚本。

第17章介绍流程元素行为设计原理,包括事件行为、任务行为和网关行为,均附有实例说明。

第18章介绍流程引擎的设计模式,包括有策略模式、状态模式、命令模式和观察者模式,均附有实例说明。

第19章介绍案例管理模型CMMN的概念和使用方法。

第20章介绍决策模型标记DMN的概念和使用方法。

如何阅读本书

本书可分为三大部分:入门、实战、进阶。

入门部分为第1~3章,是BPMN(业务流程建模标注,即主流使用的工作流建模语言)的基础内容,有相关基础的读者可跳过。

实战部分为第4~15章,全面介绍流程引擎的各个组成部分及工作原理。这部分各章节内容相对独立,读者可以先挑选感兴趣的章节阅读,再扩展到其他章节内容。另外,第19章是CMMN(案例管理模型)的实战内容,第20章是DMN(决策模型标记)的实战内容。

进阶部分为第16~18章,介绍流程引擎的进阶用法和设计原理,对读者的相关知识储备有较高要求。

致谢

感谢我的家人在写作期间对我悉心照顾,使我有精力投入写作过程中;特别感谢我的妻子,她总是能化解困境和指明方向,让我更加热爱生活。感谢博文视点公司编辑老师为本书出版所做的贡献,没有他们的坚持,就没有本书的诞生。

由于编者水平所限,书中难免存在错误和不妥之处,请广大读者批评指正。

金杨杰

2023年9月