Skip to content

saga state machine designer refactoring

Xiangkun Yin edited this page Nov 28, 2023 · 2 revisions

Saga 状态机设计器重构

本页记录了有关新 Saga 状态机设计器的功能备忘录。

快速原型

  • 状态调色板 (10 个绘图元素)

    img\

  • 绘图工具,比如连接、拉索 等等

    img

  • 绘图特性,比如网格粘贴 (grid snapping), 边路由 (edge routing) 等等

  • 属性编辑

    img

  • 导入导出

    此功能是最重要的功能之一,中间产物应该尽可能向后兼容。因为 10 个绘图元素中包含伪状态 (初始状态),任务 (service, script),网关 (Choice),任务元素 (Catch) 等等,不同的元素可能有不同的处理逻辑,所以这部分涉及到的代码业务逻辑会多一些。

Features TODO

  • 属性面板 目前,我们允许用户通过直接编写 JSON 来编辑属性。 然而它是属性编辑的临时解决方案。 更合适的方式应该是属性面板。

    img

  • 自动布局

    我们不支持从用户自己编写的原始 JSON 导入到设计器中,因为缺少了额外的坐标信息。我们可以开发自动布局机制,使用户能够在设计器中导入原始 JSON。

  • 验证

    我们可以在导出图表之前进行验证,以便避免解析错误。

  • 模拟

    我们可以像bpmn token模拟那样对状态机进行模拟。

  • 一键部署

    我们可以在后端开发 Saga 状态机机制的热部署,使用“部署”按钮进行一键部署。

Clone this wiki locally