news 2026/4/23 11:25:20

Activiti7工作流(一)概述

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Activiti7工作流(一)概述

文章目录

    • 1、BPM与BPMN
      • 1.1、BPM
      • 1.2、BPMN
    • 2、Activiti使用步骤
      • 2.1. 部署activiti
      • 2.2. 流程定义
      • 2.3. 流程定义部署
      • 2.4. 启动一个流程实例
      • 2.5. 用户查询待办任务(Task)
      • 2.6. 用户办理任务
      • 2.7. 流程结束

Activiti是一个工作流引擎, activiti可以将业务系统中复杂的业务流程抽取出来,使用专门的建模语言BPMN2.0进行定义,业务流程按照预先定义的流程进行执行,实现了系统的流程由activiti进行管理,减少业务系统由于流程变更进行系统升级改造的工作量,从而提高系统的健壮性,同时也减少了系统开发维护成本。

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

目前最新版本:Activiti7.3.0.Beta

1、BPM与BPMN

1.1、BPM

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

1.2、BPMN

BPMN(Business Process Model AndNotation)- **业务流程模型和符号 ** 是由BPMI(BusinessProcess Management Initiative)开发的一套标准的业务流程建模符号,使用BPMN提供的符号可以创建业务流程。

BPMN 是目前被各 BPM 厂商广泛接受的 BPM 标准。Activiti 就是使用 BPMN 2.0 进行流程建模、流程执行管理,它包括很多的建模符号:

简单的请假流程图:

Bpmn图形其实是通过xml表示业务流程,上边的.bpmn文件使用文本编辑器打开:

<?xml version="1.0" encoding="UTF-8"?><definitionsxmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:activiti="http://activiti.org/bpmn"xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC"xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI"typeLanguage="http://www.w3.org/2001/XMLSchema"expressionLanguage="http://www.w3.org/1999/XPath"targetNamespace="http://www.activiti.org/test"><processid="myProcess"name="My process"isExecutable="true"><startEventid="startevent1"name="Start"></startEvent><userTaskid="usertask1"name="创建请假单"></userTask><sequenceFlowid="flow1"sourceRef="startevent1"targetRef="usertask1"></sequenceFlow><userTaskid="usertask2"name="部门经理审核"></userTask><sequenceFlowid="flow2"sourceRef="usertask1"targetRef="usertask2"></sequenceFlow><userTaskid="usertask3"name="人事复核"></userTask><sequenceFlowid="flow3"sourceRef="usertask2"targetRef="usertask3"></sequenceFlow><endEventid="endevent1"name="End"></endEvent><sequenceFlowid="flow4"sourceRef="usertask3"targetRef="endevent1"></sequenceFlow></process><bpmndi:BPMNDiagramid="BPMNDiagram_myProcess"><bpmndi:BPMNPlanebpmnElement="myProcess"id="BPMNPlane_myProcess"><bpmndi:BPMNShapebpmnElement="startevent1"id="BPMNShape_startevent1"><omgdc:Boundsheight="35.0"width="35.0"x="130.0"y="160.0"></omgdc:Bounds></bpmndi:BPMNShape><bpmndi:BPMNShapebpmnElement="usertask1"id="BPMNShape_usertask1"><omgdc:Boundsheight="55.0"width="105.0"x="210.0"y="150.0"></omgdc:Bounds></bpmndi:BPMNShape><bpmndi:BPMNShapebpmnElement="usertask2"id="BPMNShape_usertask2"><omgdc:Boundsheight="55.0"width="105.0"x="360.0"y="150.0"></omgdc:Bounds></bpmndi:BPMNShape><bpmndi:BPMNShapebpmnElement="usertask3"id="BPMNShape_usertask3"><omgdc:Boundsheight="55.0"width="105.0"x="510.0"y="150.0"></omgdc:Bounds></bpmndi:BPMNShape><bpmndi:BPMNShapebpmnElement="endevent1"id="BPMNShape_endevent1"><omgdc:Boundsheight="35.0"width="35.0"x="660.0"y="160.0"></omgdc:Bounds></bpmndi:BPMNShape><bpmndi:BPMNEdgebpmnElement="flow1"id="BPMNEdge_flow1"><omgdi:waypointx="165.0"y="177.0"></omgdi:waypoint><omgdi:waypointx="210.0"y="177.0"></omgdi:waypoint></bpmndi:BPMNEdge><bpmndi:BPMNEdgebpmnElement="flow2"id="BPMNEdge_flow2"><omgdi:waypointx="315.0"y="177.0"></omgdi:waypoint><omgdi:waypointx="360.0"y="177.0"></omgdi:waypoint></bpmndi:BPMNEdge><bpmndi:BPMNEdgebpmnElement="flow3"id="BPMNEdge_flow3"><omgdi:waypointx="465.0"y="177.0"></omgdi:waypoint><omgdi:waypointx="510.0"y="177.0"></omgdi:waypoint></bpmndi:BPMNEdge><bpmndi:BPMNEdgebpmnElement="flow4"id="BPMNEdge_flow4"><omgdi:waypointx="615.0"y="177.0"></omgdi:waypoint><omgdi:waypointx="660.0"y="177.0"></omgdi:waypoint></bpmndi:BPMNEdge></bpmndi:BPMNPlane></bpmndi:BPMNDiagram></definitions>

