《Activiti实战》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:闫洪磊著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2015
  • ISBN:9787111485957
  • 页数:492 页
图书介绍:本书分为四大部分:第一部分为准备篇,介绍整个体系结构及其特点,并为后面的内容配置开发环境。第二部分为基础篇,介绍BPMN2.0规范,以及两种流程设计器的使用。第三部分为实战篇,本书中内容最多的一部分内容,全篇内容以实战为主,包括流程定义、流程实例、任务、子流程、多实例、事件以及监听器等。第四部分为高级篇,通过集成各种服务、中间件来阐述Activiti不仅仅是引擎,实际上是一个BPM平台,最后还深入源码内部剖析Activiti的设计模式及PVM。

第一部分 准备篇 2

第1章 认识Activiti 2

1.1 什么是Activiti 2

1.2 工作流基础 3

1.2.1 什么是BPM 3

1.2.2 工作流生命周期 4

1.2.3 什么是BPMN 5

1.3 Activiti的特点 5

1.4 Activiti的应用 6

1.5 Activiti架构与组件 7

1.6 Activiti与jBPM5比较 8

1.7 本章小结 9

第2章 搭建Activiti开发环境 10

2.1 下载Activiti 10

2.1.1 目录结构 10

2.1.2 Javadocs 12

2.2 环境配置检查 14

2.2.1 检查并安装JDK 14

2.2.2 检查并安装Ant 14

2.2.3 检查并安装Maven 15

2.3 配置文件介绍 16

2.3.1 Activiti配置文件 16

2.3.2 Maven配置文件 17

2.4 Hello World 18

2.4.1 最简单的流程定义 18

2.4.2 创建单元测试类 20

2.4.3 运行Hello World 21

2.4.4 添加业务节点 21

2.5 Activiti Explorer 25

2.5.1 配置并运行Activiti Explorer 25

2.5.2 使用Activiti Explorer 26

2.6 本章小结 29

第二部分 基础篇 32

第3章 流程设计工具 32

3.1 基于B/S架构的流程设计器Activiti Modeler 32

3.1.1 Activiti Modeler特点 32

3.1.2 下载signavio-core-components 33

3.1.3 配置打包与运行 33

3.1.4 Windows用户打包 36

3.1.5 设计请假流程 37

3.1.6 导出bpmn2.0.xml 41

3.2 在Activiti Explorer中使用Activiti Modeler 41

3.3 基于Eclipse插件的流程设计器Activiti Designer 44

3.3.1 Activiti Designer特点 44

3.3.2 安装Activiti Designer 45

3.3.3 设计流程 46

3.3.4 自动化 51

3.3.5 升级历史遗留的流程设计 55

3.3.6 导入Activiti Modeler设计 56

3.3.7 泳池与泳道 57

3.3.8 在Activiti Designer中使用泳道与泳池 58

3.4 本章小结 60

第4章 Activiti与BPMN 2.0规范 61

4.1 启动事件与结束事件 62

4.1.1 启动事件 62

4.1.2 结束事件 66

4.2 顺序流 69

4.2.1 标准顺序流 69

4.2.2 条件顺序流 69

4.3 任务 70

4.3.1 用户任务 70

4.3.2 脚本任务 73

4.3.3 Java Service任务 74

4.3.4 Web Service任务 75

4.3.5 业务规则任务 76

4.3.6 邮件任务 77

4.3.7 Camel任务 79

4.3.8 Mule任务 80

4.3.9 手动任务 81

4.3.10 接收任务 81

4.3.11 Shell任务 81

4.3.12 多实例 82

4.4 网关 85

4.4.1 排他网关 85

4.4.2 并行网关 87

4.4.3 包容网关 89

4.4.4 事件网关 90

4.5 子流程与调用活动 92

4.5.1 子流程 92

4.5.2 调用活动 94

4.5.3 事件子流程 95

4.5.4 事务子流程 97

4.6 边界与中间事件 98

4.6.1 边界事件 99

4.6.2 中间捕获事件 103

4.6.3 中间抛出事件 107

4.7 监听器 109

4.7.1 执行监听器 109

4.7.2 任务监听器 111

4.8 本章小结 112

第三部分 实战篇 116

第5章 用户与组及部署管理 116

5.1 用户与组 116

5.1.1 用户 117

5.1.2 组 118

5.1.3 用户与组的关系 119

5.1.4 用户任务中的用户与组 120

5.2 部署流程资源 126

5.2.1 classpath方式 126

5.2.2 InputStream方式 128

5.2.3 字符串方式 128

