Skip to content

jeeflow 引擎规范(Spec) ​

本规范是 jeeflow 工作流引擎的唯一事实来源。所有语言实现(八语言引擎:Java / Go / Python / Node.js / PHP / Rust / MoonBit / C#)必须对齐本文档定义的语义。规范只陈述"必须怎么做"——设计动机与决策论证见 设计原理(Concepts) 系列。 ⚠ 例外口径:事务与事件这两章允许各语言用自己的机制(语言特性不同),规范只钉可判定的行为, 见 12 · 事务契约 §12.1 与各栈机制映射表。

术语 ​

术语说明
流程定义 (Process Define)流程模板,包含节点和边的 LogicFlow JSON
流程实例 (Process Instance)一次流程执行,绑定一个操作人
流程任务 (Process Task)实例中的审批节点,绑定参与者
参与者 (Actor)任务的审批人,存储在 wf_process_task_actor

规范分卷 ​

分卷内容设计原理对应
01 · 数据模型5 张核心表 + 3 张扩展表结构架构总览
02 · 流程定义格式顶层结构 / 节点 properties / 参与者解析 / 决策表达式 / 完整示例执行引擎
03 · 状态机流程实例状态 / 任务状态转换领域模型
04 · 引擎核心操作启动 / 完成 / 系统代执行 / 驳回 / 跳转 / 会签 / 流程变量约定 / 聚合根方法清单执行引擎 · 领域模型
05 · SPI 接口IProcessRepository 全签名 / 可选 SPI / 事务约定 / 扩展仓储 / SurrogateInterceptorSPI 设计 · 管理扩展与门面
06 · 统一门面flow(action, map) 契约 / 40+ 个 action 清单 / deploy / execute 分发 / 用户搜索钩子管理扩展与门面 · 契约约定
07 · 元数据能力枚举字典(7 个 key)/ SPI 实现清单(HandlerRegistry)引擎元数据
08 · 合规测试22 条跨语言合规场景(合并 v1.0~v1.4.0 全部)—
09 · 业务数据通用入库引擎无关 DynamicTableWriter + 入库拦截器 PersistPostInterceptor(persist)扩展机制
10 · 元数据驱动的动态写入/读取FieldMeta / TableMeta / StorageType + MetaTableReader(persist-meta)引擎元数据
11 · 事件契约事件码表 1..9(10+ 预留)/ 触发时机(落库后 fire)/ 载荷键 / 订阅形状与异常隔离 / 不发清单 / 码值迁移扩展机制
12 · 事务契约原子面(哪些动作必须原子)/ 覆盖面(含扩展仓储与 persist 腿)/ 归属面(调用作用域,禁进程级句柄槽)/ 副作用面(监听器隔离·拦截器连坐)/ 三档行为判据(原子·归属·空转 + 阳性对照)SPI 设计

各语言实现位置速查 ​

层JavaGoPythonNode.jsPHPRustMoonBitC#
引擎核心jeeflow-coreengine/jeeflow/engine.pysrc/engine.tspackages/core/srcjeeflow-core/src/core/src/Mldong.Jeeflow.Core/
聚合根domain/ProcessInstance.javamodel/jeeflow/model.pysrc/model.tspackages/core/src/Domain/ProcessInstance.phpjeeflow-core/src/model.rscore/model/aggregate.mbtsrc/Mldong.Jeeflow.Core/ProcessInstance.cs + ProcessTask.cs
仓储 SPIspi/IProcessRepository.javaspi/spi.gojeeflow/spi.pysrc/spi.tspackages/core/src/Spi/ProcessRepositoryInterface.phpjeeflow-core/src/spi.rscore/spi/repository.mbtsrc/Mldong.Jeeflow.Core/Spi/IProcessRepository.cs
JDBC 参考实现jeeflow-repository-jdbcrepository/jdbc/jeeflow/repository/base.pysrc/jdbc/shared.tspackages/repository-pdojeeflow-repository-sqlx/src/lib.rsrepository-mysql/src/Mldong.Jeeflow.Repository.MySql/Repo/MySqlRepository.cs
门面facade/JeeflowFacade.javafacade/facade.gojeeflow/facade.pysrc/facade.tspackages/web-contract/src/JeeflowFacade.phpjeeflow-facade/src/lib.rsfacade/facade.mbtsrc/Mldong.Jeeflow.Facade/JeeflowFacade.cs
元数据metadata/ + enums/IDictEnummetadata/jeeflow/metadata.pysrc/metadata.ts + src/registry.tspackages/core/src/Metadata/jeeflow-core/src/metadata.rscore/metadata/metadata.mbtsrc/Mldong.Jeeflow.Core/Metadata/Metadata.cs

jeeflow · 轻量级多语言工作流引擎