疯狂Workflow讲义——基于Activiti的⼯作流应⽤开PDF下载
《疯狂Workflow讲义——基于Activiti的⼯作流应⽤开》
⼀:⽂档获取下载⽅式:
1:花20CSDN积分:可以下载:
2:脚本之家:
3:申请加⼊此QQ即可获取下载
⼆:本书⽬录:
图书简介:
本书是⼀本介绍Java⼯作流领域的书,以Activiti为核⼼,内容囊括了多个流⾏的企业级Java EE框架,全书主要可分为以下⼏个部分。
  第1部分:对Activiti的基础知识进⾏讲解,包括框架起源、基本的设计模式、数据库设置以及框架配置等,该部分知识可以帮助读者对Activiti的基础有⼀个更深⼊的认识,对Activiti的设计有⼀个初步的印象,
该部分内容也可以作为整合Activiti到项⽬中的参考。
  第2部分:从源代码的实现上讲解Activiti各个模块的API,除了讲述这些API的作⽤外,还会引领读者深⼊到这些API的内部,此部分内容可以作为⼀份详细的Activiti API的帮助⽂档。
  第3部分:详细讲述了BPMN 2.0规范的内容,包括⽬前Activiti对该规范的实现情况,在讲解BPMN 2.0规范时,将规范与Activiti的实现进⾏结合,在通俗易懂的案例下,帮助读者对Activiti的实现以及BPMN 2.0规范有更深⼊的了解。
  第4部分:如何在实际企业应⽤中使⽤Activiti,并与其他流⾏的开源框架进⾏整合,包括企业应⽤开发所必需的Web Service、企业服务总线、规则引擎、IoC框架和ORM框架等,除了本书主要的Activiti知识外,这些企业中常⽤框架的知识,也可以在该部分内容得到体现,通过学习这部分内容,可以极⼤丰富读者的实战知识,让读者可以成为⼀个更全⾯的技术⼈员。
  第5部分:在第17章中讲述了Activiti的核⼼架构流程虚拟机以及Activiti的表单知识,本书最后⼀章,通过讲解⼀个办公⾃动化系统的开发过程,让读者更了解Activiti在实际⽣产中的使⽤,让本书的内容不仅仅停留在理论的层次,更为读者开辟了实践的道路。
  本书特点
  笔者长期⼯作于企业的IT部门,有着丰富的企业应⽤开发经验,因此本书有着以下特点。
  1. 内容深⼊
  从笔者接触编程开始,就养成了查看源代码的习惯,书中的案例不仅仅讲解Activiti的功能,更模仿Activiti的思路去模拟功能的实现,读者可以深⼊了解其中的原理。
  2. 开发环境与案例更贴近实际
  笔书中案例的开发环境、使⽤的框架以及⼯具均是来⾃企业的实际应⽤,案例的选取与研发过程更贴近实际。
  3. 注释详细
  本书的代码,⼏乎每⾏核⼼Java代码均有注释,读者可以很容易地了解代码的意思,轻松掌握相应的知识。
  本书写给谁看
