Activiti项目是一项新的基于Apache许可的开源BPM平台,本文就来简述一下Activiti常用类。具体如下:
一、为什么要使用工作流
传统的设计在流程发生变化时的弊端:
1. 流程相关的属性和业务对象的属性,都放到了业务对象中。
2. 流程相关的逻辑和业务逻辑,都放到的业务逻辑中
Activiti常用类:
ProcessEngineConfiguration 流程引擎配置对象(配置数据库连接信息和建表策略)
ProcessEngine 流程引擎的核心对象(检查环境是否正确,管理各种服务)
RepositoryService 仓库服务对象(管理部署信息)
RuntimeService 运行时服务对象(管理流程的启动,流转等操作)
TaskService 任务服务对象(Task表中的数据是Exeuction表的扩展,任务的创建时间和办理人)
部署相关类:
DeploymentBuilder 发布配置对象(发布的规则文件、规则图片和流程显示的别名)
ProcessDefinition 流程定义(用来描述发布流程的整体信息)
ActivityImpl 流程活动(用来描述一个流程中每个活动相关的信息)
运行相关类:
Execution 执行对象(用来描述当前活动节点的基本信息)
ProcessInstance 流程实例对象(流程实例永远只想Execution(root)对象)
Task 任务对象(任务创建时间和办理人)
二、使用案例:
流程部署信息管理:
1.发布流程
2.查看流程定义 ProcessDefinitionQuery
3.删除流程
4.查看流程附件
流程执行管理:
1.启动流程
2.查看任务(私有/公有)
3.认领Claim UserId 和 TaskId
4.办理任务 complete(taskId)
5.查看任务状态