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和之前版本的表差异

activiti6前后端不分离,且设计上绑定耦合了用户&组的校验,在自带的用户&组功能不满足企业需求的情况下(可以说基本都不满足),需要去解耦成企业自己用户&组&权限校验,这会花费比较多的时间精力,且里面存着一些坑(开源软件普通都有,你懂得),且代码较旧,实现上使用了命令模式封装,导致扩展起来很麻烦。但activiti6优点是有现成的功能也界面。avtiviti7天然向spring微服务化看齐,前后端分离,扩展容易,缺点是资料较少,很多功能需要自己重新实现。

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

发布了14 篇原创文章 · 获赞 4 · 访问量 2740

猜你喜欢

转载自blog.csdn.net/www_tlj/article/details/102474354