工作流Activiti学习一 Activiti的简介
一、什么是工作流
工作流:官方解释的是指业务过程的部分或整体在计算机应用环境下的自动化。是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。
其实,工作流在我们身边也常用到,比如找公司报销费用、请假等。就拿请假来说,提交一个请假的申请,需要公司不同级别的人做审批,只有当领导审批通过后,请假申请才会生效,中间有任何一个领导审批不通过,请假申请就会无效。
二、什么是Activiti
Activiti是一个开源的工作流引擎,它实现了BPMN 2.0规范,可以发布自定义的流程定义,并通过提供的api进行流程调度。
三、Activiti的Api
图片来自Activiti的官方文档:https://www.activiti.org/5.x/userguide/#chapterApi
1、ProcessEngine 流程引擎
Activiti的所有Service服务都是来自流程引擎ProcessEngine,ProcessEngine是Activiti的核心,流程引擎ProcessEngine通过流程配置文件可获得。
2、RepositoryService 流程存储服务
RepositoryService服务用于部署流程定义并发布,使流程生效, 流程定义中包含了流程中每个步骤的结构和行为。本质上是解析配置的工作流程文件,将对应的数据存入数据库中,主要负责静态字资源。
3、RuntimeService 流程运行服务
RepositoryService服务用于启动一个流程定义的实例,也可以用来获取和保存流程变量。
4、TaskService 流程任务服务
RepositoryService服务用于认领并完成一个任务。可手动设置流程的认领者。
5、HistoryServie 流程历史服务
HistoryServie提供了Activiti流程引擎的所有历史数据。包括历史流程实例信息、历史流程节点信息、历史流程定义信息等等。
6、IdentityService 流程身份服务
IdentityService 可以管理群组和用户,可用来创建,更新,删除,查询用户和群组。
7、FormService 流程表单服务
FormService 是一个可选服务。提供了启动表单和任务表单两个概念。 启动表单会在流程实例启动之前展示给用户, 任务表单会在用户完成任务时展示。
8、ManagementService 流程管理服务
ManagementService 可以查询数据库的表和表的元数据。
在实际的开发过程中,常用到RepositoryService、RuntimeService、TaskService、HistoryService这四个服务,IdentityService、FormService、ManagementService不常用,至少我在开发过程中并未用到这三个服务。
后面的学习中会对这些服务做详细介绍,包括Api的使用及涉及的表数据。个人感觉,Activiti的学习主要有两点,一是画流程;二是对Activiti提供的原生Api的封装与调用。
最重要的是学会参照官网文档学习,下面贴出官网地址,有时间可以多逛逛学习学习:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)