您的位置:

深入了解SpringBoot工作流

一、SpringBoot工作流程

SpringBoot 工作流指的是在 SpringBoot 框架下实现的工作流解决方案,在此之前需要了解工作流的基本概念。工作流是指将一系列的工作任务按照特定的流程进行组合,形成一个具体的工作过程。SpringBoot 工作流在实现工作流的过程中主要分为以下几步:

1、定义流程图,确定好流程步骤和处理人,即确定任务和任务的执行人员;

2、由用户发起工作流,开始流程;

3、工作流引擎自动进行流转,根据当前的任务判断下一个任务,直到所有任务都执行完毕;

4、工作流引擎自动根据已经执行的任务信息生成审查报告。

二、SpringBoot工作流项目

SpringBoot 工作流主要是基于 SpringBoot 和 Activiti 结合实现的,Activiti 是一个流程引擎框架,主要用于强大的业务流程管理,因此 SpringBoot 工作流的实现就可以直接使用 Activiti 引擎的各项功能,不必太多自己实现。SpringBoot 工作流项目需要依赖 Activiti-starter,同时需要引入 Spring Boot Actuator 以监控工作流状态。


    
   
        
    org.activiti
    
        
    activiti-spring-boot-starter
    
        
    ${activiti.version}
    
    
   
    
   
        
    org.springframework.boot
    
        
    spring-boot-starter-actuator
    
    
   

三、SpringBoot工作流程图

SpringBoot 工作流的流程图主要是使用 Activiti Designer 进行设计,Activiti Designer 是 Eclipse 上的一个插件,可快速从可视化视图创建 BPMN 2.0 流程定义,并自动生成 Activiti 相应的 BPMN XML 文件,也可以将已经存在的 BPMN XML 文件导入到 Activiti Designer 中。SpringBoot 工作流的流程图主要是针对工作流的设计进行的,流程图有助于梳理好整个流程,为后续的调整和维护提供了便利。

四、SpringBoot工作流引擎

SpringBoot 工作流主要是为了解决企业流程中的各种问题而产生的一个解决方案,因此工作流引擎也是其中非常重要的一个组部分件。SpringBoot 工作流引擎主要是使用 Activiti 引擎,Activiti 引擎是一个非常常用的流程引擎,它是基于 BPMN2.0 标准进行构建的,而且它是一个非常轻量的工作流引擎,具有高性能、易于扩展等特点。在 SpringBoot 中使用引擎主要通过以下操作进行。


    @Autowired
    private ProcessEngine processEngine;

五、SpringBoot工作流框架

SpringBoot 工作流主要是基于 SpringBoot 构建的,而 SpringBoot 的优点在众所周知,主要就是其轻量级和易于构建、使用的特点。在 SpringBoot 工作流的框架中,大量使用了 SpringBoot 的注解、IOC、AOP 等特性,使得整个项目的编写变得非常简单快捷,大大提高了工作效率。

六、SpringBoot工作流用的什么组件

SpringBoot 工作流主要使用 Activiti-starter 作为工程支撑,同时也使用了一些其他的组件,包括了 Spring Boot Actuator 、Mybatis 等组件,这些组件都是为了提高工作流效率以及方便维护所选取的最佳组件。


    
   
        
    org.activiti
    
        
    activiti-spring-boot-starter
    
        
    ${activiti.version}
    
    
   
    
   
        
    org.springframework.boot
    
        
    spring-boot-starter-actuator
    
    
   
    
   
        
    org.mybatis.spring.boot
    
        
    mybatis-spring-boot-starter
    
        
    ${mybatis.version}
    
    
   

七、SpringBoot工作流程和原理

SpringBoot 工作流的原理主要是基于 Activiti 引擎进行的。Activiti 引擎本身就是一个工作流引擎,而使用 SpringBoot 框架然后在其之上集成 Activiti 引擎就成为了一个完整的工作流解决方案。流程的执行过程中,Activiti 主要使用 BPRM 2.0 标准中的流程定义和任务定义进行调度和执行。在 Activiti 中,流程定义文件是 BPRM 文件,由 Activiti Designer 定义,而任务是在流程定义中指定的步骤,每一个步骤都定义了需要执行的操作和其执行者。

八、SpringBoot Activity工作流

SpringBoot Activity 工作流主要是基于 Activiti 引擎实现的,是一个非常轻量级的工作流引擎,适合各种规模的企业,其主要优点就是使用方便、性能高、轻量级等特点。在 SpringBoot 中实现 Activiti 工作流主要是通过配置文件进行定义,配置类似于下面这样:


    activiti:
      db:
        schema-update: true
        database-type: mysql
        # mysql 数据库配置
        url: jdbc:mysql://localhost:3306/activiti?useUnicode=true&characterEncoding=UTF-8&useSSL=false
        username: root
        password: root

九、SpringBoot Flowable工作流

SpringBoot Flowable 工作流同样是基于 Activiti 引擎进行构建的,但与 SpringBoot Activity 工作流的区别在于其在原有 Activiti 引擎功能的基础上,加入了不少新的特性和功能,例如支持 CMMN、DMN 等标准,并且支持对 BPMN2.0 标准中杂七杂八的细节进行优化。在 SpringBoot 中使用 Flowable 工作流的时候,同样需要进行配置,具体配置可以参考官方文档进行配置示例。

十、SpringCloud工作流

SpringCloud 工作流同样是基于 SpringCloud 和 Activiti 引擎实现的,主要是通过微服务框架提供分布式、可扩展的工作流解决方案。SpringCloud 工作流主要的一个作用就是可以方便地在多个系统之间使用工作流,而且这些系统都可以使用不同的编程语言和开发框架。在 SpringCloud 工作流中,还可以加入其它组件,例如 Hystrix 和 Zuul 等,这些组件的运用可以使得工作流处理变得非常灵活和高效。

十一、总结

本文主要介绍了 SpringBoot 工作流,具体内容从其工作流程、项目、流程图、引擎、框架、用的组件、如何实现以及 SpringCloud 工作流等方面进行了详细阐述。通过本文的介绍,相信读者对 SpringBoot 工作流的相关知识有了更深入的了解,也可以在今后的工作中更好地应用。