01 Activiti 7:步骤

devtools/2024/9/19 18:37:58/ 标签: activiti

01 Activiti 7:步骤

  • 1. 整合Activiti
  • 2. 业务流程建模
  • 3. 部署业务流程
  • 4. 启动流程实例
  • 5. 查询待办任务
  • 6. 处理待办任务
  • 7. 结束流程

在这里插入图片描述

1. 整合Activiti

  • 业务系统使用 Activiti 来对系统的业务流程进行自动化管理。为了方便业务系统访问(操作)Activiti 的接口或功能,通常将 Activiti 和业务系统的环境集成在一起。

2. 业务流程建模

  • 使用 Activiti 流程建模工具( Activity-designer )定义业务流程( .bpmn 文件)。
  • .bpmn 文件就是业务流程定义文件,通过 xml 定义业务流程。
  • 第三方公司开发的工作引擎一般都提供了可视化的建模工具(Process Designer)用于生成流程定义文件,建模工具操作直观,一般都支持图形化拖拽方式、多窗口的用户界面、丰富的过程图形元素、过程元素拷贝、粘贴、删除等功能。

3. 部署业务流程

  • Activiti 部署业务流程定义( .bpmn 文件)。
  • 使用 Activiti 提供的 APIActiviti 中部署 .bpmn 文件(一般情况下还需要一起部署业务流程的图片 .png )。

4. 启动流程实例

  • 启动一个流程实例表示开始一次业务流程的运行。比如:员工请假流程部署完成,如果张三要请假就可以启动一个流程实例,如果李四要请假也需要启动一个流程实例,两个流程的执行互不影响。就好比定义一个 Java 类,实例化两个 Java 对象一样,部署的流程就好比 Java 类,启动一个流程实例就好比 new 一个 Java 对象。

5. 查询待办任务

  • 因为现在系统的业务流程已经交给 Activiti 管理,通过 Activiti 就可以查询当前流程执行到哪里了,当前用户需要办理什么任务了,这些 Activiti 帮我们管理了,而不像传统方式中需要我们在 SQL 语句中的 WHERE 条件中指定当前查询的状态值是多少。

6. 处理待办任务

  • 用户查询待办任务后,就可以办理某个任务,如果这任务办理完成还需要其他用户办理,比如采购单创建后由部门经理审核,这个过程也是由 Activiti 帮我们完成了,不需要我们在代码中硬编码指定下一个任务办理人。

7. 结束流程

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

本文隶属于 【个人专栏】04 Activiti 7📋📋📋
到这里 01 Activiti 7:步骤 就结束了!!!🎉🎉🎉
后续接 02 Activiti 7:环境 📣📣📣
欢迎小伙伴们学习和指正!!!😊😊😊
祝大家学习和工作一切顺利!!!😎😎😎


http://www.ppmy.cn/devtools/31010.html

相关文章

用Springboot(java程序)访问Salesforce RestAPI之二(Update和Create)

在上一篇博文中,介绍了Springboot连接Salesforce的步骤和环境构建。 其中,只给出了对Salesforce数据进行查询的例子,这篇文章针对Salsforce数据的Update和Create,再展开一下。 对于Create和Update的操作,请求的方式和…

鸿蒙内核源码分析(用栈方式篇) | 程序运行场地谁提供的

精读内核源码就绕不过汇编语言,鸿蒙内核有6个汇编文件,读不懂它们就真的很难理解以下问题. 1.系统调用是如何实现的? 2.CPU是如何切换任务和进程上下文的? 3.硬件中断是如何处理的? 4.main函数到底是怎么来的? 5.开机最开始发生了什么? 6.关机…

K8s: Kubernetes扩展之自定义资源

自定义资源 自定义资源是 K8s 的扩展,有时候需要对K8s进行一个扩展在默认的K8s集群里面提供的资源对象是一个有限的集合比如常用的pod, deployment, service,这些都是K8s原生的资源之所以它资源,是因为它能够对外提供API接口变成一个resourc…

Python | Leetcode Python题解之第65题有效数字

