您当前的位置:首页 > 互联网教程

工作流flowable,activiti。如何做选择

发布时间:2025-05-19 10:30:42    发布人:远客网络

工作流flowable,activiti。如何做选择

一、工作流flowable,activiti。如何做选择

工作流是一种用于抽象、描述和执行业务流程的技术,它通过特定语言构建流程模型,实现流程在计算机上的自动执行。工作流解决的问题主要在于业务流程的宏观与微观逻辑解耦,允许熟悉流程的人制定逻辑,而专业人士专注于流程的特定节点,简化了协同工作。

工作流提供了一个固定的框架来执行流程,但对某些没有特定顺序要求的情况,如每天完成作业、运动和游戏的序列,工作流无法解决,这类流程需要使用CMMN建模。

BPMN2.0协议是国际通用的业务建模语言,使流程设计清晰、易于理解和实现。协议主要包含事件、任务、连线和网关。一个流程至少包括一个事件和一个结束事件,网关用于控制流程逻辑,任务则分为人工任务、服务任务、接受任务和调用活动等类型。

互斥网关允许在满足条件的出口执行任务;并行网关允许所有出口任务同时执行;包容性网关满足任一条件即执行。

Flowable是BPMN2.0协议的Java实现,提供紧凑、高效的核心业务流程引擎,支持广泛的功能扩展,如Camel节点、Mule节点等。Activiti则专注于bpmn处理,设计与云服务兼容,如Spring Cloud、Docker、K8S。

Flowable的数据处理采用冷热分离,热数据在ACT_RU_系列表中,历史数据在ACT_HI_系列表中,定义数据在ACT_RE_系列表中。异步执行器(ASYNC EXECUTOR)用于处理定时事件与消息事件,通过冷热数据分离优化性能,显著提升并发处理能力。

云环境下,工作流设计应关注用户生命周期管理,简化API设计,明确角色划分,如启动、流转、结束流程等。用户角色分类为与流程沟通、服务提供和消息处理,确保不同部门和系统能够专注于自身职责,提高协作效率。

二、SpringBoot系列——Activiti7工作流引擎

工作流程是日常开发项目中的常见功能,本文将记录如何在SpringBoot中整合Activiti7。

Activiti7是一个开源的工作流引擎,其官方网站为。其数据库表结构主要包括:

在BPMN2.0规范中,BPM节点分为以下几类:

在开发前,需要安装Idea并安装actiBPM插件以绘制流程图。

画流程图时,创建bpmn文件并画一个简单的请假流程图。

在代码编写方面,项目结构包括引入依赖包。这些依赖包括:activiti-spring-boot-starter、activiti-image-generator、spring-boot-starter-jdbc、mysql-connector-java、spring-boot-starter-thymeleaf、spring-boot-starter-test。

整合activiti7与SpringBoot时,默认自带security框架。为了方便测试,可以使用官方提供的配置类。Activiti7提供了默认的账号,例如admin/password。

传统项目分层包括:controller层、service层。为了扩展和丰富原生的流程图生成器,可以创建自定义ProcessDiagramGenerator与ProcessDiagramCanvas。

三个简单页面:流程发起、任务待办、查看流程。其中,

本文提供了一种在SpringBoot中整合Activiti7的方法,帮助开发者实现流程自动化管理。

三、java activiti

java activiti是什么,让我们一起了解一下?

Activiti项目是一项新的基于Apache许可的开源BPM平台,覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架,特色是提供了eclipse插件,开发人员可以通过插件直接绘画出业务。

Activiti执行的前期支持是什么?

1、首先我们要知道ProcessEngine对象,是Activiti工作的核心。负责生成流程运行时的各种实例及数据、监控和管理流程的运行。

Activiti的后台是有数据库的支持,所有的表都以ACT_开头。第二部分是表示表的用途的两个字母标识。用途也和服务的API对应。

ACT_RE_*:'RE'表示repository。这个前缀的表包含了流程定义和流程静态资源(图片,规则,等等)。

ACT_RU_*:'RU'表示runtime。这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据,在流程结束时就会删除这些记录。这样运行时表可以一直很小速度很快。

ACT_ID_*:'ID'表示identity。这些表包含身份信息,比如用户,组等等。

ACT_HI_*:'HI'表示history。这些表包含历史数据,比如历史流程实例,变量,任务等等。

ACT_GE_*:通用数据,用于不同场景下,如存放资源文件。

说明:自定义一个简单流程,然后在main中直接通过控制台输入信息然后控制流程。

1、创建一个maven项目引入依赖:pom.xml     4.0.0             org.springframework.boot         spring-boot-starter-parent         1.5.10.RELEASE         com.jy.activiti     activiti6-helloworld     1.0-SNAPSHOT                         org.springframework.boot             spring-boot-starter                                     org.activiti             activiti-engine             6.0.0                                     junit             junit             4.11             test                                     ch.qos.logback             logback-classic             1.1.11                                     com.google.guava             guava             23.0                                     com.h2database             h2             1.3.176                                                     org.springframework.boot                 spring-boot-maven-plugin