前言:

Activiti官方文档地址:

https://www.activiti.org/

一.什么是工作流?

Activiti是一个开源的工作流引擎,它实现了BPMN 2.0规范,可以发布设计好的流程定义,并通过api进行流程调度。

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

 

工作流(Workflow)

通俗来讲:说白了,就是一个流程管理框架,使业务可以按照设定好的流程走,且可以在线更新业务流程,使程序可以快速适应业务变化发展,使系统更好的维护和扩展,具体场景的话如 : 借款审核,报销申报,请假审批等。

二 .如何在项目中引用Activiti?

  • 2.1 首先在pom.xml中引用jar包
<!-- activiti start -->
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-engine</artifactId>
            <version>5.22.0</version>
        </dependency>

        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-spring-boot-starter-basic</artifactId>
            <version>5.22.0</version>
        </dependency>

        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-json-converter</artifactId>
            <version>5.22.0</version>
        </dependency>
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-explorer</artifactId>
            <version>5.22.0</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-simple-workflow</artifactId>
            <version>5.22.0</version>
        </dependency>
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-spring</artifactId>
            <version>5.22.0</version>
        </dependency>

2.2  在项目根目录下新建文件,创建工作流的23张表

java 集成activiti工作流 activiti工作流介绍_java 集成activiti工作流

 

2.3  activiti-contenxt.xml文件中的内容

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

    <!--配置流程引擎配置对象-->
    <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration">
        <property name="jdbcDriver"  value="com.mysql.jdbc.Driver"/>
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/main_config"/>
        <property name="jdbcUsername" value="root" />
        <property name="jdbcPassword" value="root" />
        <property name="databaseSchemaUpdate" value="true"/>
    </bean>
</beans>

2.4 生成的工作流的表

java 集成activiti工作流 activiti工作流介绍_spring_02

三.工作流的几张表具体作用

java 集成activiti工作流 activiti工作流介绍_spring_03

Activi 23张表的含义

序号

表名

解释

1

act_ge_bytearray

二进制数据表

2

act_ge_property

属性数据表,存储整个流程引擎级别的数据

3

act_hi_actinst

历史节点表

4

act_hi_attachment

历史附件表

5

act_hi_comment

历史意见表

6

act_hi_identitylink

历史流程人员表

7

act_hi_detail

历史详情表

8

act_hi_procinst

历史流程实例表

9

act_hi_taskinst

历史任务实例表

10

act_hi_varinst

历史变量表

11

act_hi_group

用户组变量表

12

act_id_info

用户扩展信息表

13

act_id_membership

用户与用户组对应信息表

14

act_id_user

用户信息表

15

act_re_deployment

部署信息表

16

act_re_model

流程设计模型部署表

17

act_re_procdef

流程定义数据表

18

act_ru_event_subscr

throwEvent catchEvent 时间监听信息表

19

act_ru_execution

运行时流程执行实例表

20

act_ru_identitylink

运行时流程人员表,主要存储任务节点与参与者的相关信息

21

act_ru_job

运行时定时任务数据表

22

act_ru_task

运行时任务节点表

23

act_ru_variable

运行时流程变量数据表

 

四. 网上一些比较好的资料

1.  http://kailing.pub/article/index/arcid/157.html

2.  actviti的英文文档 :https://www.activiti.org/userguide/index.html

3.  中文文档: http://www.kailing.pub/PdfReader/web/viewer.html?file=Activiti5.4Guide

4.Activiti 工作流引擎:

5.三分钟了解什么是工作流?

activiti 23张表的作用

五.工作流调用类

1.RepositoryService:提供一系列管理流程部署和流程定义的API。
2.RuntimeService:在流程运行时对流程实例进行管理与控制。
3.TaskService:对流程任务进行管理,例如任务提醒、任务完成和创建任务等。
4.IdentityService:提供对流程角色数据进行管理的API,这些角色数据包括用户组、用户及它们之间的关系。
5.ManagementService:提供对流程引擎进行管理和维护的服务。
6.HistoryService:对流程的历史数据进行操作,包括查询、删除这些历史数据。
7.FormService:表单服务。

后面遇到比较好的再补充上去。