5.2.4 zip/bar格式压缩包方式 129

5.3 流程部署及资源读取 131

5.3.1 读取已部署流程定义 133

5.3.2 从客户端部署流程 134

5.3.3 读取流程定义的XML 137

5.3.4 读取流程定义的图片及图片中的中文乱码 138

5.3.5 删除部署 143

5.4 本章小结 144

第6章 任务表单 145

6.1 动态表单 145

6.1.1 流程定义 146

6.1.2 单元测试 151

6.1.3 在Activiti Explorer中运行流程 154

6.2 实现自己的Activiti Explorer 160

6.2.1 完善身份验证功能 160

6.2.2 流程启动表单 162

6.2.3 任务签收与办理 165

6.2.4 自定义表单的字段类型 169

6.3 外置表单 171

6.3.1 流程定义 172

6.3.2 单元测试 173

6.3.3 自定义表单引擎 174

6.3.4 读取流程启动表单 175

6.3.5 任务签收与办理 179

6.4 本章小结 181

第7章 Activiti与容器集成 182

7.1 流程引擎工厂 182

7.1.1 创建引擎的方式 182

7.1.2 配置ProcessEngineFactory-Bean 183

7.2 自动部署流程定义 187

7.3 表达式 189

7.3.1 表达式基础 189

7.3.2 表达式示例 190

7.3.3 使用Spring管理变量 193

7.4 监听器 195

7.5 Spring容器集成应用实例 199

7.5.1 业务建模 200

7.5.2 启动流程 200

7.5.3 任务读取 203

7.5.4 任务办理 204

7.6 使用Spring注解初始化引擎 208

7.6.1 使用@EnableActiviti注解 208

7.6.2 使用Spring Boot初始化引擎 210

7.7 CDI模块 212

7.7.1 启动示例 212

7.7.2 引擎配置与流程定义 213

7.7.3 流程定义与启动 214

7.7.4 任务办理与完成 218

7.7.5 事件监听 220

7.8 本章小结 221

第8章 邮件服务 222

8.1 配置与测试 222

8.1.1 搭建邮件系统 222

8.1.2 通过Activiti的邮件任务发送邮件 226

8.1.3 使用Gmail发送邮件 227

8.2 与业务集成 229

8.2.1 即时发送邮件 229

8.2.2 定时发送邮件 231

8.3 本章小结 233

第9章 多实例 234

9.1 非用户任务 234

9.2 用户任务多实例 236

9.2.1 顺序方式办理 236

9.2.2 并行方式办理 237

9.2.3 设置结束条件 238

9.3 应用实例——请假会签 240

9.3.1 流程定义 240

9.3.2 任务办理 243

9.4 审批意见 245

9.5 本章小结 247

第10章 子流程与调用活动 248

10.1 子流程 249

10.1.1 流程定义 250

10.1.2 流程办理 253

10.1.3 分析流程数据 255

10.2 调用活动 256

10.2.1 流程定义 256

10.2.2 单元测试 258

10.2.3 流程办理 259

10.2.4 分析流程数据 260

10.3 事件子流程 261

10.3.1 流程定义 262

10.3.2 单元测试 263

10.4 多实例支持 264

10.5 本章小结 266

第11章 事件 267

11.1 启动事件 267

11.1.1 定时启动事件 267

11.1.2 消息启动事件 271

11.2 结束事件 274

11.3 边界事件 276

11.3.1 异常边界事件 276

11.3.2 消息边界事件 278

11.3.3 信号边界事件 282

11.4 中间事件 284

11.5 本章小结 286

第12章 用户任务与附件 287

12.1 用户任务 288

12.1.1 改进任务列表 288

12.1.2 改进任务表单 289

12.1.3 任务相关人员 291

12.1.4 反签收任务 295

12.1.5 候选人与候选组 296

12.1.6 改进任务查询 298

12.2 子任务 299

12.3 手动任务 302

12.4 附件 303

12.5 改进意见列表 305

12.6 任务委派 307

12.6.1 单元测试 308

12.6.2 任务表单中的委派 309

12.7 本章小结 310

第13章 流程数据查询与跟踪 312

13.1 QueryAPI简介 312

13.2 运行时数据查询 314

13.2.1 任务查询 314

13.2.2 查询参与的流程 317

13.3 流程图跟踪 320

13.4 历史数据查询 325

13.4.1 查询历史活动及表单 325

13.4.2 查询已归档流程 326

13.5 基于MyBatis的CustomSql查询 327

13.5.1 定义Mapper接口 329

13.5.2 展示数据 330

13.6 本章小结 330

