Activiti常用类简介

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.查看任务状态