在Java领域,JBPM和Activity是两个主流的工作流系统,而Activity的出现无疑将会取代JBPM(Activity的开发者就是从Jbpm开发者出来的
1. 1个插件
在Eclipse中安装Activity插件,让你可以在Eclipse中绘制Activity工作流图
2. 1个引擎
ProcessEngine对象,Activity工作流引擎。这是Activiti工作的核心。负责生成流程运行时的各种实例及数据、监控和管理流程的运行。
所有的操作都是从获取引擎开始的,所以一般会把引擎作为全局变量
ProcessEngine processEngine =ProcessEngines.getDefaultProcessEngine();
3. 1个配置文件
activiti.cfg.xml。Activiti核心配置文件,配置流程引擎创建工具的基本参数和数据库连接池参数
4. 5种数据库表
Activiti的后台是有数据库的支持,所有的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。用途也和服务的API对应。
ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源(图片,规则,等等)。
ACT_RU_*: 'RU'表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据,在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。
ACT_ID_*: 'ID'表示identity。 这些表包含身份信息,比如用户,组等等。
ACT_HI_*: 'HI'表示history。 这些表包含历史数据,比如历史流程实例,变量,任务等等。
ACT_GE_*: 通用数据,用于不同场景下,如存放资源文件。
act_ru_variable:正在执行的流程变量表
act_hi_varinst:流程变量历史表
5. 23张表
不同的表存放不同方面的数据,有流程定义表、任务结点表、流程变量表、任务历史表等等。
1.2.1 Activiti数据表清单:
表分类 |
表名 |
解释 |
一般数据 |
ACT_GE_BYTEARRAY |
通用的流程定义和流程资源 |
ACT_GE_PROPERTY |
系统相关属性 |
|
流程历史记录 | ACT_HI_ACTINST |
历史的流程实例 |
ACT_HI_ATTACHMENT |
历史的流程附件 |
|
ACT_HI_COMMENT |
历史的说明性信息 |
|
ACT_HI_DETAIL |
历史的流程运行中的细节信息 |
|
ACT_HI_IDENTITYLINK |
历史的流程运行过程中用户关系 |
|
ACT_HI_PROCINST |
历史的流程实例 |
|
ACT_HI_TASKINST |
历史的任务实例 |
|
ACT_HI_VARINST |
历史的流程运行中的变量信息 |
|
用户用户组表 | ACT_ID_GROUP |
身份信息-组信息 |
ACT_ID_INFO |
身份信息-组信息 |
|
ACT_ID_MEMBERSHIP |
身份信息-用户和组关系的中间表 |
|
ACT_ID_USER |
身份信息-用户信息 |
|
流程定义表 | ACT_RE_DEPLOYMENT |
部署单元信息 |
ACT_RE_MODEL |
模型信息 |
|
ACT_RE_PROCDEF |
已部署的流程定义 |
|
运行实例表 | ACT_RU_EVENT_SUBSCR |
运行时事件 |
ACT_RU_EXECUTION |
运行时流程执行实例 |
|
ACT_RU_IDENTITYLINK |
运行时用户关系信息 |
|
ACT_RU_JOB |
运行时作业 |
|
ACT_RU_TASK |
运行时任务 |
|
ACT_RU_VARIABLE |
运行时变量表 |
6. 5项Service
不同的Service类对应不同的功能。
比如TaskService,是activiti的任务服务类。可以从这个类中获取任务的信息。
而HistoryService,则是activiti的查询历史信息的类。在一个流程执行完成后,这个对象为我们提供查询历史信息。
7. 7项基本操作
设计流程图(各种组件,如连线、用户任务、网关)
流程定义增删改查
流程变量增删改查
启动流程定义
任务增删改查
完成任务
历史信息查询