Springboot集成工作流Activity

介绍

官网:https://www.activiti.org/

一 、工作流介绍

1.工作流(workflow)
就是通过计算机对业务流程自动化执行管理,它主要解决的是“使在多个参与这之间按照某种预定义规则自动化进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使目标的实现。”

2.BPM
BPM(Business Process Management),即业务流程管理,是一种规范化的构造端到端的业务流程,以持续的提高组织业务效率,常见商业管理如EMBA、MBA等均将BPM包含在内。

3.使用步骤
部署Activiti

Activiti是一个工作流引擎(其实就是一堆jar包API),业务系统访问(操作)activiti的接口,就可以方便的操作流程相关数据,这样就可以把工作流环境与业务系统的环境集成在一起。

流程定义

使用activiti流程建模工具(activiti-designer)定义业务流程(.bpmn文件)。

.bpmn文件就是业务流程定义文件,通过xml定义业务流程。

流程定义部署

activiti部署业务流程定义(.bpmn文件)。使用activiti提供的api把流程定义内容存储起来,在activiti执行过程中可以查询定义的内容,activiti执行把流程定义内容存储在数据库中。

启动一个流程实例

启动一个流程实例表示开始一次业务流程的运行。流程实例之间互不影响。

二、SpringBoot集成Activiti

1.项目环境
项目依赖

  <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.72</version>
        </dependency>


        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-spring-boot-starter</artifactId>
            <version>7.1.0.M6</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.3.4</version>
        </dependency>

yaml项目配置

