疯狂Workflow讲义 基于Activiti的工作流应用开发
作者:杨恩雄 著
出版时间:2014
内容简介
工作流框架Activiti是由jBPM4发展而来的,为了能帮助广大的Java研发者学习该框架,并将其应用到实际的生产中,笔者根据多年来的企业应用研发经验,编写了《疯狂Workflow讲义:基于Activiti的工作流应用开发》。《疯狂Workflow讲义:基于Activiti的工作流应用开发》首先对Activiti的基础知识进行讲解,并从源代码的实现上讲解Activiti各个模块的API。此外详细讲述了BPMN 2.0规范的内容,包括目前Activiti对该规范的实现情况。书中还讲解了如何在实际企业应用中使用Activiti,并与其他流行的开源框架进行整合,包括企业应用开发所必需的Web Service、企业服务总线、规则引擎、IoC框架和ORM框架等。全书的最后通过讲解一个办公自动化系统的开发过程,让读者更了解Activiti在实际生产中的使用,让本书的内容不仅仅停留在理论的层次,更为读者开辟了实践的道路。
目录
第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 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 用户管理 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
第8章 流程任务管理 101
第9章 流程控制 129
第10章 历史数据管理和流程引擎管理 151
第11章 流程事件 179
第12章 流程任务 221
第13章 其他流程元素 260
第14章 Activiti与规则引擎 293
第15章 整合第三方框架 324
第16章 Activiti开放的Web Service 352
第17章 Activiti功能进阶 384
第18章 办公自动化系统 401