跳到主要内容
版本:5.0 (最新)

工作流 — 技术概览

概要

本页为 WorkFlow 模块的技术概览,说明已实现的功能、设计取舍以及仍未实现或部分实现的能力点。

已实现要点:

  • 可视化建模画布(节点/连线、拖拽、缩放、撤销/重做)。
  • 发布快照(WorkFlowRelease)与基础执行推进机制。
  • 自动无动作事件推进、定时事件到期扫描、错误/终止结束事件终止执行。
  • Exclusive / Parallel / Inclusive / EventBased 已具备基础运行时路由能力。
  • 服务任务自动执行闭环(默认执行器 + HTTP / WebHook / 可扩展执行器注册表)。
  • 节点级执行留痕(NodeExecutionRecord)。
  • 用户任务当前已收敛为人工任务;自动化能力统一通过服务任务 + 服务提供者表达。

未完全实现(需参照 osc_dev_doc 继续完善与验证):

  • 生产级事件驱动基础设施(跨进程 Broker / 持久化 Scheduler 接入)。
  • 更完整的用户任务状态机(签收、退回、转派、超时等)。
  • 责任分配到具体执行者(Responsibility → User)解析与策略。
  • 更丰富的真实业务服务执行器治理能力(重试、幂等、补偿、熔断)。

更多细节:

  • 将在实现阶段记录具体的接口规范、数据模型差异与运行时行为;
  • 下一步为与后端团队对齐事件/网关/责任分配接口并形成实现计划与测试矩阵。

架构概览(实现视角)

组件划分:

  • 模型层(Design Model):负责存储流程定义、节点、连接与发布版本(WorkFlowRelease)。
  • 执行引擎(Execution Engine):负责流程实例生命周期管理、节点调度与状态机转换。
  • 事件总线(Event Bus):用于承载消息事件和定时器触发,支持持久化订阅与重放。
  • 定时调度器(Scheduler):负责可靠定时任务(持久化、恢复、时区处理)。
  • 责任解析器(Responsibility Resolver):将文档中定义的责任映射到具体用户/角色/队列。
  • 服务执行器(Service Executor):封装外部服务调用、超时/重试、幂等性保证。

当前项目的默认落地方式:

  • 消息事件:进程内消息总线装配点;
  • 定时事件:进程内后台扫描;
  • 状态存储:数据库中的流程实例、节点实例与执行记录;
  • 局域网部署下通常不需要额外引入独立消息队列。

数据持久化:流程实例、任务实例与事件订阅信息均需要持久化(推荐使用关系型 DB 存储元数据、使用事件存储/队列承载消息流)。

伸缩与可靠性:Execution Engine 与 Scheduler 可设计为无状态工作节点,依赖数据库与消息总线保证可恢复与水平扩容。

安全与权限:责任解析与任务访问需与统一的鉴权/授权模块集成(例如基于 JWT + RBAC/ABAC 策略)。

测试与验收:为每个子模块编写单元测试、接口契约测试与端到端(E2E)场景用例,包含失败/恢复/网络抖动场景。