什么是Activiti
Activiti属于工作流引擎的一个开源实现。Activiti由Tom Bayen发起。在2010年5月发布了第一个版本。命名也很有意思的采取了Activities(活动)的化简方式命名了该项目。现在最新的Acitiviti版本已经更新到了7.1.0
什么是工作流引擎
工作流框架则是为了解决业务流程诞生的。对于同一件事件,从起始到结束中间会经历非常多的状态甚至事件回退等操作。通过业务代码的方式实现该套逻辑较为复杂,且不可复用。而工作流框架是针对此种情况(购物流程、请假流程等等)提取出来的通用解决方案,让开发省去事件流转状态的操作
现在绝大部分的工作流引擎都是根据2011年发布的BPMN2.0
规范实现,BPMN2.0
统一了业务流程图的标准,让各种工作流引擎的流程设计器可以通用
Acitviti特点
-
数据持久化
Activiti在数据存储上依赖了数据库,启动时会自动的创建表单。并且内部使用了Mybatis完成数据库的表查询等功能
-
引擎Service接口
Service接口 作用 RespositoryService 管理流程仓库,如部署、删除、读取流程资源等 IdentifyService 管理和查询用户、组之间的关系 RuntimeService 处理所有正在运行状态的流程实例、任务 TaskService 管理查询任务,如签收、办理、指派等 FormService 用于读取和流程、任务相关的表单数据 HistoryService 查询所有历史数据,如流程实例、任务、活动、变量、附件等 ManagementService 引擎管理,和具体业务无关,如查询引擎配置、数据库、作业等 -
原生支持Spring
在Spring Boot流行的今天,Activiti 7 已经可以快速的和Spring Boot 2.0进行整合了
-
分离运行时与历史数据
表结构设计上遵循运行时数据与历史数据分离,可快速读取运行时数据。需查询历史数据再从专门的历史表中读取。提高了当前执行流程的存取效率
Acitviti架构与组件
-
Activiti Engine
核心模块,提供对BPMN2.0规范的解析、执行、创建、管理(如无、流程实例)、查询历史记录并根据结构生成报表等
-
Activiti Modeler
模型设计器,帮助业务人员把需求转换成规范的流程定义
-
Activiti Designer
类Activiti Modeler,但由Activiti团队自行研发
-
Activiti Explorer
用于管理仓库、用户、组、启动流程、任务办理等。是基于REST风格的API
-
Activiti REST
也是Restful风格的服务,允许客户端以JSON方式与引擎的API进行交互
总结
Activiti作为流程引擎,提供了任务流转所需的所有功能。并且提供了设计器、API等多个组件用于进行流程的定义和流程的管理
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)