1. 引言
在传统企业级应用开发中,业务系统往往以「静态建模」为核心——数据表结构、业务流程、权限体系在开发阶段就被固化,后续的每一次需求变更都意味着发版、测试、上线,周期长、成本高。随着企业数字化深入,业务变化速度远超研发迭代速度,静态架构逐渐成为瓶颈。
JVS 混合架构正是为破解这一矛盾而生。它采用「能力引擎 + 动态模型」的双层设计:底层以可复用的能力引擎沉淀通用业务逻辑,上层以动态模型承载灵活多变的数据结构与业务流程。本文将结合实践,拆解这一架构的核心思想、落地路径与典型场景。
2. 架构总览
JVS 混合架构的核心可以概括为一句话:把「稳定的能力」沉淀为引擎,把「易变的结构」交给模型。
整体架构分为两层:
- 能力引擎层:负责通用、稳定、可复用的业务能力,如流程编排、规则计算、权限控制、消息通知、数据聚合等。这一层追求高内聚、低耦合,以服务或组件形式对外提供能力。
- 动态模型层:负责承载易变的业务数据结构与表单定义,通过元数据驱动的方式,让业务人员可以在不修改代码的前提下调整字段、表单、流程与展示规则。
两层之间通过「模型绑定 + 能力调用」的方式协作:动态模型定义「数据长什么样、流程怎么走」,能力引擎负责「数据怎么处理、规则怎么执行」。
3. 能力引擎设计
能力引擎是 JVS 混合架构的「稳定内核」,设计目标是让通用能力可以被多个业务场景复用,避免重复造轮子。
3.1 能力分类
按业务属性,能力引擎可分为以下几类:
- 流程能力:审批流、任务流、状态机流转。
- 规则能力:条件判断、公式计算、评分卡、决策树。
- 数据能力:数据聚合、数据转换、数据校验、报表统计。
- 集成能力:消息推送、第三方接口对接、文件导入导出。
- 权限能力:角色权限、数据范围控制、字段级授权。
3.2 引擎设计要点
- 能力原子化:每个能力只做一件事,接口清晰,便于组合编排。
- 能力可编排:通过流程引擎将多个原子能力串成完整业务链路。
- 能力可观测:每个能力调用都有日志、耗时、入参出参记录,便于排障与优化。
- 能力可扩展:预留扩展点,允许业务团队在不改动内核的情况下接入自定义能力。
publicinterfaceCapability{StringgetName();CapabilityResultexecute(CapabilityContextcontext);}4. 动态模型设计
动态模型是 JVS 混合架构的「灵活面」,它让业务结构不再被代码锁死。
4.1 元数据驱动
动态模型的核心是「元数据」。业务对象的结构不再由数据库表硬编码决定,而是由元数据描述:
- 对象定义:描述业务对象(如「客户」「订单」「工单」)有哪些字段、字段类型、是否必填。
- 表单定义:描述字段在界面上的布局、控件类型、校验规则。
- 流程定义:描述该业务对象走什么审批流、状态如何流转。
- 展示定义:描述列表页、详情页展示哪些字段、如何排序过滤。
4.2 动态模型存储
动态模型的数据存储通常采用「主表 + 扩展表」或「JSON 存储」两种方式:
- 主表 + 扩展表:固定字段放主表,动态字段放扩展表(字段名、字段值一一对应)。
- JSON 存储:将动态字段整体存入 JSON 列,适合字段变化频繁、查询维度固定的场景。
两种方式各有优劣,实践中常按字段的「查询频率」与「变更频率」做混合设计:高频查询字段抽成独立列,低频变化字段走 JSON。
CREATETABLEbiz_object_data(idBIGINTPRIMARYKEY,object_codeVARCHAR(64),fixed_col_1VARCHAR(255),fixed_col_2INT,dynamic_fields JSON,created_timeDATETIME);5. 能力引擎与动态模型的协作
两层架构的价值在于协作。动态模型定义「业务规则」,能力引擎执行「业务逻辑」,二者通过一套标准接口联动。
5.1 模型绑定能力
每个动态模型可以绑定一组能力。例如「工单」模型绑定:
- 流程能力:工单审批流。
- 规则能力:工单优先级自动计算。
- 通知能力:状态变更时推送消息给相关人员。
5.2 事件驱动
动态模型的数据变更会触发事件,能力引擎监听事件并执行相应逻辑:
5.3 配置化而非编码化
协作的关键是「配置化」。业务人员通过界面配置模型与能力的绑定关系,而不是通过写代码实现。这样业务调整只需改配置,无需发版。
6. 实践落地路径
从理论到落地,建议按以下步骤推进:
6.1 第一步:梳理稳定能力
盘点现有业务中哪些逻辑是「长期稳定、可复用」的,将其沉淀为能力引擎。优先选择跨场景通用的能力,如审批流、消息通知、权限控制。
6.2 第二步:识别动态场景
找出业务中「结构变化频繁、个性化强」的场景,如自定义表单、灵活审批流、多变的数据展示。这些场景适合用动态模型承载。
6.3 第三步:设计元数据规范
定义对象、字段、表单、流程、展示的元数据规范,确保动态模型可描述、可校验、可扩展。
6.4 第四步:打通协作链路
实现模型与能力的绑定机制、事件机制、调用机制,让两层真正联动起来。
6.5 第五步:迭代演进
先选一个典型场景做试点,跑通后再横向推广。过程中持续沉淀新的能力引擎,丰富动态模型的表达能力。
7. 典型应用场景
7.1 低代码平台
低代码平台是 JVS 混合架构最典型的应用场景。用户通过拖拽配置表单与流程,底层由能力引擎执行数据存储、流程流转、权限控制。
7.2 灵活审批系统
不同部门的审批流程差异大、变化快。用动态模型定义审批表单与流程,用能力引擎执行审批流转与通知,可快速适配各类审批场景。
7.3 个性化客户管理
不同行业的客户管理字段差异明显。动态模型让每个行业可以自定义客户字段,能力引擎提供统一的客户评分、标签计算能力。
8. 总结
JVS 混合架构的核心价值在于「以不变应万变」:
- 能力引擎沉淀稳定逻辑,保证系统的可靠性与复用性;
- 动态模型承载易变结构,保证业务的灵活性与响应速度;
- 两层协作通过配置化、事件化、服务化的方式实现,让业务调整不再依赖发版。
在实践中,不必追求一步到位,可以从一个典型场景切入,逐步沉淀能力、完善模型,最终形成适合自身业务的混合架构体系。