相关截图:
图书⽬录:
第1章 Activiti介绍 1
1.1 ⼯作流介绍 2
1.2 BPMN
2.0规范简述 2
shell程序的编写流程
1.2.1 BPMN 2.0概述 3
1.2.2 BPMN 2.0元素 3
1.2.3 BPMN 2.0的XML结构 4
1.3 Activiti介绍 4
1.3.1 Activiti的出现 5
1.3.2 Activiti的发展 5
1.3.3 选择Activiti还是jBPM 5
1.4 本章⼩结 5
第2章 安装与运⾏Activiti 6
2.1 下载与运⾏Activiti 7
2.1.1 下载和安装Ant 7
2.1.2 下载和安装Maven 8
2.1.3 下载和安装Activiti 9
2.1.4 运⾏第⼀个Activiti应⽤ 9
2.2 安装开发环境 11
2.2.1 下载Eclipse 11
2.2.2 安装Activiti插件 11
2.2.3 获取Activiti源代码 13
2.3 编写第⼀个Activiti程序 15
2.3.1 如何运⾏本书案例 15
2.3.2 建⽴⼯程环境 15
2.3.3 创建配置⽂件 16
2.3.4 创建流程⽂件 16
2.3.5 加载流程⽂件与启动流程 17
2.4 本章⼩结 18
第3章 Activiti数据库设计 19
3.1 通⽤数据表 20
3.2 流程存储表 21
3.2.1 部署数据表 21
3.2.2 流程定义表 21
3.3 ⾝份数据表 21
3.3.1 ⽤户表 21
3.3.2 ⽤户账号(信息)表 22
3.3.3 ⽤户组表 22
3.3.4 关系表 22
3.4 运⾏时数据表 23
3.4.1 流程实例(执⾏流)表 23
3.4.2 流程任务表 23
3.4.3 流程参数表 24
3.4.4 流程与⾝份关系表 24
3.4.5 ⼯作数据表 24
3.4.6 事件描述表 25
3.5 历史数据表 25
3.5.1 流程实例表 25
3.5.2 流程明细表 26
3.5.3 历史任务表和历史⾏为表 26
3.5.4 附件表和评论表 26
3.6 本章⼩结 27
第4章 Activiti流程引擎配置 28
4.1 ProcessEngineConfiguration 29
4.1.1 createProcessEngineConfigurationFrom ResourceDefault⽅法 29 4.1.2 createProcessEngineConfiguration FromResource⽅法 30
4.1.3 createProcessEngineConfiguration FromInputStream⽅法 30 4.1.4 createStandaloneInMemProcess EngineConfiguration⽅法 30 4.1.5 createStandaloneProcessEngine Configuration⽅法 31
4.2 数据源配置 31
4.2.1 Activiti⽀持的数据库 32
4.2.2 Activiti与Spring 32
4.2.3 JDBC配置 32
4.2.4 DBCP数据源配置 33
4.2.5 C3P0数据源配置 34
4.2.6 Activiti其他数据源配置 35
4.2.7 databaseSchemaUpdate配置 35
4.2.8 databaseType配置 36
4.3 其他属性配置 37
4.3.1 history配置 37
4.3.2 jobExecutorActivate配置 38
4.3.3 邮件服务器配置 38
4.4 ProcessEngineConfiguration bean 38
4.4.1 ProcessEngineConfiguration及其⼦类 38
4.4.2 ⾃定义ProcessEngineConfiguration 39
4.5 Activiti的命令 41
4.5.1 命令模式 41
4.5.2 责任链模式 43
4.5.3 编写⾃定义 45
4.6 本章⼩结 47
第5章 流程引擎的创建 48
5.1 ProcessEngineConfiguration的buildProcessEngine⽅法 49
5.2 ProcessEngines 49
5.2.1 init与getDefaultProcessEngine⽅法 49
5.2.2 registerProcessEngine和unregister⽅法 50
5.2.3 retry⽅法 50
5.2.4 destroy⽅法 51
5.3 ProcessEngine对象 51
5.3.1 服务组件 52
5.3.2 close⽅法 52
5.3.3 流程引擎名称 53
5.4 本章⼩结 54
第6章 ⽤户组与⽤户 55
6.1 ⽤户组管理 56
6.1.1 Group对象 56
6.1.2 创建⽤户组 56
6.1.3 修改⽤户组 57
6.1.4 删除⽤户组 58
6.2 Activiti数据查询 58
6.2.1 查询对象 59
6.2.2 list⽅法 59
6.2.3 listPage⽅法 60
6.2.4 count⽅法 60
6.2.5 排序⽅法 61
6.2.6 ID排序问题 62
6.2.7 多字段排序 63
6.2.8 singleResult⽅法 65
6.2.9 ⽤户组数据查询 65
6.3.5 验证⽤户密码 69
6.3.6 ⽤户数据查询 70
6.3.7 设置⽤户权限 71
6.4 ⽤户信息管理 72
6.4.1 添加和删除⽤户信息 72
6.4.2 查询⽤户信息 73
6.4.3 添加与删除⽤户账号 74
6.4.4 查询⽤户信息 75
6.4.5 设置⽤户图⽚ 76
6.5 ⽤户组与⽤户关系 77
6.5.1 绑定关系 77
6.5.2 解除绑定 78
6.5.3 查询⽤户组下的⽤户 78
6.5.4 查询⽤户所属的⽤户组 79
6.6 本章⼩结 80
第7章 流程存储 81
7.1 流程⽂件部署 82
7.1.1 Deployment对象 82
7.1.2 DeploymentBuilder对象 82
7.1.3 添加输⼊流资源 83
7.1.4 添加classpat 84
7.1.5 添加字符串资源 85
7.1.6 添加压缩包资源 85
7.1.7 修改部署名称 86
7.1.8 过滤重复部署 86
7.1.9 资源部署 87
7.2 流程定义的管理 87
7.2.1 ProcessDefinition对象 87
7.2.2 流程部署 88
7.2.3 流程图部署 89
7.2.4 中⽌与激活流程定义 90
7.3 流程定义权限 91
7.3.1 设置流程定义的⽤户权限 91
7.3.2 设置流程定义的⽤户组权限 93
7.3.3 IdentityLink对象 93
7.3.4 查询权限数据 93
7.4 RepositoryService数据查询与删除 95 7.4.1 查询部署资源 96
7.4.2 查询流程⽂件 96
7.4.3 查询流程图 97
7.4.4 查询部署资源名称 98
7.4.5 删除部署资源 98
7.4.6 DeploymentQuery对象 99
7.4.7 ProcessDefinitionQuery对象 100 7.5 本章⼩结 100
第8章 流程任务管理 101
8.1 任务的创建与删除 102
8.1.1 Task对象 102
8.1.2 创建与保存Task实例 103
8.1.3 删除任务 103
8.2 任务权限 104
8.2.1 设置候选⽤户组 105
8.2.2 设置候选⽤户 106
8.2.3 权限数据查询 106
8.2.4 设置任务持有⼈ 108
8.2.5 设置任务受理⼈ 109
8.2.6 添加任务权限数据 110
8.2.7 删除⽤户组权限 112
8.2.8 删除⽤户权限 113
8.3 任务参数 115
8.3.1 基本类型参数设置 115
8.3.2 序列化参数 116
8.3.3 获取参数 117
8.3.4 参数作⽤域 118
8.3.5 设置多个参数 119
8.4 任务附件管理 120
8.4.1 AttachmentEntity对象 120
8.4.2 创建任务附件 120
8.4.3 附件查询 122
8.4.4 删除附件 123
8.5 任务评论与事件记录 123
8.5.1 CommentEntity对象 123
8.5.2 新增任务评论 124
8.5.3 事件的记录 124
第9章 流程控制 129
9.1 流程实例与执⾏流 130
9.1.1 流程实例与执⾏流概念 130
9.1.2 流程实例和执⾏流对象(ProcessInstance与Execution) 130 9.2 启动流程 131
9.2.1 startProcessInstanceById⽅法 131
9.2.2 startProcessInstanceByKey⽅法 133
9.2.3 startProcessInstanceByMessage 134
9.3 流程参数 135
9.3.1 设置与查询流程参数 136
9.3.2 流程参数的作⽤域 136
9.3.3 其他设置参数⽅法 138
9.4 流程操作 138
9.4.1 发送信号 138
9.4.2 触发信号事件 140
9.4.3 触发消息事件 143
9.4.4 中断与激活流程 145
9.4.5 删除流程 145
9.5 流程数据查询 146
9.5.1 执⾏流查询 146
9.5.2 流程实例查询 149
9.6 本章⼩结 150
第10章 历史数据管理和流程引擎管理 151
10.1 历史数据管理 152
10.1.1 历史流程实例查询 152
10.1.2 历史任务查询 154
10.1.3 历史⾏为查询 157
10.1.4 历史流程明细查询 159
10.1.5 删除历史流程实例和历史任务 161
10.2 ⼯作的产⽣ 162
10.2.1 异步任务产⽣的⼯作 162
10.2.2 定时中间事件产⽣的⼯作 164
10.2.3 定时边界事件产⽣的⼯作 165
10.2.4 定时开始事件产⽣的⼯作 166
10.2.5 流程抛出事件产⽣的⼯作 167
10.2.6 ⼯作的执⾏ 169
10.3 ⼯作管理 170
10.3.1 JobQuery对象 170
10.3.2 获取⼯作异常信息 173
10.3.3 设置⼯作执⾏次数 173
10.4 数据库管理 174
10.4.1 查询引擎属性 175
10.4.2 数据表信息查询 175
10.4.3 数据库操作 176
10.4.4 数据表查询 177
10.5 本章⼩结 178
第11章 流程事件 179
11.1 事件分类 180
11.1.1 按照事件的位置分类 180
11.1.2 按照事件的特性分类 180
11.2 事件定义 180
11.2.1 定时器事件定义 181
11.2.2 cron表达式 181
11.2.3 错误事件定义 183
11.2.4 信号事件定义 183
11.2.5 消息事件定义 184
11.2.6 取消事件定义 184
11.2.7 补偿事件定义 185
11.2.8 其他事件定义 185
11.3 开始事件 185
11.3.1 ⽆指定开始事件 185
11.3.2 定时器开始事件 186
11.3.3 消息开始事件 187
11.3.4 错误开始事件 189
11.4 结束事件 191
11.4.1 ⽆指定结束事件 191
11.4.2 错误结束事件 191
11.4.3 取消结束事件和取消边界事件 193
11.5 边界事件 196
11.5.1 定时器边界事件 196
11.5.2 错误边界事件 198
11.5.3 信号边界事件 200
11.5.4 补偿边界事件 202
11.6 中间事件 205
11.6.3 信号中间Catching事件 207
11.6.4 信号中间Throwing事件 209
11.6.4 消息中间事件 211
11.6.5 ⽆指定中间事件 211
11.7 补偿中间事件 211
11.7.1 补偿执⾏次数 211
11.7.2 补偿执⾏范围 213
11.7.3 补偿的执⾏顺序 217
11.7.4 补偿的参数设置 219
11.8 本章⼩结 220
第12章 流程任务 221
12.1 BPMN 2.0中的任务 222
12.1.1 任务的继承 222
12.1.2 XML约束 222
12.1.3 任务的类型 224
12.2 ⽤户任务 225
12.2.1 分配任务候选⼈ 225
12.2.2 分配任务受理⼈ 226
12.2.3 权限分配扩展 227
12.2.4 使⽤任务进⾏权限分配 228
12.2.5 使⽤JUEL分配权限 229
12.3 脚本任务 231
12.3.1 脚本任务 231
12.3.2 JavaScript脚本 232
12.3.3 Groovy脚本 233
12.3.4 设置返回值 233
12.3.5 JUEL脚本 234
12.4 服务任务 235
12.4.1 Java服务任务 235
12.4.2 实现JavaDelegate 236
12.4.3 使⽤普通Java Bean 237
12.4.4 在Activiti中调⽤Web Service 238
12.4.5 import元素 238
12.4.6 itemDefinition元素和message元素 239 12.4.7 interface元素与operation元素 239
12.4.8 设置Web Service参数与返回值 239 12.4.9 发布Web Service 240
12.4.10 使⽤Web Service Task 241
12.4.11 JavaDelegate属性注⼊ 244
12.4.12 在JavaDelegate中调⽤Web Service 246 12.4.13 Shell任务 247
12.5 其他任务 249
12.5.1 ⼿⼯任务和接收任务 249
12.5.2 邮件任务 250
12.5.3 Mule任务和业务规则任务 252
12.6 任务 252
12.6.1 使⽤class指定 252
12.6.2 使⽤expression指定 253
12.6.3 使⽤delegateExpression指定 254 12.6.4 的触发 254
12.6.5 属性注⼊ 255
12.7 流程 256
12.7.1 配置流程 256
12.7.2 触发流程的事件 257
12.8 本章⼩结 259
第13章 其他流程元素 260
13.1 ⼦流程 261
13.1.1 嵌⼊式⼦流程 261
13.1.2 调⽤式⼦流程 263
13.1.3 调⽤式⼦流程的参数传递 265
13.1.4 事件⼦流程 267
13.1.5 事务⼦流程 269
13.2 顺序流 271
13.2.1 条件顺序流 272
13.2.2 默认顺序流 273
13.3 流程关⼝ 275
13.3.1 单向关⼝ 275
13.3.2 并⾏关⼝ 277
13.3.3 兼容关⼝ 279
13.3.4 事件关⼝ 281
13.4 流程活动特性 283
13.4.1 多实例活动 283
13.4.2 设置循环数据 285
13.4.3 获取循环元素 286
13.4.4 循环的内置参数 288
13.4.5 循环结束条件 290
13.4.6 补偿处理者 291