工作流 Activiti 介绍与应用工作流(workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。我的理解就是:将部分或者全部的工作流程、逻辑让计算机帮你来处理,实现自动化。1 Activiti 简介Activiti 是由 Alfresco 软件在 2024 年 5 月 17 日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理,工作流,服务协作等领域的一个开源,灵活的,易扩展的可执行流程语言框架。它实现了 BPMN 2.0 规,可以发布设计好的流程定义,并通过 api 进行流程调度。1.1Activiti 基础编程框架Activiti 的基础编程框架如下:Activiti 基于 Spring,ibatis 等开源中间件作为软件平台,在此之上构建了非常清楚的开发框架。上图列出了 Activiti 的核心组件。1.ProcessEngine : 流 程 引 擎 的 抽 象 , 对 于 开 发 者 来 说 , 它 是 我 们 使 用Activiti 的外观(fa adeç),通过它可以获得我们需要的一切服务。2.XXService(TaskService,RuntimeService,RepositoryService...):Activiti 根据流程的生命周期(定义,部署,运行)把不同阶段的服务封装在不同的Service 中,用户可以非常清楚地使用特定阶段的接口。通过 ProcessEngine 能够获得这些 Service 实例。1.2Activiti 重要服务类ProcessEngine:流程引擎的抽象,通过它我们可以获得我们需要的一切服务。RepositoryService: Activiti 中每一个不同版本的业务流程的定义都需要使用一些定义文件,部署文件和支持数据(例如 BPMN2.0 XML 文件,表单定义文件,流程定义图像文件等),这些文件都存储在 Activiti 建的 Repository 中。RepositoryService 提供了对 repository 的存取服务。TaskService:在 Activiti 业务流程定义中每一个执行节点都被称作一个Task , 流 程 运 行 过 程 中 , 与 每 个 任 务 节 点 相 关 的 接 口 , 比 如complete,delete,delegate 等等都是 TaskService 提供的。IdentityService: Activiti 中置了用户以与组管理的功能,必须使用这些用户和组的信息才能猎取到相应的 Task。IdentityService 提供了对 Activiti 系统中的用户和组的管理功能。FormService:Activiti 中的流程和 Task 状态均可关联业务相关的数据。通过FormService 可以存取启动和完成任务所需要的表单数据。RuntimeSe...