Camunda工作流开发实战——SpringBoot+BPMN+DMN
全新正版现货
¥
63.1
7.9折
¥
79.9
全新
仅1件
作者李贵俊
出版社清华大学出版社
ISBN9787302569428
出版时间2021-03
装帧平装
开本16开
纸张胶版纸
定价79.9元
货号29211038
上书时间2024-07-27
商品详情
- 品相描述:全新
-
正版全新
- 商品描述
-
【编辑推荐】:
本书主要介绍新一代工作流引擎Camunda来开发和使用工作流。Camunda是目前*为流行的工作流引擎之一,由Activiti发展而来的,是Activiti的下一代产品。本书全面介绍Camunda的知识点,及其所支持的三大规范:BPMN,DMN和CMMN,是开发过程中的参考书;本书提供了大量的实用案例,让读者可以很容易理解相关概念,并且可以快速上手使用;本书充分结合当前流行的Spring Framework、Spring Boot等框架,以简洁、高效的开发自己的工作流程。本书覆盖面广,适用于所有开发人员、设计人员、产品管理者、架构师及Camunda爱好者。
【内容简介】:
本书主要介绍新一代工作流引擎Camunda来开发和使用工作流。Camunda是目前*为流行的工作流引擎之一,由Activiti发展而来的,是Activiti的下一代产品。本书全面介绍Camunda的知识点,及其所支持的三大规范:BPMN,DMN和CMMN,是开发过程中的参考书;本书提供了大量的实用案例,让读者可以很容易理解相关概念,并且可以快速上手使用;本书充分结合当前流行的Spring Framework、Spring Boot等框架,以简洁、高效的开发自己的工作流程。本书覆盖面广,适用于所有开发人员、设计人员、产品管理者、架构师及Camunda爱好者。
【作者简介】:
李贵俊,毕业于四川大学,获得计算机专业硕士学位。现就职于诺基亚,具有多年开发实战经验,曾任软件架构师以及产品负责人(PO),具有丰富的软件开发及架构设计经验。
【目录】:
*部分 BPMN 2.0基础
第1章 参与者 3
第2章 任务 8
2.1 服务任务 8
2.2 发送任务 8
2.3 用户任务 9
2.4 业务规则任务 9
2.5 脚本任务 9
2.6 接收任务 9
2.7 手工任务 9
2.8 任务标记 10
第3章 网关 11
3.1 排他网关 11
3.2 条件序列流和默认序列流 12
3.2.1 条件序列流 12
3.2.2 默认序列流 12
3.3 并行网关 12
3.4 包含网关 13
3.5 事件网关 13
第4章 事件 15
4.1 基本概念 15
4.2 事件类型 16
4.2.1 开始事件 16
4.2.2 空白事件 17
4.2.3 消息事件 17
4.2.4 定时器事件 19
4.2.5 错误事件 21
4.2.6 升事件 23
4.2.7 信号事件 25
4.2.8 取消和补偿事件 26
4.2.9 条件事件 30
4.2.10 链接事件 32
4.2.11 终止事件 32
4.2.12 并行事件 32
4.3 小结 33
第5章 子流程 34
5.1 嵌入式子流程 35
5.2 调用活动 36
5.3 事件子流程 36
5.4 事务子流程 39
第二部分 Camunda介绍
第6章 Camunda简介 43
6.1 Camunda BPM主要组件 43
6.2 Camunda BPM架构概述 44
6.2.1 流程引擎架构 44
6.2.2 Camunda BPM平台架构 45
6.2.3 集群模式 46
6.2.4 多租户模型 46
第7章 流程引擎 47
7.1 流程引擎基本概念 47
7.1.1 流程定义 47
7.1.2 流程实例 48
7.1.3 执行 50
7.1.4 活动实例 51
7.1.5 作业和作业定义 52
7.2 流程引擎的引导 53
7.2.1 应用程序管理流程引擎 53
7.2.2 共享的、容器管理的流程引擎 53
7.3 流程引擎API 53
7.3.1 服务API 53
7.3.2 查询API 56
7.4 流程变量 59
7.4.1 变量作用域和可见性 59
7.4.2 变量设置和检索 61
7.4.3 支持的变量值 62
7.4.4 Java对象API 64
7.4.5 类型化值API 64
7.4.6 API的可互换性 68
7.4.7 输入输出变量映射 68
7.5 流程实例修改 70
7.5.1 流程修改示例 70
7.5.2 在JUnit测试中修改流程实例 72
7.6 重启流程实例 72
7.7 委托代码 73
7.7.1 Java委托 74
7.7.2 字段注入 74
7.7.3 委托变量映射 76
7.7.4 执行监听器 76
7.7.5 任务监听器 78
7.7.6 监听器字段注入 79
7.7.7 访问流程引擎服务 81
7.7.8 从委托代码中抛出BPMN错误 81
7.7.9 在委托代码中设置业务键 81
7.8 表达式语言 82
7.8.1 委托代码 82
7.8.2 条件 83
7.8.3 输入输出参数 83
7.8.4 值 84
7.9 脚本 84
7.9.1 使用脚本任务 84
7.9.2 使用脚本作为执行监听器 85
7.9.3 使用脚本作为任务监听器 85
7.9.4 使用脚本作为条件 86
7.9.5 使用脚本作为输入输出参数 86
7.9.6 脚本引擎的缓存 87
7.9.7 脚本编译 88
7.9.8 加载脚本引擎 88
7.9.9 引用流程应用程序提供的类 88
7.9.10 脚本执行期间可用的变量 88
7.9.11 通过脚本访问流程引擎服务 89
7.9.12 使用脚本打印日志到控制台 89
7.9.13 脚本源 89
7.10 外部任务 91
7.10.1 外部任务模式 91
7.10.2 BPMN中申明外部任务 92
7.10.3 使用REST API处理外部任务 92
7.10.4 使用Java API处理外部任务 93
7.11 流程版本 99
7.12 流程实例迁移 100
7.13 数据库 100
7.13.1 数据库模式 100
7.13.2 数据库配置 101
7.14 历史和审计日志 103
7.14.1 选择历史记录别 104
7.14.2 设置历史别 105
7.14.3 用户操作日志 105
7.14.4 清理历史数据 105
7.15 部署缓存 105
7.15.1 自定义缓存的*容量 106
7.15.2 自定义缓存实现 106
7.16 流程中的事务 107
7.16.1 等待状态 107
7.16.2 事务边界 107
7.16.3 异步延续 108
7.16.4 异常回滚 110
7.16.5 事务集成 111
7.16.6 乐观锁定 111
7.17 作业执行器 111
7.17.1 作业执行器激活 112
7.17.2 单元测试中的作业执行器 112
7.17.3 作业创建 112
7.17.4 作业获取 113
7.17.5 作业执行 115
7.17.6 并发作业执行 115
7.17.7 作业执行器和多流程引擎 117
7.17.8 集群设置 118
7.18 多租户 119
7.19 ID生成器 119
7.19.1 数据库ID生成器 120
7.19.2 UUID生成器 120
7.20 指标 120
7.20.1 内置指标 120
7.20.2 指标查询 121
7.21 事件 121
7.21.1 事件类型 122
7.21.2 创建和解决自定义事件 122
7.21.3 (去)激活事件 122
7.21.4 实现自定义事件处理程序 122
7.22 流程引擎插件 123
7.22.1 配置流程引擎插件 123
7.22.2 内置流程引擎插件列表 124
7.23 身份服务 124
7.23.1 为用户、组和租户定制白名单 124
7.23.2 数据库身份服务 125
7.23.3 LDAP身份服务 125
7.23.4 登录节流 126
7.24 授权服务 127
7.25 时区 127
7.25.1 流程引擎 127
7.25.2 数据库 127
7.25.3 Camunda Web应用程序 127
7.25.4 集群设置 127
7.26 错误处理 127
7.26.1 错误处理策略 127
7.26.2 监控和恢复策略 129
第8章 流程应用程序 131
8.1 流程应用程序类 131
8.1.1 EmbeddedProcessApplication 132
8.1.2 SpringProcessApplication 133
8.2 processes.xml部署描述符 134
8.2.1 空processes.xml 135
8.2.2 processes.xml文件的位置 135
8.2.3 自定义processes.xml文件的位置 136
8.2.4 在processes.xml文件中配置流程引擎 136
8.2.5 在processes.xml文件中指定流程归档的租户ID 136
8.2.6 流程应用程序部署 137
8.3 流程应用程序事件监听器 139
8.4 流程应用程序资源访问 141
8.4.1 上下文切换 141
8.4.2 声明流程应用程序上下文 142
第9章 用户任务表单 144
9.1 嵌入式任务表单 144
9.2 生成任务表单 145
9.2.1 表单字段 146
9.2.2 表单字段的验证 146
9.3 外部任务表单 148
9.4 通用任务表单 148
9.5 JSF任务表单 149
9.5.1 向流程应用程序添加JSF表单 149
9.5.2 创建简单的用户任务表单 150
9.5.3 它是怎样工作的 150
9.5.4 访问流程变量 151
9.5.5 设计任务表单的样式 154
第10章 外部任务客户端 156
10.1 特性 156
10.2 客户端引导 156
10.2.1 请求拦截器 157
10.2.2 主题订阅 157
10.2.3 处理程序 157
10.2.4 完成任务 157
10.2.5 延长任务的锁定时间 157
10.2.6 解锁任务 158
10.2.7 报告失败 158
10.2.8 BPMN错误报告 158
10.2.9 变量 158
10.2.10 日志记录 158
10.3 外部任务吞吐量 159
第11章 DMN引擎 160
11.1 嵌入式DMN引擎 160
11.1.1 Maven依赖 160
11.1.2 构建DMN引擎 160
11.1.3 DMN引擎的配置 161
11.1.4 日志记录 162
11.2 使用DMN引擎API评估决策 162
11.2.1 分析决策 162
11.2.2 评估决策 164
11.3 DMN引擎中的表达式 167
11.3.1 DMN中的表达式 167
11.3.2 支持的表达式语言 168
11.3.3 默认表达式语言 169
11.3.4 配置表达式语言 169
11.4 DMN引擎中的数据类型 170
11.4.1 支持的数据类型 170
11.4.2 设置输入的数据类型 171
11.4.3 设置输出的数据类型 171
11.4.4 设置变量的数据类型 171
11.4.5 实现自定义数据类型 171
11.5 使用DMN引擎测试决策 172
第12章 决策 173
12.1 配置DMN引擎 173
12.1.1 使用Java API配置DMN引擎 173
12.1.2 使用Spring XML文件配置DMN引擎 174
12.2 流程引擎库中的决策 174
12.2.1 部署一个决策 174
12.2.2 使用存储库服务部署决策 174
12.2.3 使用流程应用程序部署决策 175
12.2.4 查询决策存储库 175
12.2.5 查询决策存储库的授权 176
12.3 流程引擎中的决策服务 176
12.3.1 评估一个决策 176
12.3.2 评估决策的授权 177
12.3.3 处理决策结果 177
12.3.4 评估决策的历史 178
12.4 从流程中调用决策 178
12.4.1 与BPMN集成 178
12.4.2 决策结果 179
12.4.3 在决策中访问变量 181
12.4.4 表达式语言集成 182
12.5 DMN决策的历史记录 182
12.5.1 查询已评估的决策 182
12.5.2 历史决策实例 183
第13章 日志记录 185
13.1 使用共享流程引擎的预配置日志 185
13.2 为嵌入式流程引擎使用添加日志后端 185
13.2.1 使用Java Util日志 185
13.2.2 使用Logback 186
第14章 测试 187
14.1 单元测试 187
14.1.1 JUnit 4 187
14.1.2 JUnit 3 187
14.1.3 部署测试资源 188
14.2 测试的社区扩展 188
14.2.1 Camunda BPM Assert Scenario 188
14.2.2 Camunda BPM Process Test Coverage 189
14.3 *实践 191
14.3.1 编写针对性测试 191
14.3.2 测试范围 191
第三部分 Camunda实战入门
第15章 快速入门 195
15.1 使用Camunda BPM 平台建模并实现工作流 195
15.1.1 新建一个BPMN流程图 195
15.1.2 开始一个简单的流程 195
15.1.3 配置服务任务 197
15.1.4 配置执行属性 197
15.1.5 保存BPMN流程图 198
15.2 实现外部任务工作者 199
15.2.1 先决条件 199
15.2.2 新建一个Maven项目 199
15.2.3 添加Camunda外部任务客户端依赖 199
15.2.4 添加Java类 200
15.2.5 运行Worker 200
15.3 部署流程 201
15.3.1 使用Camunda Modeler部署流程 201
15.3.2 使用Cockpit确认部署 202
15.3.3 启动流程实例 203
15.4 引入人工干预 205
15.4.1 添加用户任务 205
15.4.2 配置用户任务 207
15.4.3 在用户任务中配置基本表单 208
15.4.4 部署流程 208
15.4.5 完成任务 208
15.5 流程动态化 210
15.5.1 添加两个网关 211
15.5.2 配置网关 212
15.5.3 部署流程 212
15.5.4 完成任务 212
15.6 决策自动化 214
15.6.1 向流程添加业务规则任务 214
15.6.2 使用Camunda Modeler创建DMN表 215
15.6.3 指定DMN表 215
15.6.4 部署DMN表 218
15.6.5 使用Cockpit确认部署 219
15.6.6 使用Cockpit和任务列表进行检查 220
第16章 Java流程应用程序入门 223
16.1 新建一个Java流程项目 223
16.1.1 新建一个Maven项目 223
16.1.2 添加Camunda Maven依赖 223
16.1.3 添加流程应用程序类 224
16.1.4 添加部署描述符 224
16.2 建模流程 225
16.2.1 新建一个BPMN流程图 225
16.2.2 配置用户任务 226
16.2.3 配置执行属性 227
16.2.4 保存流程图 227
16.3 部署和测试流程 227
16.3.1 使用Maven构建Web应用程序 227
16.3.2 部署到Apache Tomcat 227
16.3.3 用Cockpit确认部署 228
16.3.4 启动流程实例 229
16.3.5 配置流程启动授权 230
16.3.6 完成任务 231
16.4 添加HTML表单 232
16.4.1 添加开始表单 232
16.4.2 添加任务表单 233
16.4.3 重建和部署 234
16.5 从服务任务调用Java类 234
16.5.1 向流程添加服务任务 234
16.5.2 添加JavaDelegate实现 235
16.5.3 在流程中配置类 236
第17章 Spring Boot流程应用程序入门 237
17.1 新建Spring Boot流程应用程序项目 237
17.1.1 新建一个Maven项目 237
17.1.2 添加Camunda BPM和Spring Boot依赖 237
17.1.3 将主类添加到Spring Boot应用程序中 238
17.1.4 构建和运行 239
17.2 配置Spring Boot项目 240
17.2.1 自定义配置 240
17.2.2 构建和运行 240
17.3 建模BPMN 流程 240
17.3.1 建模一个可执行的BPMN 2.0流程并部署 240
17.3.2 创建流程应用程序 241
17.3.3 在部署流程应用程序之后启动流程实例 241
17.3.4 重建和测试 242
第18章 Spring Framework流程应用程序入门 243
18.1 新建Spring Web应用程序项目 243
18.1.1 新建一个Maven项目 243
18.1.2 添加Camunda BPM和Spring Framework依赖 243
18.1.3 添加用于引导Spring容器的web.xml文件 245
18.1.4 添加Spring应用程序上下文XML配置文件 245
18.2 嵌入式流程引擎配置 246
18.3 从服务任务调用Spring Bean 248
18.3.1 建模一个可执行的BPMN 2.0流程 249
18.3.2 使用Spring自动部署BPMN 2.0流程 249
18.3.3 从Spring Bean启动流程实例 250
18.3.4 从BPMN 2.0服务任务调用Spring Bean 250
18.4 使用共享流程引擎 252
第19章 DMN入门 255
19.1 新建DMN Java项目 255
19.1.1 新建一个Maven项目 255
19.1.2 添加Camunda Maven依赖 255
19.1.3 添加流程应用程序类 256
19.1.4 添加META-INF/processes.xml部署描述符 257
19.2 创建DMN决策表 257
19.2.1 新建一个DMN决策表 257
19.2.2 从表头开始 258
19.2.3 配置输入表达式和输出名 259
19.2.4 配置输入和输出的类型 260
19.2.5 添加规则 261
19.2.6 配置命中策略 263
19.2.7 保存决策表 264
19.3 评估、部署和测试决策表 264
19.3.1 评估决策表 264
19.3.2 使用Maven构建Web应用程序 264
19.3.3 部署到Apache Tomcat 265
19.3.4 从Cockpit确认部署 265
19.3.5 从Cockpit核实评估结果 265
19.4 建模、评估和部署决策需求图 266
19.4.1 从决策表切换到DRD 267
19.4.2 设置DRD的名称和Id 267
19.4.3 在DRD中创建一个新的决策 268
19.4.4 配置决策表并添加规则 269
19.4.5 评估决策 271
19.4.6 构建和部署Web应用程序 272
19.4.7 用Cockpit核实评估结果 272
第四部分 Camunda完整项目案例
第20章 保险流程实战 277
20.1 新建流程项目 277
20.2 运行流程 277
20.3 查看默认流程 278
20.4 设计流程 281
20.5 配置流程 282
20.5.1 配置保险申请人 282
20.5.2 配置保险公司 282
20.5.3 配置开始事件 283
20.5.4 配置“检查申请完整性”服务任务 284
20.5.5 配置申请“资料完整”网关 285
20.5.6 配置“发送补充资料通知”脚本任务 286
2
— 没有更多了 —
以下为对购买帮助不大的评价