activiti7调研
Activiti7调研
表设计
25张表(自动创建)=启动建表17张+8张历史表(运行调用流程实例时才会新建)。
资源库流程规则表
ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)
1) act_re_deployment 部署信息表
2) act_re_model 流程设计模型部署表(用于activiti动态部署,映射XML流程文档)
3) act_re_procdef 流程定义数据表
运行时数据库表
ACT_RU_*: 'RU'表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录。
1) act_ru_execution 运行时流程执行实例表
2) act_ru_identitylink 运行时流程人员表,主要存储任务节点与参与者的相关信息
3) act_ru_task 运行时任务节点表
4) act_ru_variable 运行时流程变量数据表
5)作业死信表-作业失败超过重试次数 ACT_RU_DEADLETTER_JOB
6)运行时事件 ACT_RU_EVENT_SUBSCR
7)运行时作业 ACT_RU_JOB
8)运行时作业暂停表 6.0新增 ACT_RU_SUSPENDED_JOB
9)运行时定时器作业表 6.0新增 ACT_RU_TIMER_JOB
10)act_ru_integration ???不知道是啥表 7.0新增
通用数据表
ACT_GE_*: 通用数据, 用于不同场景下,如存放资源文件。
1) act_ge_bytearray二进制数据表
2) act_ge_property属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录
历史数据库表
(ACT_HI_*: 'HI'表示history。 这些表包含历史数据,比如历史流程实例, 变量,任务等等。)
1) act_hi_actinst 历史节点表
2) act_hi_attachment历史附件表
3) act_hi_comment历史意见表
4) act_hi_identitylink历史流程人员表
5) act_hi_detail历史详情表,提供历史变量的查询
6) act_hi_procinst历史流程实例表
7) act_hi_taskinst历史任务实例表
8) act_hi_varinst历史变量表
其他
ACT_EVT_LOG 流程引擎的通用事件日志记录表
ACT_PROCDEF_INFO 流程定义的动态变更信息 6.0新增
activiti7和之前版本的表差异
1.以下表已被废弃:
ACT_ID_*: 'ID'表示identity。 这些表包含身份信息,比如用户,组,组织机构管理等等。因为组件自带功能太简单,已被activi7启用。且activiti7使用了spring security进行安全认证。
组织机构表
1) act_id_group用户组信息表
2) act_id_info用户扩展信息表
3) act_id_membership用户与用户组对应信息表
4) act_id_user用户信息表
核心api接口和对象
ProcessEngine
流程引擎的抽象,可以通过此类获取需要的所有服务
服务(Service)类
通过ProcessEngine获取,Activiti将不同生命周期的服务封装在不同Service中,包括定义、部署、运行。通过服务类可获取相关生命周期中的服务信息。
TaskService
流程运行过程中,每个任务节点的相关操作接口,如complete,delete,delegate等。
RepositoryService
流程定义和部署相关的存储服务。
RuntimeService
流程运行时相关的服务,如根据流程好启动流程实例startProcessInstanceByKey。
HistoryService
历史记录相关服务接口
Aitivit7和之前版本的service差异
去掉了以下服务
FormService:表单Service,用于读取和流程,任务相关的表单数据
IdentityService:身份Service,可以管理,查询用户,组之间的关系
Activiti核心对象
ProcessDefinition 对应查询的表act_re_procdef
Execution ProcessInstance对应查询的表
Task任务表
Query 对应查询的表act_re_deployment
ProcessDefinition
ProcessDefinitionQuery
基本的调用流程
开发步骤
Demo
Demo项目地址:https://github.com/tanglijiong/activiti7.git
请假申请—>提交请假表单-->上级1审批à上级2审批->查看流程--->查看任务列表
其他资料
BPMN2.0资料: https://www.jianshu.com/p/a8a21870986a
Activity7官方文档: https://activiti.gitbook.io/activiti-7-developers-guide/
Activity7推荐的BPMN在线设计器:https://demo.bpmn.io