activiti框架的使用流程

工作流

内容安排:

1、 工作流概念

2、 常见的工作流框架

3、 eclipse中安装activiti框架的流程设计器插件

4、 activiti框架提供的数据库表结构

5、 学习activiti框架提供的API

 

1. 工作流概念

工作流(Workflow),就是业务过程的部分或整体在计算机应用环境下的自动化,它主要解决的是使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现

 

工作流管理系统(Workflow Management System, WfMS)是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义好的工作流逻辑进行工作流实例的执行。工作流管理系统不是企业的业务系统,而是为企业的业务系统的运行提供了一个软件的支撑环境。

 

工作流框架:用于处理工作流相关问题的框架

常见的工作流框架:activiti5.13JBPM4.4OSWorkflow

工作流框架底层是有一套数据库提供支持的,针对不同的数据库提供不同的sql建表语句。Activiti5.13框架对应23张表,JBPM4.4框架对应18张表。开发人员不需要自己编写sql操作这些表的,框架底层会生成sql操作。Activiti框架底层使用mybatis操作数据库,JBPM框架底层使用hibernate操作数据库。

Activiti框架目录结构:

 

2. 安装eclipse插件----流程设计器插件

 

第一步:将上面的zip压缩文件解压到eclipse目录中 的dropins目录


第二步:重启eclipse,勾选save菜单中的复选框

 

第三步:使用插件设计流程图

 

3. 创建activiti框架提供的数据库表

3.1 使用activiti框架提供的sql脚本建表

Activiti框架提供了sql文件用于建表

 

第一步:手动创建一个数据库

 

第二步:进入数据库,执行框架提供的sql文件

 

3.2 使用activiti框架自动建表

3.2.1 没有提供xml配置文件

 

3.2.2 提供xml配置文件

 

3.2.3 使用默认配置文件

要求配置文件必须在类路径的根路径下,配置文件的名称必须为activiti-context.xml或者为activiti.cfg.xml,xml配置文件中必须配置流程引擎配置对象,id必须为processEngineConfiguration,必须配置流程引擎工厂beanid必须为processEngine

4. 了解activiti框架提供的23张表

Activiti的后台是有数据库的支持,所有的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。

1) ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。

2) ACT_RU_*: 'RU'表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。

3) ACT_ID_*: 'ID'表示identity。 这些表包含身份信息,比如用户,组等等。

4) ACT_HI_*: 'HI'表示history。 这些表包含历史数据,比如历史流程实例, 变量,任务等等。

5) ACT_GE_*: 通用数据, 用于不同场景下。

5. BPMN

业务流程建模与标注(Business Process Model and NotationBPMN) ,描述流程的基本符号,包括这些图元如何组合成一个业务流程图(Business Process Diagram

 

6. ActivitiAPI使用

使用流程设计器插件设计一个流程


6.1 部署流程定义

操作的数据表:act_re_deployment部署表、act_re_procdef流程定义表、act_ge_bytearray二进制表

 

6.2 查询流程定义

操作的数据表:act_re_procdef流程定义表

 

6.3 启动流程实例

什么是流程实例??根据某个流程定义的一次具体执行过程,就是一个流程实例。流程定义和流程实例是一对多的关系。

操作的数据表:act_ru_execution流程实例表、act_ru_task任务表

 

6.4 查询任务

操作的数据表:act_ru_task任务表

 

6.5 办理任务

操作的数据表:act_ru_task任务表、act_ru_execution流程实例表

 

7. 总结activiti中的几个对象

几个和流程相关的对象

Deployment:部署对象,和部署表对应act_re_deployment

ProcessDefinition:流程定义对象,和流程. 定义表对应act_re_procdef

ProcessInstance:流程实例对象,和流程实例表对应act_ru_execution

Task:任务对象,和任务表对应act_ru_task

 

几个Service对象

RepositoryService:操作部署、流程定义等静态资源信息

RuntimeService:操作流程实例,启动流程实例、查询流程实例、删除流程实例等动态信息

TaskService:操作任务,查询任务、办理任务等和任务相关的信息

HistoryService:操作历史信息的,查询历史信息

IdentityService:操作用户和组

 

几个Query对象

DeploymentQuery:对应查询部署表act_re_deployment

ProcessDefinitionQuery:对应查询流程定义表act_re_procdef

ProcessInstanceQuery:对应查询流程实例表act_ru_execution

TaskQuery:对应查询任务表act_ru_task

 

8. 流程变量

 

8.1 设置流程变量


注意:如果需要设置自定义的实体类到流程变量表中,需要实现序列化接口

 

8.2 获取流程变量

9. 组任务

个人任务:只有一个人负责办理的任务为个人任务。

组任务:可以有多个候选人,这些人都可以办理的任务为组任务。

 

9.1 候选人组任务


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值