Activiti
--------
1 下载
[url]http://www.activiti.org/download.html[/url]
2 安装
* 解压到任意目录
* 打开[b]readme.html[/b] 链接 [b]文档[/b] 和 [b][i]发行日志[/i][/b]
* 阅读 [b]userguide[/b] 用户指南 [u][b]docs/userguide/index.html[/b][/u] 快速入门
3 源码
4 前提
* JDK 1.6+
* Ant 1.8.1+
[url]http://ant.apache.org/bindownload.cgi[/url]
* Tomcat 6.0+
[url]http://tomcat.apache.org/download-70.cgi[/url]
* Eclipse Indigo/Juno
[url]http://www.eclipse.org/downloads/[/url]
5 问题列表
* 用户论坛
[url]http://forums.activiti.org/en/viewforum.php?f=3[/url]
* JIRA issue tracker
[url]http://jira.codehaus.org/browse/ACT[/url]
6 入门
1 JAVA_HOME 环境变量
2 复制 activiti-explorer.war 到 Tomcat 的 webapps 目录
3 启动 Tomcat 通过 startup.bat
4 访问流程浏览器应用: 启动流程, 分配任务, 查看/处理任务 ,管理流程引擎[url]http://localhost:8080/activiti-explorer[/url]
账号:
kermit/kermit
默认使用 H2 数据库.
默认连接配置位置:
Activiti Explorer 应用目录 WEB-INF/classes/db.properties
7 DEMO 账户
[b]UserId Password Roles[/b]
kermit kermit admin
gonzo gonzo manager
fozzie fozzie user
8 流程引擎
嵌入模式
独立模式
9 取消 DEMO 用户和组
Activiti Explorer 应用目录 WEB-INF/activiti-standalone-context.xml
10 配置
activiti.cfg.xml
11 Activiti API
Activiti 通过各种服务与流程引擎 ProcessEngine 交互,包括:
RuntimeService
RepositoryService
TaskService
ManagementService
IdentityService
HistoryService
FormService
12 部署流程
RepositoryService
|
*.bpmn20.xml
|
DB (流程定义KEY 流程实例 KEY)
13 启动流程
RuntimeService
|
(ProcessInstance KEY)
|
DB
|
TaskService 查看/启动/完成任务
14 挂起/恢复流程
流程定义挂起时不能创建流程实例
RepositoryService
|
流程定义KEY
15 查询API
TaskService
16 表达式
* 值表达式
${myBean.myProperty}
* 方法表达式
${myBean.addNewOrder('orderName')}
17 配置WEB 应用启动/关闭监听器来启动/关闭流程引擎
18 整合Spring
19 自动流程部署
20 单元测试
21 流程图
*.png
22 流程版本
23 流程仓库
<definitions
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:activiti="http://activiti.org/bpmn"
[b]targetNamespace="Examples"[/b]>
24 BPMN 2.0
如何定义一个流程
25 表单
FormService
* 内置表单
表单属性: Map<String,String>
流程变量: Java Object
MAP <----------> Java Object
StartFormData(processDefinitionId)
TaskFormdata (taskId)
* 外部表单 自定义表单UI渲染
** 表单模板 打包到 *.bar 的 form/*-form.xml
** 关联任务
<userTask activiti:formKey=""
** 获取表单数据
FormService StartFormData/TaskFormdata
** 渲染表单
** 提交表单数据
FormService submitStartFormData
26 Eclipse Designer
[url]http://activiti.org/designer/update/[/url]
流程设计器
27 REST API
activiti-rest.war
28 示例
未完待续...
--------
1 下载
[url]http://www.activiti.org/download.html[/url]
2 安装
* 解压到任意目录
* 打开[b]readme.html[/b] 链接 [b]文档[/b] 和 [b][i]发行日志[/i][/b]
* 阅读 [b]userguide[/b] 用户指南 [u][b]docs/userguide/index.html[/b][/u] 快速入门
3 源码
4 前提
* JDK 1.6+
* Ant 1.8.1+
[url]http://ant.apache.org/bindownload.cgi[/url]
* Tomcat 6.0+
[url]http://tomcat.apache.org/download-70.cgi[/url]
* Eclipse Indigo/Juno
[url]http://www.eclipse.org/downloads/[/url]
5 问题列表
* 用户论坛
[url]http://forums.activiti.org/en/viewforum.php?f=3[/url]
* JIRA issue tracker
[url]http://jira.codehaus.org/browse/ACT[/url]
6 入门
1 JAVA_HOME 环境变量
2 复制 activiti-explorer.war 到 Tomcat 的 webapps 目录
3 启动 Tomcat 通过 startup.bat
4 访问流程浏览器应用: 启动流程, 分配任务, 查看/处理任务 ,管理流程引擎[url]http://localhost:8080/activiti-explorer[/url]
账号:
kermit/kermit
默认使用 H2 数据库.
默认连接配置位置:
Activiti Explorer 应用目录 WEB-INF/classes/db.properties
7 DEMO 账户
[b]UserId Password Roles[/b]
kermit kermit admin
gonzo gonzo manager
fozzie fozzie user
8 流程引擎
嵌入模式
独立模式
9 取消 DEMO 用户和组
Activiti Explorer 应用目录 WEB-INF/activiti-standalone-context.xml
10 配置
activiti.cfg.xml
11 Activiti API
Activiti 通过各种服务与流程引擎 ProcessEngine 交互,包括:
RuntimeService
RepositoryService
TaskService
ManagementService
IdentityService
HistoryService
FormService
12 部署流程
RepositoryService
|
*.bpmn20.xml
|
DB (流程定义KEY 流程实例 KEY)
13 启动流程
RuntimeService
|
(ProcessInstance KEY)
|
DB
|
TaskService 查看/启动/完成任务
14 挂起/恢复流程
流程定义挂起时不能创建流程实例
RepositoryService
|
流程定义KEY
15 查询API
TaskService
16 表达式
* 值表达式
${myBean.myProperty}
* 方法表达式
${myBean.addNewOrder('orderName')}
17 配置WEB 应用启动/关闭监听器来启动/关闭流程引擎
public class ProcessEnginesServletContextListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent servletContextEvent) {
ProcessEngines.init();
}
public void contextDestroyed(ServletContextEvent servletContextEvent) {
ProcessEngines.destroy();
}
}
18 整合Spring
19 自动流程部署
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
...
<property name="deploymentResources" value="classpath*:/org/activiti/spring/test/autodeployment/autodeploy.*.bpmn20.xml" />
</bean>
<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfiguration" />
</bean>
20 单元测试
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:org/activiti/spring/test/junit4/springTypicalUsageTest-context.xml")
public class MyBusinessProcessTest {
@Autowired
private RuntimeService runtimeService;
@Autowired
private TaskService taskService;
@Autowired
@Rule
public ActivitiRule activitiSpringRule;
@Test
@Deployment
public void simpleProcessTest() {
runtimeService.startProcessInstanceByKey("simpleProcess");
Task task = taskService.createTaskQuery().singleResult();
assertEquals("My Task", task.getName());
taskService.complete(task.getId());
assertEquals(0, runtimeService.createProcessInstanceQuery().count());
}
}
<bean id="activitiRule" class="org.activiti.engine.test.ActivitiRule">
<property name="processEngine" ref="processEngine" />
</bean>
21 流程图
*.png
22 流程版本
23 流程仓库
<definitions
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:activiti="http://activiti.org/bpmn"
[b]targetNamespace="Examples"[/b]>
24 BPMN 2.0
如何定义一个流程
<definitions
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:activiti="http://activiti.org/bpmn"
targetNamespace="Examples">
<process id="myProcess" name="My First Process">
..
</process>
</definitions>
25 表单
FormService
* 内置表单
表单属性: Map<String,String>
流程变量: Java Object
MAP <----------> Java Object
StartFormData(processDefinitionId)
TaskFormdata (taskId)
* 外部表单 自定义表单UI渲染
** 表单模板 打包到 *.bar 的 form/*-form.xml
** 关联任务
<userTask activiti:formKey=""
** 获取表单数据
FormService StartFormData/TaskFormdata
** 渲染表单
** 提交表单数据
FormService submitStartFormData
26 Eclipse Designer
[url]http://activiti.org/designer/update/[/url]
流程设计器
27 REST API
activiti-rest.war
28 示例
未完待续...