使用IDEA的众筹项目(十)Activiti5 框架

  • Post author:
  • Post category:其他




一. Activiti5 框架介绍



1.什么是工作流

工作流: 业务过程的部分或整体在计算机应用环境下的自动化,主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。简单的理解就是指工作的流程,在本项目中是指从完成一个企业中具体业务的一系列工作步骤,所有的步骤合在一起就是业务从开始到结束的流转过程。

示例:请假流程

在这里插入图片描述

工作流三大要素:

  1. 这个过程要做什么?
  2. 经过多少个步骤?
  3. 每个步骤由谁来做?做什么?怎么做?

工作流相关概念:

在这里插入图片描述



2.Activiti 5 框架

JBPM,全称是Java Business Process Management(业务流程管理),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。JBPM是公开源代码项目 。Activiti 5 框架前版本为JBPM 4,后因架构师跳槽别公司后从新研发后改名。

Activiti5的持久化层采用的是Mybatis,这样移植性好

Activiti5主要包括7个Service,

这些Service都是通过ProcessEngine创建。 ProcessEngine这个类是Activiti5的核心,所有的服务都需要通过ProcessEngine来创建,该类是线程安全的

  1. repositoryService(持久化服务) 与数据库进行交互的
  2. runtimeService(运行时服务) 与运行流程有关
  3. taskService(任务服务) 与流程中的每一个步骤有关
  4. historyService(历史信息) 查看历史的流程步骤
  5. formService(表单服务)
  6. identityService(身份信息)
  7. managementService(管理定时任务)在固定的时间点完成固定的任务

在ssm框架中整合Activiti 5框架:

只需要将spring-flow.xml放在resources中即可。

在这里插入图片描述

在test类中使用Activiti 5框架创建23张表:

在这里插入图片描述

在这里插入图片描述

表结构:

在这里插入图片描述

各个表的具体含义:

在这里插入图片描述

在这里插入图片描述



3. IDEA中的Activiti插件(中文乱码可百度解决,通过修改VM参数)

1.安装

File → Setting →

在这里插入图片描述

2.画图。重启完成安装,创建一个BpmnFile。

在这里插入图片描述

如图是打开编辑和图标。

在这里插入图片描述

通过移动相应图标进行画图。

在这里插入图片描述



二. Activiti 5 流程框架具体使用详解



1. 基本代码

首先获得ProcessEngine核心对象,并创建23张表。

在这里插入图片描述



2. 流程定义

  1. 示例: 请假流程

    在这里插入图片描述

    通过双击图标或者线修改相应属性:

    在这里插入图片描述



3. 部署

在这里插入图片描述



4. 查询流程定义数据

在这里插入图片描述



5. 流程表数据分析

在这里插入图片描述



6. 任务

  1. 定义新的请假流程,并指定委托人

    在这里插入图片描述
  2. 获取流程任务,并执行任务

    在这里插入图片描述
  3. 查询并完成任务

    在这里插入图片描述
  4. 表结构详解

    在这里插入图片描述



7. 历史

获取历史服务对象,查看历史流程

在这里插入图片描述

在这里插入图片描述



8. 任务领取

  1. 将任务指派给 一个组,然后,由组内指定人进行任务完成操作

    在这里插入图片描述

  2. 领取任务

    ①部署流程

    ②启动流程实例

    ③测试领取任务

    在这里插入图片描述



9. 流程变量

  1. 定义流程,委托人采用流程变量获取委托人

    在这里插入图片描述
  2. 启动流程时,需要指定委托人参数

    (1)代码

    在这里插入图片描述

    (2)数据库

    在这里插入图片描述



10. 排他网关(也称决策)

在这里插入图片描述

  1. 条件

    在这里插入图片描述

    在这里插入图片描述
  2. 测试

    在这里插入图片描述



11. 并行网关(也称会签)

两者需要同时满足条件

在这里插入图片描述

在这里插入图片描述

代码:

在这里插入图片描述



12. 包含网关(排他+并行)

在这里插入图片描述

若只满足一个条件,而另一个条件不满足。只会审批满足这个条件的分支。审批完成后放心。如果两个分支都满足条件,则两个分支都需要进行审批后才能放行。

在这里插入图片描述

测试:

在这里插入图片描述



版权声明:本文为qq_41884677原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。