1. 1个插件
在Eclipse中安装Activiti插件,让你可以在Eclipse中绘制Activiti工作流图
2. 1个引擎
ProcessEngine对象,Activiti工作流引擎。这是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_*: 通用数据,用于不同场景下,如存放资源文件。
5. 23张表
不同的表存放不同方面的数据,有流程定义表、任务结点表、流程变量表、任务历史表等等。
ACT_GE_PROPERTY | 属性数据表。存储这个流程引擎级别的数据。 |
ACT_GE_BYTEARRAY | 用来保存部署文件的大文本数据 |
ACT_RE_DEPLOYMENT | 用来存储部署时需要持久化保存下来的信息 |
ACT_RE_PROCDEF | 业务流程定义数据表 |
ACT_RE_MODEL | 流程设计模型部署表 |
ACT_ID_GROUP | 用来存储用户组信息 |
ACT_ID_MEMBERSHIP | 用来保存用户的分组信息 |
ACT_ID_USER | 用来保存用户信息 |
ACT_ID_INFO | 用户扩展信息表 |
ACT_RU_EXECUTION | 运行时流程执行实例表 |
ACT_RU_TASK | 运行时任务数据表 |
ACT_RU_IDENTITYLINK | 任务参与者数据表。主要存储当前节点参与者的信息 |
ACT_RU_VARIABLE | 运行时流程变量数据表 |
ACT_RU_JOB | 运行时定时任务数据表 |
ACT_RU_EVENT-SUBSCR | |
ACT_HI_PROCINST | 历史流程实例表 |
ACT_HI_ACTINST | 历史节点表 |
ACT_HI_TASKINST | 历史任务实例表 |
ACT_HI_DETAIL | 启动流程或者在任务complete之后,记录历史流程变量 |
ACT_HI_ATTACHMENT | 历史附件表 |
ACT_HI_COMMENT | 历史意见表 |
ACT_HI_IDENTITYLINK | 历史流程人员表 |
ACT_HI_VARINST | 历史变量表 |
流程文件部署主要涉及到的3个表:ACT_GE_BYTEARRAY、ACT_RE_DEPLOYMENT、ACT_RE_PROCDEF
6. 7大Service接口
RepositoryService | 流程仓库Service,用于管理流程仓库,例如部署、删除、读取流程资源 |
IdentifyService | 身份Service,用于管理和查询用户、组之间的关系 |
RuntimeService | 运行时Service,可以也拿过来处理所有正在运行状态的流程实例、任务等 |
TaskService | 任务Service,用于管理和查询任务,例如签收、办理、指派等 |
FormService | 表单Service,用于读取流程、任务相关的表单数据 |
HistoryService | 历史Service,用于查询所有历史数据,例如流程实例、任务、活动、变量、附件 |
ManagementService | 引擎管理Service,和具体业务无关,主要可以查询引擎配置、数据库、作业等 |
7. 7项基本操作
设计流程图(各种组件,如连线、用户任务、网关)
流程定义增删改查
流程变量增删改查
启动流程定义
任务增删改查
完成任务
历史信息查询