Activiti工作流课程,学完能独立搭建流程吗?

99ANYc3cd6 课程介绍 1

Activiti 工作流引擎从入门到精通实战课程

课程简介

本课程旨在帮助学员全面、系统地学习和掌握 Activiti 工作流引擎的核心概念、API 使用、高级特性以及在实际项目中的最佳实践,通过理论讲解、代码演示和项目实战,学员将具备独立设计、开发、部署和管理工作流应用的能力,提升企业级应用的开发效率与业务流程的灵活性。

课程目标

  • 理解 工作流和 BPMN 2.0 的核心概念。
  • 掌握 Activiti 的核心架构、数据表结构和核心 API。
  • 熟练使用 Activiti Designer (或 Flowable) 可视化流程设计器。
  • 能够独立开发 流程定义、部署、启动、查询、处理任务、流程实例管理等全生命周期代码。
  • 掌握 流程变量、任务分配、排他网关、并行网关、用户任务、服务任务等关键节点。
  • 了解并实践 Activiti 的高级特性,如监听器、表达式、历史数据管理等。
  • 具备 将 Activiti 集成到 Spring Boot / Spring MVC 项目中的能力。
  • 理解 工作流引擎的性能、监控和常见问题排查方法。

课程大纲

第一部分:基础入门与环境搭建

  • 工作流与 Activiti 介绍
    • 什么是工作流?为什么需要工作流引擎?
    • 主流工作流引擎对比:Activiti, Flowable, Camunda。
    • Activiti 的历史、特点、版本选择与社区生态。
    • Activiti 7 的重大变革:与 Spring Boot 的深度集成。
  • 开发环境搭建
    • 软件准备:JDK (1.8+), Maven, MySQL (5.7+), IDE (IntelliJ IDEA/Eclipse)。
    • Activiti 项目创建:使用 Maven 创建标准 Java 项目。
    • 数据库准备:创建 Activiti 专用的数据库。
    • 核心 JAR 包引入:手动引入 Activiti 核心依赖。
    • 验证安装:编写第一个 "Hello World" 程序,验证数据库表是否生成。
  • Activiti 核心组件与架构
    • 核心服务 APIProcessEngine, RepositoryService, RuntimeService, TaskService, HistoryService 等。
    • Activiti 架构图解:深入理解各服务的作用和交互关系。
    • 数据库表结构详解:23 张核心表的作用(如 act_re_*, act_ru_*, act_hi_*)。
    • 流程引擎的创建与关闭

第二部分:核心概念与流程定义

  • BPMN 2.0 基础
    • 什么是 BPMN 2.0?
    • 基本元素Process (流程), Start Event (开始事件), End Event (结束事件), Task (任务), Sequence Flow (顺序流)。
    • 使用流程设计器:安装并熟悉 Activiti Designer / Flowable 插件。
    • 实战:在流程设计器中绘制一个简单的 "请假申请" 流程,并导出为 .bpmn20.xml 文件。
  • 流程定义的部署与启动
    • RepositoryService:管理流程定义。
    • 部署流程定义:使用 DeploymentBuilder 从 classpath 或 zip 文件部署。
    • 查询流程定义:按 key, version 等条件查询。
    • RuntimeService:启动流程实例。
    • 实战:通过 Java 代码部署上一步绘制的请假流程,并启动一个流程实例。
    • 数据库表变化观察act_re_deployment, act_re_procdef, act_ru_execution 表的变化。

第三部分:流程任务与执行

  • 用户任务与任务查询
    • TaskService:管理任务。
    • 查询任务taskQuery API,按 assignee (办理人), candidateUser (候选人), processDefinitionKey 等条件查询。
    • 任务分配:固定分配 vs. 动态分配(表达式)。
    • 实战:查询并查看启动的流程实例有哪些待办任务。
  • 任务的生命周期
    • 认领任务taskService.claim(taskId, userId)
    • 完成任务taskService.complete(taskId)
    • 转办任务taskService.setAssignee(taskId, newUserId)
    • 委派任务taskService.delegateTask(taskId, newUserId)
    • 实战:模拟员工 "张三" 认领并完成请假申请任务,观察流程推进和数据库表(act_ru_task)的变化。
  • 流程变量
    • 什么是流程变量?其作用域(流程实例级、任务级、全局)。
    • 设置变量setVariable, setVariables
    • 获取变量getVariable, getVariables
    • 变量类型:支持 Java 基本类型、POJO、JSON 等。
    • 实战:在启动流程时传入申请人、请假天数等变量,在完成任务时根据天数判断是否需要审批。

第四部分:流程网关与分支

  • 排他网关
    • 概念:基于条件表达式的“互斥”分支,一次只走一条路径。
    • 条件设置:在 Sequence Flow 上设置 conditionExpression
    • 实战:在请假流程中加入“根据请假天数判断”的排他网关(天数>3天需要经理审批,否则直接结束)。
  • 并行网关
    • 概念:实现“并行”或“汇聚”效果。
    • 分支:一条路径进入,多条路径同时执行。
    • 汇聚:所有分支都到达后,流程继续向下。
    • 实战:设计一个“并行审批”流程,申请同时提交给部门经理和财务经理,两人都审批通过后流程才结束。
  • 模块十一:其他网关
    • 包容网关:满足条件的路径都会执行。
    • 事件网关:基于事件触发分支。

第五部分:高级特性与实战

  • 模块十二:服务任务
    • 概念:在流程中执行 Java 逻辑。
    • 实现方式:实现 JavaDelegate 接口。
    • 表达式:使用 调用 Spring Bean 的方法。
    • 实战:在请假流程结束时,通过服务任务自动发送一封邮件通知申请人。
  • 模块十三:监听器
    • 概念:在流程生命周期特定节点(如流程开始/结束、任务创建/完成)执行自定义逻辑。
    • 类型ExecutionListener, TaskListener, DelegateExpression
    • 实战:为任务完成事件添加监听器,在控制台打印日志。
  • 模块十四:Spring Boot 集成
    • 使用 Activiti Spring Boot Starter:简化配置,自动配置。
    • 配置文件application.yml 中配置数据库、自动部署等。
    • 获取 Service:通过 @Autowired 直接注入 RuntimeService, TaskService 等。
    • 实战:将之前的请假流程项目重构为 Spring Boot 项目。
  • 模块十五:历史数据与查询
    • HistoryService:查询历史流程实例、历史任务、历史活动等。
    • 配置历史级别ACTIVITY (推荐), AUDIT, NONE
    • 实战:查询一个已结束流程的完整审批轨迹。
  • 模块十六:流程图与动态表单
    • 生成流程图:使用 RepositoryServicegetProcessDiagram(...) 生成 PNG 流程图。
    • 动态表单:在流程中动态收集信息(使用 startFormDatataskFormData)。

第六部分:项目实战与进阶

  • 模块十七:综合项目实战 - “办公自动化系统”
    • 需求分析:实现请假、报销、采购等多个审批流程。
Activiti工作流课程,学完能独立搭建流程吗?-第1张图片-指南针培训网

标签: 业务建模 实战应用

抱歉,评论功能暂时关闭!