失效链接处理 |
疯狂Workflow讲义 基于Activiti的工作流应用开发 PDF 下载
转载自:http://download.csdn.net/detail/laoge/9699766
本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/1323837629.html
相关截图:
资料简介: 本书是一本介绍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在实际生产中的使用,让本书的内容不仅仅停留在理论的层次,更为读者开辟了实践的道路。 资料目录: 第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 BC配置 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 |