《疯狂Workflow讲义 基于Activiti的工作流应用开发》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:杨恩雄编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2014
  • ISBN:9787121226731
  • 页数:440 页
图书介绍:书中首先对Activiti的基础知识进行讲解,并从源代码的实现上讲解Activiti各个模块的API。此外详细讲述了BPMN 2.0规范的内容,包括目前Activiti对该规范的实现情况。书中还讲解了如何在实际企业应用中使用Activiti,并与其他流行的开源框架进行整合,包括企业应用开发所必需的Web Service、企业服务总线、规则引擎、IoC框架和ORM框架等。

第1章 Activiti介绍 1

1.1 工作流介绍 2

1.2 BPMN 2.0规范简述 2

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.1.1 资源表 20

3.1.2 属性表 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 createProcessEngineConfigurationFromResourceDefault方法 29

4.1.2 createProcessEngineConfigurationFromResource方法 30

4.1.3 createProcessEngineConfigurationFromInputStream方法 30

4.1.4 createStandaloneInMemProcessEngineConfiguration方法 30

4.1.5 createStandaloneProcessEngineConfiguration方法 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 用户管理 67

6.3.1 User对象 67

6.3.2 添加用户 67

6.3.3 修改用户 68

6.3.4 删除用户 68

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 添加classpath资源 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

8.5.4 数据查询 126

8.6 任务声明与完成 126

8.6.1 任务声明 126

8.6.2 任务完成 127

8.7 本章小结 128

第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.1 中间事件分类 205

11.6.2 定时器中间事件 206

11.6.3 信号中间Catching事件 207

11.6.4 信号中间Throwing事件 209

11.6.5 消息中间事件 211

11.6.6 无指定中间事件 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中调用WebService 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

13.5 本章小结 292

第14章 Activiti与规则引擎 293

14.1 概述 294

14.1.1 规则引擎Drools 294

14.1.2 Drools下载与安装 294

14.2 开发第一个Drools应用 295

14.2.1 建立Drools环境 295

14.2.2 编写规则 296

14.2.3 加载与运行 296

14.3 Drools规则语法概述 297

14.3.1 规则文件结构 297

14.3.2 关键字 298

14.3.3 规则编译 299

14.4 类型声明 299

14.4.1 声明新类型 300

14.4.2 使用ASM操作字节码 301

14.4.3 类型声明的使用 302

14.4.4 类型的继承 303

14.4.5 声明元数据 304

14.5 函数和查询 305

14.5.1 函数定义和使用 305

14.5.2 查询的定义和使用 307

14.6 规则语法 308

14.6.1 全局变量 308

14.6.2 规则属性 310

14.6.3 条件语法 313

14.6.4 行为语法 316

14.7 Activiti调用规则 317

14.7.1 业务规则任务 317

14.7.2 制定销售单优惠规则 318

14.7.3 实现销售流程 321

14.8 本章小结 323

第15章 整合第三方框架 324

15.1 Spring框架 325

15.1.1 Spring的IoC 325

15.1.2 Spring的AOP 326

15.1.3 使用IoC 326

15.1.4 使用AOP 327

15.2 Activiti整合Spring 328

15.2.1 SpringProcessEngineConfiguration 328

15.2.2 ProcessEngineFactoryBean 330

15.2.3 在bean中注入Activiti服务 331

15.2.4 在Activiti中使用Spring的bean 331

15.3 Activiti整合Web项目 333

15.3.1 安装Tomcat插件 334

15.3.2 加入Spring 336

15.3.3 整合Hibernate 337

15.3.4 配置声明式事务 339

15.3.5 添加Struts配置 340

15.3.6 实现一个最简单的逻辑 340

15.3.7 测试事务 342

15.3.8 加入Activiti 343

15.4 Mule ESB 344

15.4.1 Mule简介 344

15.4.2 开发第一个Mule应用 344

15.4.3 请求Mule服务 345

15.4.4 代理HTTP服务 346

15.4.5 Mule与Spring整合 347

15.4.6 在Activiti中向Mule发送请求 348

15.5 本章小结 351

第16章 Activiti开放的Web Service 352

16.1 Web Service简介 353

16.1.1 Web Service 353

16.1.2 SOAP协议 353

16.1.3 REST架构 353