第14章 管理员特性 331

14.1 流程状态 331

14.1.1 流程定义状态 331

14.1.2 作业查询 334

14.1.3 流程实例状态 336

14.2 作业管理 338

14.2.1 作业执行原理 339

14.2.2 作业执行异常 339

14.2.3 独占与异步 341

14.3 删除流程实例 345

14.4 流程定义权限控制 347

14.4.1 权限拦截 347

14.4.2 设置候选启动人和候选启动组 349

14.4.3 读取候选启动数据 351

14.5 读取引擎属性 353

14.6 数据库查询 353

14.7 用户与组 355

14.8 本章小结 356

第四部分 高级篇 358

第15章 集成WebService 358

15.1 发布WebService服务 359

15.2 在流程中定义WebService任务 362

15.3 在流程中调用WebService 364

15.4 本章小结 365

第16章 集成规则引擎 367

16.1 定义流程与规则 367

16.1.1 部署规则文件 369

16.1.2 单元测试 369

16.2 本章小结 371

第17章 集成JPA 372

17.1 配置JPA 372

17.1.1 Standalone模式 373

17.1.2 Spring模式 373

17.2 JPA版本的请假流程 374

17.2.1 启动流程时持久化JPA实体 375

17.2.2 更改JPA实体属性 378

17.2.3 清理历史表单数据 381

17.3 本章小结 382

第18章 集成ESB 383

18.1 Camel简介与快速入门 383

18.2 在流程中调用Camel 385

18.2.1 Camel依赖及配置 386

18.2.2 定义Camel路由 387

18.2.3 执行单元测试 388

18.2.4 URI输入参数 388

18.2.5 URI输出参数 390

18.3 异步Camel任务 391

18.4 在Camel中启动流程 391

18.5 集成Mule 392

18.5.1 Mule快速入门 393

18.5.2 Mule、Spring与Activiti集成 394

18.5.3 在流程中调用Mule 396

18.6 本章小结 398

第19章 统一身份管理 399

19.1 一套典型的身份系统 399

19.2 引擎身份接口方式 401

19.3 用视图代替物理表 406

19.4 集成LDAP 406

19.5 本章小结 409

第20章 REST服务 410

20.1 通信协议简介 410

20.2 REST API概述 411

20.3 发布REST API 413

20.3.1 通过浏览器访问 414

20.3.2 通过HttpClient访问 415

20.3.3 通过Restlet访问 416

20.3.4 通过Apache CXF访问 417

20.4 集成RESTAPI 417

20.4.1 依赖及配置文件 418

20.4.2 通过Ajax访问 419

20.5 完整示例 420

20.5.1 部署流程 421

20.5.2 查询Deployment 422

20.5.3 查询流程定义 423

20.5.4 启动流程 424

20.5.5 读取流程变量 428

20.5.6 查询任务 429

20.5.7 签收任务 431

20.5.8 完成任务 431

20.5.9 查询历史数据 433

20.6 集成流程图跟踪组件Diagram Viewer 434

20.6.1 准备资源文件 434

20.6.2 准备配置文件 434

20.6.3 访问Diagram Viewer跟踪流程 435

20.7 基于REST服务搭建流程中心 437

20.7.1 基础架构 438

20.7.2 表单模式选型 439

20.7.3 统一的组件 440

20.7.4 事务管理 440

20.8 集成流程设计器Acfiviti Modeler 440

20.8.1 准备资源文件 441

20.8.2 准备配置文件 442

20.8.3 更改默认配置 443

20.8.4 创建模型 443

20.8.5 导出模型的流程XML 445

20.8.6 把模型转换为流程定义 446

20.8.7 把流程定义转换为模型 447

20.8.8 删除模型 449

20.9 本章小结 449

第21章 入侵Activiti 450

21.1 解析BPMN文件 450

21.1.1 BpmnModel对象与XML之间的转换 451

21.1.2 动态创建流程 454

21.1.3 BPMN解析处理器 457

21.2 全局事件处理器 461

21.2.1 定义事件处理器 463

21.2.2 处理捕获的事件 467

21.2.3 事件处理器的异常处理 469

21.2.4 动态注册事件处理器 470

21.2.5 任务自动转办 471

21.2.6 事件日志 474

21.3 命令与拦截器 477

21.3.1 命令与拦截器运行机制 478

21.3.2 自定义命令 480

21.3.3 命令拦截器 482

21.4 流程虚拟机—PVM 484

21.4.1 简述PVM 484

21.4.2 Hello PVM 484

21.4.3 PVM进阶 487

21.5 本章小结 489