2、Activiti使用步骤

2.1. 部署activiti

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

2.2. 流程定义

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

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

2.3. 流程定义部署

activiti部署业务流程定义(.bpmn文件)。

使用activiti提供的api把流程定义内容存储起来,在Activiti执行过程中可以查询定义的内容

Activiti执行把流程定义内容存储在数据库中

2.4. 启动一个流程实例

流程实例也叫:ProcessInstance

启动一个流程实例表示开始一次业务流程的运行。

在员工请假流程定义部署完成后,如果张三要请假就可以启动一个流程实例,如果李四要请假也启动一个流程实例,两个流程的执行互相不影响。

2.5. 用户查询待办任务(Task)

因为现在系统的业务流程已经交给activiti管理,通过activiti就可以查询当前流程执行到哪了,当前用户需要办理什么任务了,这些activiti帮我们管理了,而不需要开发人员自己编写在sql语句查询。

2.6. 用户办理任务

用户查询待办任务后,就可以办理某个任务,如果这个任务办理完成还需要其它用户办理,比如采购单创建后由部门经理审核,这个过程也是由activiti帮我们完成了。

2.7. 流程结束

当任务办理完成没有下一个任务结点了,这个流程实例就完成了。

整个activiti工作流的流程也是按照上面的流程图进行开展的。


“人的一生会经历很多痛苦,但回头想想,都是传奇”。


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 9:20:18

LobeChat能否支持白板协作?多人协同编辑功能设想

LobeChat能否支持白板协作&#xff1f;多人协同编辑功能设想 在远程办公常态化、团队知识密度不断提升的今天&#xff0c;AI 聊天工具早已不再只是“问答助手”那么简单。越来越多的团队希望在一个统一界面中完成从创意发散、方案讨论到内容输出的全流程——而不仅仅是来回发送…

作者头像 李华
网站建设 2026/4/23 7:52:29

K8s 中的 CoreDNS 组件

在 Kubernetes 集群中&#xff0c;服务发现是核心功能之一&#xff0c;而 CoreDNS 作为 Kubernetes 集群的 DNS 解析组件&#xff0c;承担着内部域名解析的重要职责。本文将详细介绍 CoreDNS 的工作原理、配置方式以及实际应用场景。一、Kubernetes 服务发现方式Kubernetes 提供…

作者头像 李华
网站建设 2026/4/23 7:52:12

BilibiliVideoDownload:跨平台B站视频离线下载完整指南

想要随时观看B站视频而不用担心网络问题&#xff1f;BilibiliVideoDownload正是你需要的解决方案。这款开源桌面应用让你能够轻松下载B站视频到本地&#xff0c;实现真正的离线观看体验。 【免费下载链接】BilibiliVideoDownload 项目地址: https://gitcode.com/gh_mirrors/…

作者头像 李华
网站建设 2026/4/23 7:52:44

阴阳师百鬼夜行效率提升终极指南:5个自动化技巧快速掌握

阴阳师百鬼夜行效率提升终极指南&#xff1a;5个自动化技巧快速掌握 【免费下载链接】OnmyojiAutoScript Onmyoji Auto Script | 阴阳师脚本 项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript 在阴阳师这款经典和风手游中&#xff0c;百鬼夜行是获取稀有…

作者头像 李华
网站建设 2026/4/23 7:50:37

大模型应用技术之多语言RAG【实战篇】

1. 环境准备 1.1 依赖安装 # 安装LlamaIndex核心包 pip install llama-index# 安装多语言相关依赖 pip install llama-index-embeddings-huggingface pip install sentence-transformers# 安装语言检测工具 pip install langdetect # 或 pip install lingua# 安装向量数据库&am…

作者头像 李华
网站建设 2026/4/23 7:52:28

代码随想录算法第四十二天| LeetCode188买卖股票的最佳时机Ⅳ、LeetCode309最佳买卖股票时机含冷冻期、LeetCode714买卖股票的最佳时机含手续费

LeetCode 188 买卖股票的最佳时机 Ⅳ 题目链接&#xff1a;188.买卖股票的最佳时机 Ⅳ 文档讲解&#xff1a;代码随想录 视频讲解&#xff1a;买卖股票的最佳时机 Ⅳ 思路与感想&#xff1a;这道题目虽然是道hard但是在做过了股票系列Ⅲ后立马就有思路直接秒了&#xff0c;跟Ⅲ…

作者头像 李华