16.1.4 REST的设计准则 354

16.1.5 REST的主要特性 354

16.1.6 SOAPRPC与REST的区别 355

16.2 Restlet简介 355

16.2.1 在Web工程中使用Restlet 356

16.2.2 发布REST的Web Service 357

16.2.3 编写客户端 358

16.2.4 访问控制 358

16.2.5 部署Activiti的Web Service 361

16.2.6 准备测试数据 361

16.2.7 查询流程引擎信息 362

16.2.8 使用HttpClient编写客户端 362

16.2.9 使用CXF编写客户端 363

16.3 流程存储服务 364

16.3.1 上传部署文件 364

16.3.2 部署数据查询 366

16.3.3 部署资源查询 367

16.3.4 查询单个部署资源 368

16.3.5 删除部署资源 369

16.3.6 删除多个部署资源 370

16.4 流程服务 371

16.4.1 查询流程定义集合 371

16.4.2 流程定义表单属性 372

16.4.3 查询流程定义表单 373

16.4.4 查询流程图 373

16.4.5 启动流程 373

16.4.6 查询流程实例集合 374

16.4.7 查询单个流程实例 374

16.4.8 查询流程图片 375

16.4.9 查询流程实例任务 376

16.4.10 发送信号 376

16.5 流程任务服务 377

16.5.1 查询任务摘要 377

16.5.2 获取任务集合 378

16.5.3 查询单个任务 379

16.5.4 查询任务表单 379

16.5.5 任务操作 379

16.6 身份服务 380

16.6.1 身份验证 380

16.6.2 查询用户 380

16.6.3 查询用户所属的用户组 381

16.6.4 查询用户组 381

16.6.5 查询用户组下的用户 381

16.7 管理服务 382

16.7.1 工作管理 382

16.7.2 数据库管理 382

16.8 本章小结 382

第17章 Activiti功能进阶 384

17.1 流程虚拟机 385

17.1.1 概述 385

17.1.2 初试PVM 385

17.1.3 自定义流程语言 386

17.1.4 执行流程语言 389

17.2 Activiti的表单 391

17.2.1 概述 392

17.2.2 表单属性 392

17.2.3 外部表单 393

17.2.4 关于动态工作流和动态表单 394

17.3 流程图XML 394

17.3.1 节点元素 395

17.3.2 衔接元素 395

17.3.3 流程图与流程文件的转换 395

17.4 流程操作 397

17.4.1 流程回退 397

17.4.2 会签 398

17.5 本章小结 400

第18章 办公自动化系统 401

18.1 使用技术 402

18.1.1 表现层技术 402

18.1.2 MVC框架 402

18.1.3 Spring和Hibernate 402

18.2 功能简述 403

18.2.1 系统的角色管理 403

18.2.2 薪资计算流程 403

18.2.3 请假流程 403

18.2.4 薪资调整流程 403

18.2.5 报销流程 404

18.3 框架整合 404

18.3.1 创建Web工程 404

18.3.2 加入Spring 406

18.3.3 加入Hibernate 407

18.3.4 整合Struts2 408

18.3.5 整合Activiti 409

18.4 数据库设计 410

18.4.1 薪资表 410

18.4.2 请假记录表 411

18.4.3 薪资调整记录表 412

18.4.4 报销记录表 412

18.5 初始化数据 413

18.5.1 初始化角色数据 413

18.5.2 薪资计算流程 414

18.5.3 请假流程 415

18.5.4 报销流程 415

18.5.5 薪资调整流程 416

18.6 角色管理 418

18.6.1 用户组管理 418

18.6.2 用户列表 420

18.6.3 新建用户 421

18.6.4 用户登录 422

18.7 流程启动 423

18.7.1 启动请假流程 423

18.7.2 启动报销流程 426

18.7.3 启动薪资调整流程 428

18.8 申请列表 429

18.8.1 申请列表 429

18.8.2 请假申请列表 430

18.8.3 报销申请列表 431

18.8.4 薪资调整列表 431

18.8.5 查看流程图 432

18.9 流程任务 434

18.9.1 待办任务列表 434

18.9.2 领取任务与受理任务列表 436

18.9.3 查询任务信息 437

18.9.4 任务审批 439

18.9.5 运行OA的流程 439

18.10 本章小结 440