# flowable-project **Repository Path**: memeafnc/flowable-project ## Basic Information - **Project Name**: flowable-project - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-02-28 - **Last Updated**: 2026-02-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Flowable Demo Project ## 项目概述 这是一个基于Flowable的工作流演示项目,主要展示以下三个核心功能: 1. **工作流的绘制**:使用BPMN 2.0标准绘制工作流程图 2. **动态表单**:工作流中的任务表单定义和使用 3. **时效性**:工作流中的超时处理机制 ## 技术栈 - Spring Boot 3.2.2 - Flowable 7.0.0 - H2 Database ## 项目结构 ``` flowable-demo/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── example/ │ │ │ ├── FlowableDemoApplication.java # 应用主类 │ │ │ └── controller/ │ │ │ └── ProcessController.java # 流程控制接口 │ │ └── resources/ │ │ ├── application.yml # 应用配置 │ │ └── processes/ │ │ └── demo-process.bpmn20.xml # 工作流定义文件 └── pom.xml # Maven依赖配置 ``` ## 核心功能说明 ### 1. 工作流的绘制 工作流定义文件位于 `src/main/resources/processes/demo-process.bpmn20.xml`,使用BPMN 2.0标准绘制。包含以下元素: - **开始事件**:流程的起点 - **用户任务**:需要人工处理的任务 - **排他网关**:根据条件分支流程 - **边界事件**:处理任务超时 - **结束事件**:流程的终点 ### 2. 动态表单 在工作流定义中,通过 `flowable:formProperty` 定义表单字段: ```xml ``` ### 3. 时效性 通过定时边界事件实现任务超时处理: ```xml PT5M ``` ## 如何运行 ### 1. 构建项目 ```bash mvn clean install ``` ### 2. 启动应用 ```bash mvn spring-boot:run ``` ### 3. 访问前端页面 应用启动后,可以通过以下地址访问自定义前端页面: - **前端演示页面**:http://localhost:8080/ ### 4. 访问Flowable UI 应用启动后,可以通过以下地址访问Flowable官方UI: - **Flowable Modeler**:http://localhost:8080/flowable-modeler - **Flowable Task**:http://localhost:8080/flowable-task - **Flowable Admin**:http://localhost:8080/flowable-admin 默认登录凭证: - 用户名:admin - 密码:test ### 5. 使用REST API 项目提供了以下REST接口: - **启动流程**:POST http://localhost:8080/process/start - 参数:applicantName, applicationType - **获取待办任务**:GET http://localhost:8080/process/tasks - 参数:assignee - **完成任务**:POST http://localhost:8080/process/complete-task - 参数:taskId - **获取流程实例**:GET http://localhost:8080/process/instances ## 工作流演示步骤 1. **绘制工作流**:在Flowable Modeler中创建或编辑工作流程图 2. **启动流程**:通过API或UI启动流程实例,填写表单 3. **处理任务**:在Flowable Task中查看和完成待办任务 4. **测试时效性**:等待5分钟,观察超时处理流程 ## 分析Flowable是否适合你的场景 ### 适用场景 - **复杂的业务流程**:需要多个审批环节和分支的流程 - **需要表单交互**:流程中需要用户填写和提交表单 - **时效性要求**:需要处理任务超时的场景 - **可扩展性**:需要自定义流程和集成其他系统 ### 优势 - **标准兼容**:基于BPMN 2.0标准 - **功能丰富**:支持各种流程元素和表单类型 - **易于集成**:与Spring Boot无缝集成 - **可视化设计**:提供Web-based的流程设计器 - **强大的API**:提供丰富的REST和Java API ### 考虑因素 - **学习曲线**:BPMN 2.0标准和Flowable API需要一定学习时间 - **性能**:对于高频流程,需要考虑性能优化 - **部署复杂度**:生产环境需要考虑数据库和集群部署 ## 总结 Flowable是一个功能强大的工作流引擎,适合处理各种复杂的业务流程。通过本demo,你可以了解Flowable在工作流绘制、动态表单和时效性三个方面的实现方式,从而评估它是否适合你的具体场景。