题目: 题解: from enum import Enumclass Solution:def isNumber(self, s: str) -> bool:State Enum("State", ["STATE_INITIAL","STATE_INT_SIGN","STATE_INTEGER","STATE_POINT","STATE_…

openlayers6在uniapp中结合rendjs

步骤 1: 安装 OpenLayers 在你的 UniApp 项目中,使用 npm 或 yarn 安装 OpenLayers: bash复制代码 npm install ol 步骤 2: 创建地图组件 在 UniApp 中创建一个新的 Vue 组件(例如 Map.vue),并在其中引入 OpenLaye…

Qt之信号与槽

槽的本质:对信号响应的函数。 信号函数和槽函数通常位于某个类中,和普通的成员函数相⽐,它们的特别之处在于: 信号函数⽤ signals 关键字修饰,槽函数⽤ public slots、protected slots 或者 private slots 修饰。sign…

机器学习笔记 - scikit-learn中的metric参数和metric_params参数如何使用?

在 scikit-learn 库中的一些算法里面,这里是指需要使用距离度量或相似度度量的算法,这里拿KNeighborsclassifier举例来说,会有metric参数,这个参数用于指定距离度量方法。这个参数有多个可选项,常用的有以下几种: 1.euclidean:欧氏距离。这是默认的距离度量方法。 2.manha…

【C++风云录】破解聊天机器人开发:寻找最适合你的工具

重量级面面观:六大顶级聊天机器人开发工具的对比 前言 在本文中,我们将深入探讨六种不同的C集成聊天机器人开发工具,包括Botkit, DialogueFlow, Rasa, Wit.ai, IBM Watson Assistant和 Microsoft Bot Framework。每个工具都将从选择原因&am…

Faiss使用指南:5步掌握高效相似性搜索【AI写作助手】

首先,这篇文章是基于笔尖AI写作进行文章创作的,喜欢的宝子,也可以去体验下,解放双手,上班直接摸鱼~ 按照惯例,先介绍下这款笔尖AI写作,宝子也可以直接下滑跳过看正文~ 笔尖Ai写作:…

Rust HashMap

一、HashMap是什么,怎么用 1、HashMap是什么 HashMap 也是 Rust 标准库中提供的集合类型,但是又与动态数组不同,HashMap 中存储的是一一映射的 KV 键值对,并提供了平均时间复杂度为 O(1) 的查询方法。 2、HashMap怎么用 &…

idm下载速度慢解决办法 idm批量下载怎么用 idm优化下载速度 Internet Download Manager解决下载速度慢的方法教程

IDM (Internet Download Manager)是一款兼容性大,支持多种语言的下载管理软件,它可以自动检测并下载网页上的内容,这正是这一优点,使得它受到了广大用户的喜爱。但是在下载的过程中,我们会遇到idm下载速度慢怎么回事&a…

nginx的前世今生(二)

书接上回: 上回书说到,nginx的前世今生,这回我们继续说 3.缓冲秘籍,洪流控水 Nginx的缓冲区是其处理数据传输和提高性能的关键设计之一,主要用于暂存和管理进出的数据流,以应对不同组件间速度不匹配的问题…

关于命令模式这一篇就够了

命令模式的概念 命令模式(Command Pattern)是一种行为设计模式,它将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。命令模式允许系统使…

力扣141.环形链表142.环形链表Ⅱ 附证明

题目链接: 141. 环形链表 - 力扣(LeetCode) 142. 环形链表 II - 力扣(LeetCode) 141.环形链表 方法思路:快慢指针 代码: class Solution { public:bool hasCycle(ListNode *head) {if(!head){return fa…

介绍一个在数据分析中常用的函数:data.iloc[]

平时处理数据集中,总是需要选中一些列的数据,去预测其他列的数据,所以data.iloc[],在数据分析中显得尤为方便。 介绍一下data.iloc[] data.iloc[] 是 Python 中 pandas 库的一个非常有用的功能,它允许你通过行和列的…

笔试强训-day17_T1 BC45 小乐乐改数字

一、题目链接 BC45 小乐乐改数字 二、题目描述 小乐乐喜欢数字,尤其喜欢0和1。他现在得到了一个数,想把每位的数变成0或1。如果某一位是奇数,就把它变成1,如果是偶数,那么就把它变成0。请你回答他最后得到的数是多少。…

Django前后端项目部署

Django前后端分离项目部署 本文采用阿里云服务器,centos7.9操作系统 本文默认服务器已安装nginx,mysql并且可以正常运行Django vue uwsgi nginx注意:先部署后端,使用postman测试请求没有问题后在修改vue中的axios文件中baseURL&#xff0…

【Leetcode每日一题】 综合练习 - 找出所有子集的异或总和再求和(难度⭐)(68)

1. 题目解析 题目链接:1863. 找出所有子集的异或总和再求和 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 算法思路与实现 为了求解给定整数数组的所有子集并将其异或和相加,我们可以采用递…

联合索引与索引下推

一、联合索引 联合索引大家都知道&#xff0c;就不介绍了。 二、最左匹配原则 在通过联合索引检索数据时&#xff0c;从索引中最左边的列开始&#xff0c;一直向右匹配&#xff0c;如果遇到范围查询(>、<、between、like等)&#xff0c;就停止后边的匹配。 这个定义不太…