您现在的位置是:首页 >学无止境 >flowable ui和flowable api 的对应关系(结合使用场景)网站首页学无止境
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 的灵活性进行问题排查。
通过理解二者的协作关系,开发者可以高效构建可维护的工作流系统,同时为业务用户提供友好的操作体验。