Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群20:java1234官方群20
Java1234官方群20:655678038

10TB成套视频教程下载

木秀林网专注于消息队列

EasyUI中文示例文档

SpringBoot打造企业级进销存

SpringBoot打造的电影网站

Java1234 VIP资源!

当前位置: 主页 > Java文档 > JavaWeb技术相关 >

《疯狂Workflow讲义——基于Activiti的工作流应用开


分享到:
时间:2016-03-02 14:17来源:http://www.jb51.net/(脚本之家 作者:转载
《疯狂Workflow讲义——基于Activiti的工作流应用开发》PDF 下载
提醒:假如百度云分享链接失效,请联系站长,我会补上的。


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

 
电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍:《疯狂Workflow讲义——基于Activiti的工作流应用开发》
 
图书简介:
本书是一本介绍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 
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 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 用户管理 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.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 
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 SOAP RPC与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
 
(责任编辑:小锋)
------分隔线----------------------------