新書推薦:
《
美国小史(揭秘“美国何以成为美国”,理解美国的经典入门读物)
》
售價:HK$
81.4
《
中国古代北方民族史丛书——东胡史
》
售價:HK$
87.8
《
巨人传(插图珍藏本)
》
售價:HK$
705.6
《
地下(村上春树沙林毒气事件的长篇纪实)
》
售價:HK$
76.7
《
偿还:债务与财富的阴暗面
》
售價:HK$
80.2
《
清华大学藏战国竹简校释(壹):《命训》诸篇
》
售價:HK$
94.4
《
封建社会农民战争问题导论(光启文库)
》
售價:HK$
68.4
《
虚弱的反攻:开禧北伐
》
售價:HK$
92.0
|
編輯推薦: |
本书主要介绍新一代工作流引擎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-INFprocesses.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
20.5.7 配置发送补充资料通知结束事件 287
20.5.8 配置查验保险资格服务任务 287
20.5.9 配置保险资格合格网关 288
20.5.10 配置拒保调用活动 289
20.5.11 配置计算保额 292
20.5.12 配置创建保单 293
20.5.13 配置发送保单 294
20.5.14 配置收到保单 295
20.5.15 配置确保结束事件 295
20.5.16 配置审查案例 295
20.5.17 配置风险可控?网关 296
20.5.18 配置拒保调用活动 297
20.5.19 配置拒保结束事件 297
20.6 测试流程 297
20.6.1 UT 297
20.6.2 确定测试用例 297
20.6.3 编写测试代码 298
20.6.4 执行测试 301
20.7 其他配置 302
20.7.1 配置服务端口 302
20.7.2 配置MySQL数据库 302
20.7.3 配置默认管理员账户 303
20.8 执行流程 303
20.8.1 启动服务 303
20.8.2 启动流程 303
20.8.3 创建新用户 304
20.8.4 完成用户任务 306
20.9 更新流程 307
20.9.1 修改流程 307
20.9.2 部署流程 308
20.10 常用配置 308
20.10.1 配置使用Python脚本 308
20.10.2 配置流程模块重用 308
20.10.3 配置外部任务 309
第21章 运维自动化案例实战 314
21.1 新建流程项目 314
21.2 设计流程 314
21.3 配置流程 315
21.3.1 配置参与者 315
21.3.2 配置收到Kafka消息消息开始事件 315
21.3.3 配置Kafka消息处理服务任务 316
21.3.4 配置收到告警消息开始事件 317
21.3.5 配置告警预处理服务任务 317
21.3.6 配置网关 319
21.3.7 配置处理告警用户任务 320
21.3.8 配置处理告警服务任务 320
21.3.9 配置验证处理结果任务 321
21.3.10 配置结束事件 322
21.3.11 保存流程 322
21.4 配置Kafka 322
21.4.1 添加依赖 322
21.4.2 设计消息模型 322
21.4.3 配置Kafka属性 323
21.4.4 创建Kafka Producer 323
21.4.5 创建Kafka Consumer 324
21.4.6 创建REST Controller 326
21.5 执行流程 327
21.5.1 启动服务 327
21.5.2 发送告警 328
21.5.3 发送Kafka消息 329
21.5.4 触发用户任务 330
21.5.5 历史记录与审计 331
附录A Camunda安装 332
A.1 安装Camunda BPM 332
A.1.1 先决条件 332
A.1.2 安装Camunda BPM平台 332
A.2 安装Camunda Modeler 333
附录B Maven项目模板原型 335
B.1 可用Maven原型的概述 335
B.2 Maven 原型在Eclipse IDE中的使用 335
B.2.1 总结 335
B.2.2 详细说明 336
B.3 Intellij IDEA的使用 340
B.3.1 添加Archetype 340
B.3.2 新建项目 342
B.4 在命令行上的使用 344
B.4.1 交互式 344
B.4.2 完全自动化 344
|
內容試閱:
|
除了传统的OA系统、ERP系统等,IT运维也可以基于工作流引擎来实现运维的自动化、可编程以及可追溯的系统,因此其重要性不言而喻。在工作流领域,基于Java的工作流引擎有JBPM、Activiti、Camunda等。
Camunda是从Activiti分支而来,经过多年发展,Camunda已经发展为一款成熟的产品,并得到了广泛的应用。其用户包括大型通信运营商(如德国电信、T-Mobile等)、环球音乐、Warner音乐集团、安联保险集团等公司以及欧洲的诸多银行机构,如奥地利中央合作银行协会、汉堡储蓄银行等。Camunda虽然发展迅速、应用广泛,但仍存在中文资料匮乏的问题。网络上虽然有不少介绍性的文章,但这些文章较为零散,缺乏系统性、完整性的书籍。鉴于此,笔者结合多年通信运营领域的运维自动化系统的经验,基于Camunda参考文档、用户指南等资料编写了此书。
本书是介绍基于Camunda工作流引擎开发流程应用程序的书,主要包括以下4部分,共计21章。
第一部分 BPMN 2.0基础,包括第1~5章。第1章参与者,包括泳池和泳道两种。第2章任务,包括服务任务、发送任务、用户任务、业务规则任务、脚本任务、接收任务、手工任务、任务标记。第3章网关,包括排他网关、条件序列流和默认序列流、并行网关、包含网关、事件网关。第4章事件,包括基本概念和事件类型。第5章子流程,包括嵌入式子流程、调用活动、事件子流程、事务子流程。
第二部分 Camunda介绍,包括第6~14章。第6章Camunda简介,包括Camunda BPM主要组件和Camunda BPM架构概述。第7章流程引擎,包括流程引擎基本概念、流程引擎的引导、流程引擎API、流程变量、流程实例修改、重启流程实例、委托代码、表达式语言、脚本、外部任务、流程版本、流程实例迁移、数据库、历史和审计日志、部署缓存、流程中的事务、作业执行器、多租户、ID生成器、指标、事件、流程引擎插件、身份服务、授权服务、时区、错误处理。第8章流程应用程序,包括流程应用程序类、processes.xml部署描述符、流程应用程序事件监听器、流程应用程序资源访问。第9章用户任务表单,包括嵌入式任务表单、生成任务表单、外部任务表单、通用任务表单、JSF任务表单。第10章外部任务客户端,包括特性、客户端引导、外部任务吞吐量。第11章DMN引擎,包括嵌入式DMN引擎、使用DMN引擎API评估决策、DMN引擎中的表达式、DMN引擎中的数据类型、使用DMN引擎测试决策。第12章决策,包括配置DMN引擎、流程引擎库中的决策、流程引擎中的决策服务、从流程中调用决策、DMN决策的历史记录。第13章日志记录,包括使用共享流程引擎的预配置日志、为嵌入式流程引擎添加日志后端。第14章测试,包括单元测试、测试的社区扩展、最佳实践。
第三部分 Camunda实战入门,包括第15~19章。第15章快速入门,包括新建一个BPMN流程图、实现外部任务工作者、部署流程、引入人工干预、流程动态化、决策自动化。第16章Java流程应用程序入门,包括新建一个Java流程项目、建模流程、部署和测试流程、添加HTML表单、从服务任务调用Java类。第17章Spring Boot流程应用程序入门,包括新建Spring Boot流程应用程序项目、配置Spring Boot项目、建模BPMN流程。第18章Spring Framework流程应用程序入门,包括新建Spring Web应用程序项目、嵌入式流程引擎配置、从服务任务调用Spring Bean、使用共享流程引擎。第19章DMN入门,包括新建DMN Java项目,创建DMN决策表,评估、部署和测试决策表,建模、评估和部署决策需求图。
第四部分 Camunda完整项目案例,包括第20、21章。这部分包含两个实战案例,详细介绍怎样集成Spring Boot,开发一个可以产品化的流程项目。第20章保险流程实战,包括新建流程项目、运行流程、查看默认流程、设计流程、配置流程、测试流程、其他配置、执行流程、更新流程、常用配置。第21章运维自动化案例实战,包括新建流程项目、设计流程、配置流程、配置Kafka、执行流程。
本书特色
(1)由浅入深,循序渐进地讲解Camunda的全部知识点。
(2)实战案例丰富。本书包含54个知识点案例、109段示例代码、5个实战入门案例、2个完整项目案例,便于初学者理解与掌握。
配套资源
为便于读者理解和上手实践,本书配有50min微课视频、源代码、BPMN流程图。
(1)获取微课视频方式:读者可以先扫描本书封底的文泉云盘防盗码,再扫描书中相应的视频二维码,观看视频。
(2)获取源代码、BPMN流程图方式:先扫描本书封底的文泉云盘防盗码,再扫描下方二维码,即可获取。
源代码 BPMN流程图
读者对象
本书全面介绍了Camunda的知识点及其所支持的BPMN和DMN规范,可作为流程开发过程中的重要参考书,适用于所有工作流程开发人员、设计人员、架构师,产品管理者以及Camunda爱好者等。
本书主要基于Camunda官网资料编写,同时参考了诸多相关资料,在此表示衷心的感谢。限于个人水平和时间仓促,书中难免存在疏漏之处,欢迎读者批评指正。
作 者
2021年1月
|
|