Activiti是一款非常优秀的工作流引擎,主要作者是曾经开发JBPM的作者,因为JBPM存在很严重的版本不兼容的问题,所以有些项目已经开始转向用Activiti来开发了,我最近也在学习Activiti。Activiti目前最新的版本是5.9,本次学习的也是这一个版本,下载地址为:http://activiti.org/download.html。学习的主要方式就是查看官方文档,将下载好的 activiti-5.9.zip解压并进入docs/userguide/index.html然后开始查看该官方文档。
下面是我翻译的官方文档的目录:
Activiti 5.9用户指南
目录
1. 介绍
许可证
下载
源码
所需软件
JDK 5+
Ant 1.8.1+
Eclipse 3.6.2
报告问题
实验性功能
内部实现类
2. 入门
一分钟版本
Demo安装
工作区中的示例工程
依赖库
Eclipse安装
检查数据库
数据库表名解释
3. 配置
创建一个ProcessEngine(流程引擎)
ProcessEngineConfiguration(流程引擎配置) bean
数据库配置
作业执行者激活
邮件服务器配置
历史配置
暴露在表达式和脚本中的配置Bean
支持的数据库
创建数据库表
数据库升级
4. Spring集成
ProcessEngineFactoryBean(流程引擎工厂Bean)
Transactions(事务)
表达式
自动资源调配
单元测试
5. API
引擎API
例外策略
单元测试
调试单元测试
在Web应用程序的流程引擎
流程虚拟机的API
表达式
6. 部署
业务档案
编程方式的部署
采用ant部署
使用Activiti Explorer部署
外部资源
Java类
从过程中使用的spring beans
创建一个单一的应用程序
流程定义的版本
提供流程图
生成流程图
7. BPMN 20 简介
什么是BPMN?
举例
定义一个流程
入门:十分钟教程
准备
目标
用例
流程图
XML表示方式
启动一个流程实例
任务列表
声明任务
完成任务
结束流程
代码概述
未来的增强
8. BPMN 20 构造
自定义扩展
事件
事件定义
计时器事件定义
错误事件定义
信号事件定义
消息事件定义
启动事件
无启动事件
定时器启动事件
消息启动事件
错误启动事件
结束事件
无结束事件
错误结束事件
取消结束事件
边界事件
定时器边界事件
错误边界事件
信号边界事件
取消边界事件
补偿边界事件
中间醒目事件
定时器中间醒目事件
信号中间醒目事件
中间抛出事件
中间无抛出事件
信号中间抛出事件
补偿中间抛出事件
顺序流
描述
图形符号
XML表示
有条件的顺序流
默认顺序流
网关
独有网关
并行网关
包容网管
事件网关
任务
用户任务
脚本任务
Java Service任务
WebService任务
业务规则任务
电子邮件任务
顽固(原:Mule)任务
人工任务
Java接受任务
外壳(原:Shell)任务
执行监听器
任务监听器
多实例(每个)
补偿处理程序
子流程和呼叫活动(原:Callactivities)
子流程
事件子流程
事务子流程
呼叫活动 (子流程)
事务个并发
异步连续
独有作业
9. 表单
表单属性
外形呈现
10. JPA(Java持久化API)
要求
配置
用法
简单示例
查询 JPA 流程变量
使用Spring Bean和JPA的高级示例
11. 历史
查询历史
HistoricProcessInstanceQuery(历史流程实例查询)
HistoricActivityInstanceQuery(历史活动实例查询)
HistoricDetailQuery(历史细节查询)
HistoricTaskInstanceQuery(历史任务实例查询)
历史配置
历史的审计目的
12. Eclipse设计器
安装
Activiti Designer编辑的功能
Activiti Designer BPMN 功能
Activiti Designer 部署功能
扩展的Activiti Designer
自定义调色板
验证图表和导出自定义输出格式
13. Activiti Explorer
案例概述
案例
启动流程实例
我的实例
管理
更改数据库
14. Activiti附加组件
周期
基于Signavio核心组件的Activiti Modeler
15. REST API
知识库
上传部署
获取部署
获取部署资源
获取一个部署资源
删除一个部署
删除部署
引擎
获取流程引擎
流程
列举流程定义
获取表单属性流程定义
获取表单资源中流程定义
启动流程实例
列举流程实例
获取流程实例详细信息
获取流程实例图
任务
获取任务摘要
任务列表
获取任务
获取任务表单
执行任务操作
表单属性列表
给任务添加附件
给任务增加URL
身份
登录
获取用户
列举用户的组
获取组
列举组用户
管理
工作列表
获得工作
执行一个工作
执行多个工作
获取数据库中的表
获取表的元数据
获得表中的数据
16. CDI(上下文和依赖注入[Contexts and Dependency Injection for Java EE])整合
设定activiti-cdi
找到一个流程引擎
配置流程引擎
部署流程
结合CDI的上下文流程执行
与流程实例相关联的会话
声明式的流程控制
参考流程的Beans
使用 @BusinessProcessScoped beans工作
注入流程变量
接收流程事件
附加功能
已知的缺陷
目录表
2.1. 演示用户
2.2. webapp工具
3.1. 支持的数据库
6.1.
6.2.
8.1. 邮件服务器配置
8.2. 邮件服务器配置
8.3. 电驴服务器配置
8.4. 外壳任务参数配置
根据该目录进行查看官方文档感觉就好很多了,接下来就是正式的学习。
1.介绍
该部分基本上没有太多的关注点,主要讲述的是Activiti遵守的是Apache V2的协议,下载地址为http://activiti.org/download.html,大部分的源码都放在了所下载的发布包中,其余的完整源码需要到https://svn.codehaus.org/activiti寻找,运行所需的JDK版本是1.5或者更高,ant构建的版本是1.8.1+,Eclipse为3.6.2,还有其他的一些介绍。
2.入门
该部分主要介绍的是发布包中自带的demo的使用部署,以及相关的配置解释,然后就是eclipse插件的安装,官方文档中介绍的都很详细,这里就不赘述了。
3.配置
这一部分的内容比较琐碎和复杂,为了能够祈祷更好的学习效果,接下来讲述一个简单的应用Activiti的项目,以求快速入门。