您现在的位置是:首页 >学无止境 >flowable ui和flowable api 的对应关系(结合使用场景)网站首页学无止境

flowable ui和flowable api 的对应关系(结合使用场景)

雪子 2025-04-04 12:01:02
简介flowable ui和flowable api 的对应关系(结合使用场景)

Flowable UI 和 Flowable API 是 Flowable 工作流引擎的两个核心组成部分,二者在功能定位、使用场景和底层实现上高度关联,但又面向不同的用户群体。以下是它们的核心关系及操作映射分析:

二、协作关系与数据流向
1. **底层依赖**  
   Flowable UI **基于 Flowable API 构建**,所有 UI 操作最终会转换为 API 调用(如 `TaskService.complete()`)。
   
2. **数据一致性**  
   二者共享同一数据库,操作结果通过 Flowable 的 **数据库表**(如 `ACT_RU_TASK`、`ACT_HI_TASKINST`)同步。

3. **典型协作场景**  
   - **开发阶段**:用 UI 设计流程模型(BPMN),通过 API 集成到业务系统。
   - **运行阶段**:业务人员通过 UI 处理任务,开发人员通过 API 监控或干预流程。

三、操作映射与对应表
以下是常见操作在 UI 和 API 中的对应关系及影响的数据库表:

1. 流程部署**
- **UI 操作**  
  上传 BPMN 文件 → 点击部署按钮。
- **API 对应**  

  repositoryService.createDeployment()
    .addClasspathResource("process.bpmn20.xml")
    .deploy();

 **影响表**  
  `ACT_RE_DEPLOYMENT`(部署记录)、`ACT_RE_PROCDEF`(流程定义)。

2. 启动流程实例**
- **UI 操作**  
  在「流程定义」列表点击「启动流程」。
- **API 对应**  


  runtimeService.startProcessInstanceByKey("processKey");

- **影响表**  
  `ACT_RU_EXECUTION`(运行实例)、`ACT_HI_PROCINST`(历史流程实例)。

3. 处理用户任务**
- **UI 操作**  
  在「我的任务」列表点击「完成」并填写表单。
- **API 对应**  


  taskService.complete(taskId, variables);


- **影响表**  
  `ACT_RU_TASK`(任务减少)、`ACT_HI_TASKINST`(历史任务记录)。

4. 流程监控**
- **UI 操作**  
  在「流程实例」页面查看活动节点。
- **API 对应**  


  historyService.createHistoricActivityInstanceQuery()
    .processInstanceId(instanceId)
    .list();


- **查询表**  
  `ACT_HI_ACTINST`(历史活动记录)。

四、高级场景与扩展
1. **自定义 UI 功能**  
   通过扩展 Flowable API 实现业务逻辑(如动态表单),再在 UI 中集成自定义 REST 端点。

2. **混合使用模式**  
   - 使用 UI 快速原型设计,通过 API 批量处理数据。
   - 通过 API 拦截器(如 `ExecutionListener`)记录日志,在 UI 报表中展示。

3. **性能优化**  
   - **UI 高频操作**:优化对应 API 的数据库查询(如索引 `ACT_RU_TASK`)。
   - **API 批量处理**:使用 `BulkInsert` 接口减少事务开销。

五、总结建议
- **快速验证流程**:优先使用 Flowable UI 进行原型设计。
- **生产环境集成**:通过 API 将 Flowable 深度嵌入业务系统。
- **监控与调试**:结合 UI 的可视化和 API 的灵活性进行问题排查。

通过理解二者的协作关系,开发者可以高效构建可维护的工作流系统,同时为业务用户提供友好的操作体验。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。