首页 > 代码库 > BOS项目 第9天(activiti工作流第一天,工作流概念、工作流所需要的23张表、eclipse安装流程设计插件、流程api基本操作)
BOS项目 第9天(activiti工作流第一天,工作流概念、工作流所需要的23张表、eclipse安装流程设计插件、流程api基本操作)
BOS项目笔记 第9天
今天内容安排:
1、工作流概念
2、安装流程设计器插件(eclipse)----设计流程图
3、创建activiti数据库(23张表)
4、activiti的API操作流程
1. 工作流概念
工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。
工作流管理系统(Workflow Management System, WfMS)是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义好的工作流逻辑进行工作流实例的执行。工作流管理系统不是企业的业务系统,而是为企业的业务系统的运行提供了一个软件的支撑环境。
2. 安装流程设计器插件
第一步:获得上面的zip文件
第二步:将zip文件解压到eclipse的dropins目录中
第三步:重启eclipse,勾选save选项
第四步:使用安装好的插件设计流程图
3. 了解activiti框架目录结构
工作流框架底层需要有数据库支持,activiti5.13版本对应23张表,activiti框架底层使用mybatis操作数据库。JBPM4.4底层18张表,底层使用hibernate操作数据库。
l BPMN
业务流程建模与标注(Business Process Model and Notation,BPMN) ,描述流程的基本符号,包括这些图元如何组合成一个业务流程图(Business Process Diagram)
4. 创建activiti23张表
4.1 执行框架提供的sql文件建表
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_*: 通用数据, 用于不同场景下。
4.2 使用框架提供的自动建表方式(不建议)
第一步:创建Java项目并导入jar包
第二步:提供配置文件
第三步:创建流程引擎对象,自动建表
5. 使用API操作流程
使用插件设计一个流程图:
5.1 部署流程定义
就是将流程定义规则保存到数据库
5.2 查询流程定义
5.3 根据流程定义启动流程实例
流程实例:根据某个流程定义一次具体的执行过程就是一个流程实例。流程定义和流程实例一对多。
5.4 查询个人任务
5.5 办理个人任务
6. API总结
l 几个接口(和表有对应关系):
Deployment------act_re_deployment
ProcessDefinition-----act_re_procdef
ProcessInstance------act_ru_execution
Task-----act_ru_task
l 几个Query对象
DeploymentQuery------act_re_deployment
ProcessDefinitionQuery-----act_re_procdef
ProcessInstanceQuery------act_ru_execution
TaskQuery-----act_ru_task
l 几个Service
RepositoryService----操作部署表、流程定义表等静态资源信息表
RuntimeService----操作流程实例表、任务表等动态信息表
TaskService-----操作任务表
HistoryService----操作历史表
IdentityService----操作用户表、组表、关系表
BOS项目 第9天(activiti工作流第一天,工作流概念、工作流所需要的23张表、eclipse安装流程设计插件、流程api基本操作)