mybatis:
    mapper-locations: classpath:mappers/*xml
    type-aliases-package: com.activiti.mybatis.entity
    configuration:
        map-underscore-to-camel-case: true
        log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
server:
    port: 8082

spring:
    application:
        name: activiti
    datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        name: activitiDataSource
        password: 'root'
        url: jdbc:mysql://localhost:3306/activiti?serverTimezone=UTC
        username: 'root'

创建数据库:activiti
2.在idea中可以安装Activiti BPMN visualizer
在这里插入图片描述
3.java配置

activiti-spring-boot默认集成了spring security用于权限管理如需禁用security启动类中屏蔽ActivitiSpringIdentityAutoConfiguration,再增加一个配置类即可 Application中禁用权限相关集成。

import org.activiti.core.common.spring.identity.config.ActivitiSpringIdentityAutoConfiguration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication(exclude = {ActivitiSpringIdentityAutoConfiguration.class})
public class ActivitiApplication {

   public static void main(String[] args) {
       SpringApplication.run(ActivitiApplication.class, args);
  }

}

增加配置类ActivitiSpringIdentityAutoConfiguration,其中有三个方法在源码中并未查询到引用暂时不处理。

import org.activiti.api.runtime.shared.identity.UserGroupManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.ArrayList;
import java.util.List;

@Configuration
public class ActivitiSpringIdentityAutoConfiguration {

   @Bean
   public UserGroupManager userGroupManager() {
       return new UserGroupManager() {
           @Override
           public List<String> getUserGroups(String s) {
               return new ArrayList<>();
          }
           @Override
           public List<String> getUserRoles(String s) {
               return null;
          }
           @Override
           public List<String> getGroups() {
               return null;
          }
           @Override
           public List<String> getUsers() {
               return null;
          }
      };
  }

}

启动服务,mysql数据库中activiti库中自动添加activiti相关表。
在这里插入图片描述
三. 画一个简单的流程图
1.新建bpmn文件
在这里插入图片描述
2.确定之后会自动生成一个xml文件
在这里插入图片描述
3.在文件的任意位置点击右键:view bpmn(Activiti)Diagram
在这里插入图片描述

4.打开可视化编辑器,右键start events –>start event画一个开始事件
在这里插入图片描述

  1. 测试
@SpringBootTest
class ActivitiApplicationTests {

    @Test
    public void deployProcess() {
        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
        RepositoryService repositoryService = processEngine.getRepositoryService();
        Deployment deploy = repositoryService.createDeployment().addClasspathResource("bpmn/demo1.bpmn20.xml").deploy();
        System.out.println(deploy.getId());
    }
}

  1. 运行结果
    在这里插入图片描述
    在这里插入图片描述
    数据库已经自动更新,至此开发环境搭建完成。
  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: Spring Boot Activity是一个开源的流程引擎,可以用来设计、执行和监控各种业务流程。下面是使用Spring Boot Activity进行工作流程建模的一般步骤: 1. 定义流程模型 使用Activiti Modeler或Eclipse插件Activiti Designer来设计流程模型,可以使用BPMN 2.0规范中的图形符号来描述活动、事件、网关和流程顺序等。 2. 部署流程定义 将流程模型部署到Activiti引擎中,这可以通过Activiti REST API或Java API来完成。 3. 开始流程实例 当需要启动一个新的流程实例时,可以使用Activiti REST API或Java API调用引擎,启动新的流程实例。 4. 执行任务 在流程中定义的任务将自动分配给相应的参与者或组,他们可以通过Activiti Task App或自定义的前端应用程序来完成任务。 5. 监控流程实例 可以使用Activiti Admin App或自定义的监控应用程序来跟踪流程实例的状态,查看运行时数据和日志。 6. 终止流程实例 当流程执行完成或需要终止时,可以使用Activiti REST API或Java API调用引擎,终止流程实例。 以上是使用Spring Boot Activity进行工作流程建模的一般步骤。具体的实现过程可能会因应用场景和需求而有所不同。 ### 回答2: Spring Boot Activity是一个开源的工作流引擎,它能够处理业务流程和任务流程,帮助用户高效地管理工作流程。Spring Boot Activity结合了Spring Boot和Activiti两个框架,提供了高效的工作流解决方案。下面从以下四个方面介绍Spring Boot Activity工作流。 1. 优点 Spring Boot Activity工作流具有以下优点: a. 基于开源的Activiti,免费且广受欢迎。 b. 结合Spring Boot,可以更好地实现开发者的快速开发和部署需求。 c. 采用Spring的约定配置和开发模式,使得开发者可以专注于业务逻辑的实现。 d. 支持多种流程定义及部署方式,包括BPMN、XML等方式,同时也支持流程图和流程模型的设计。 e. 提供了丰富的API和事件,方便开发者二次开发。 2. 核心概念 Spring Boot Activity工作流有几个重要的核心概念,这些概念构成了整个工作流系统的基础。包括: a. 流程定义(Process Definition):工作流的定义、流程图设计等。 b. 流程实例(Process Instance):根据流程定义,生成的具体的实例,用于执行具体的业务逻辑。 c. 任务(Task):流程的基本单位,一个流程由多个任务组成。 d. 执行人(Assignee):任务的执行者,可以是个人或组。 3. 工作流引擎 Spring Boot Activity工作流引擎是整个系统的核心,它负责管理流程定义、流程实例、任务的创建、分配和执行。其中包括以下几个重要的模块: a. 引擎配置(Engine Configuration):引擎的配置信息,包括数据源、数据库方言等。 b. 流程定义存储(Process Definition Repository):负责持久化流程定义信息。 c. 流程实例引擎(Process Instance Engine):用于创建和管理流程实例。 d. 任务引擎(Task Engine):用于创建和管理任务的创建、分配和执行。 4. 实现步骤 Spring Boot Activity工作流的实现步骤包括: a. 添加Spring BootSpring Boot Activity的依赖。 b. 在应用程序的配置文件中配置工作流引擎,包括数据源、数据库方言等。 c. 设计工作流程图并导入到工作流引擎。 d. 实现业务逻辑并与工作流引擎进行交互,包括创建和管理流程实例、任务分配和执行等。 总之,Spring Boot Activity是一个简单易用的工作流框架,基于Spring Boot和Activiti两个框架开发而成。它可以很好地解决工作流的需求,提高工作效率和业务运营效益。 ### 回答3: Spring Boot Activity工作流框架是Spring Boot和Activiti的结合,是一种基于Java语言实现的工作流管理系统。该框架以Activiti为核心组件,通过Spring Boot提供的便捷的Spring框架支持,提供了快速构建流程管理系统的能力。因此,Spring Boot Activity工作流在企业应用领域有着广泛的应用价值。 工作流是一个由各种不同的业务流程、规则和机制构成的自动化过程,通过使用工作流提高业务的过程化效率,减少时间和成本,从而提高企业的生产效率和质量。使用工作流管理系统可以使企业管理变得更加透明化,方便了业务流程的管理和优化。 Spring Boot Activity工作流提供了一个简单易用的开发工具,可以通过XML(或Java),定义和管理业务模型、规则和流程。同时,该框架实现了绝大部分工作流功能,如流程起始、结束、任务分配、自动流转、异常处理、流程跳过等。 此外,Spring Boot Activity工作流也提供了一个完整的工具包,包括Web设计器、任务列表、用户组管理、报表等,方便用户快速构建自定义的工作流应用。通过使用该框架,企业可以快速地完成业务系统的集成、部署和维护。 总之,Spring Boot Activity工作流不仅具有强大的组件和工具支持,同时也具有高度的可扩展性和灵活性,能够适应不同规模、不同领域的企业管理需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

缘不易

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值