activiti开发手册(1)activiti简介

1. Activiti开源框架部分

1.1 Activiti简介

Activiti是一个开源的工作流引擎,它实现了BPMN 2.0规范,可以发布设计好的流程定义,并通过api进行流程调度。
Activiti 作为一个遵从 Apache 许可的工作流和业务流程管理开源平台,其核心是基于 Java 的超快速、超稳定的 BPMN2.0 流程引擎,强调流程服务的可嵌入性和可扩展性,同时更加强调面向业务人员。
Activiti 流程引擎重点关注在系统开发的易用性和轻量性上。每一项 BPM 业务功能 Activiti 流程引擎都以服务的形式提供给开发人员。通过使用这些服务,开发人员能够构建出功能丰富、轻便且高效的 BPM 应用程序。

1.2 Activiti关键对象

1.2.1 Deployment
流程部署对象,部署一个流程时创建,主要对应数据表ACT_RE_DEPLOYMENT。
1.2.2 ProcessDefinitions
流程定义,部署成功后自动创建,流程模型部署一次生成一条流程定义,主要对应数据表ACT_RE_PROCDEF。
1.2.3 ProcessInstances
流程实例,启动流程时创建,是根据一次(一条)业务创建的,流程驱动的入口,两者之间是一对一的关系。流程引擎会创建一条数据到ACT_RU_EXECUTION表,同时也会根据history的级别决定是否查询相同的历史数据到ACT_HI_PROCINST表。
1.2.4 Task
任务,Task和Execution是一对一关系。Task可以是任何类型的Task实现,可以是用户任务(UserTask)、Java服务(JavaServiceTask)等。在实际流程运行中面向对象不同,用户任务(UserTask)需要有人为参与完成(complete),Java服务需要由系统自动执行(execution)。Task主要对应数据表ACT_RU_TASK和ACT_HI_TASKINST。
1.2.5 Execution
执行计划,即一个流程实例(ProcessInstance)具体要执行的过程对象。流程实例和流程执行中的所有节点都是一条Execution,如UserTask、ServiceTask等。

1.3 Activiti服务任务

1.3.1 RepositoryService
Activiti 中每一个不同版本的业务流程的定义都需要使用一些定义文件,部署文件和支持数据 ( 例如 BPMN2.0 XML 文件,表单定义文件,流程定义图像文件等 ),这些文件都存储在 Activiti 内建的 Repository 中。Repository Service 提供了对 repository 的存取服务,流程仓库service,用于管理流程仓库,例如部署,删除,读取流程资源。
1.3.2 RunTimeService
在Activiti中,每个流程定义被启动一次之后,都会生成相应的流程对象实例。RunTimeService提供启动流程,查询流程实例,设置获取流程实例变量等功能。此外还提供对流程部署,流程定义和流程实例存取的服务。
1.3.3 TaskService
在activiti业务流程定义的每一个执行节点被称为一个task,对流程中的数据存取,状态变更等操作都需要在task中完成。TaskService提供了对用户task和form的相关操作。提供了运行时任务的查询、领取、完成、删除以及变量设置等功能。
1.3.4 IdentityService
Activiti内置了用户以及用户组的概念以及功能,必须使用用户或者用户组才能获取到相应的task。IdentityService提供了对用户和用户组的管理功能。
1.3.5 HistoryService
主要用于获取正在运行或者已经运行结束的流程实例信息,与RunTimeService获取的流程信息不同,历史信息包含已经持久储存化的信息,并已经针对查询做出优化。
1.3.6 FormService
Activiti中的流程和状态Task均可关联相关的业务数据,通过FormService可以存取启动和完成任务所需的表单数据并根据需要来渲染表单。
1.3.7 ManagementService
ManagementService提供对流程引擎的管理和维护的功能,这些功能不在工作流驱动的应用程序中使用,主要运用activiti的日常维护。

1.4 初始数据库

表分类表名含义
通用配置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运行时变量表
其他ACT_EVT_LOG事件日志表
ACT_PROCDEF_INFO流程定义扩展表
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值