activiti入门概念

概念

工作流是按照预定义的规则传递文档、信息或任务的过程,它会自动执行从而实现预期的业务目标,工作流管理系统不是企业的业务系统,而是为企业的业务系统提供软件支撑环境。工作流管理系统用来定义、管理和执行工作流程,其目标就是在自动化进行的业务过程中插入人工的执行和干预。

idea中安装activiti插件

File - settings-plugins-Browse-Repositories 搜索 actiBPM

ProcessEngine对象,这是Activiti工作的核心。负责生成流程运行时的各种实例及数据、监控和管理流程的运行。
业务流程建模与标注(Business Process Model and Notation,BPMN),描述流程的基本符号。

activiti数据库

Activiti使用Mybatis3做持久化工作,在创建核心的流程引擎对象时会自动建表。如果程序正常执行,mysql会自动建库,然后创建24张表。Activiti使用到的表都是ACT_开头的。以下介绍关键表:
ACT_RE_*:流程定义存储。
ACT_RU_*:流程执行记录,记录流程启动到结束的所有动作,流程结束后会清除相关记录。
ACT_ID_*:用户记录,流程中使用到的用户和组。
ACT_HI_*:流程执行的历史记录。
ACT_GE_*:通用数据及设置。

ACT_RE_DEPLOYMENT:部署记录。
ACT_RE_PROCDEF:流程定义。
ACT_RU_EXECUTION:流程执行记录。
ACT_RU_TASK:执行的任务记录。
ACT_RU_VARIABLE:执行中的变量记录。流程实例结束后流程变量保存。
ACT_HI_PROCINST:流程实例。
ACT_HI_TASKINST:任务实例。

activiti是链式编程

RepositoryService 仓库服务对象,管理流程定义,通过流程引擎获取
Deployment 从仓库服务中获取部署对象
RuntimeService 执行管理,包括启动、推进、删除流程实例等操作,是activiti的流程执行服务类。
TaskService 任务管理,是activiti的任务服务类。
HistoryService 历史管理(执行完的数据的管理)
IdentityService 组织机构管理
FormService 一个可选服务,任务表单管理
ManagerService
ProcessDefinition 流程定义类,获取资源文件等。
ProcessInstance 流程定义的实例。
Execution 没有并发的情况下,等同于ProcessInstance
1、一个流程中,执行对象可以存在多个,但是流程实例只能有一个。
2、当流程按照规则只执行一次的时候,流程实例就是执行对象。

流程定义文档

流程定义文档有两部分:bpmn文件和流程图片
bpmn流程规则文件。在部署后,每次系统启动时都会被解析,把内容封装成流程定义放入项目缓存中。
Activiti框架结合这个xml文件自动管理流程,流程的执行就是按照bpmn文件定义的规则执行的,bpmn文件是给计算机执行用的。
流程定义记录:Id的值的生成规则为:{processDefinitionKey}:{processDefinitionVersion}:{generated-id}, 这里的generated-id是一个自动生成的唯一的数字

重点:流程定义管理CRUD,流程实例、任务的执行,流程变量,查看历史记录,连线,活动节点

猜你喜欢

转载自blog.csdn.net/chang_li/article/details/81044654