MicroApp - 基于DDD的企业级低代码平台

经过两年多的持续迭代,MicroAppClient 低代码平台已完成核心架构搭建,具备企业级业务系统快速搭建能力。平台采用 DDD(领域驱动设计) 理念,通过 “应用-模型-流程-视图” 的四层架构,实现了从领域建模到业务系统落地的完整闭环。

平台核心设计理念

MicroAppClient 的核心哲学是 “配置即开发,模型即代码”

理念 说明
🏢 应用即系统 以应用为单元管理完整的低代码业务需求
📊 模型即数据 通过DDD领域建模驱动业务数据结构定义
🔄 流程即业务 基于BPMN 2.0标准实现业务流程标准化管理
🎨 视图即界面 通过配置化视图快速搭建用户交互界面
⚙️ 配置即开发 通过可视化配置替代传统编码开发

四大核心子系统

1. 模型管理系统 (Domain Management) ✅

基于 DDD(领域驱动设计) 思想,是整个平台的数据和业务逻辑核心。

核心能力:

  • 🏗️ 领域模型定义: 创建领域模型,定义模型属性、主子关系、约束条件
  • 🔗 关系管理: 支持外键、一对多、多对多等复杂关系定义
  • 📦 多类型支持: string、number、datetime、fileupload、dictionary、reference 等
  • 🎯 行为定义: 模型行为配置,支持接口访问、数据库访问、脚本编排
  • 📚 版本控制: 完整的模型版本管理和发布机制
  • 🔌 插件扩展: 基于GoJS的可视化建模器,支持OSGi式热插拔

2. 流程管理系统 (Process Management) 🔄

基于 BPMN 2.0规范,集成 Activiti流程引擎,为业务系统提供标准化的工作流管理能力。

核心能力:

  • 🎨 BPMN流程设计: 可视化流程建模,支持自定义节点属性
  • ⚙️ Activiti集成: 完整的流程引擎集成,支持流程实例管理和任务分配
  • 📋 任务管理: 待办任务、已办任务、流程监控
  • 🔧 自定义扩展: 自定义调色板、属性面板、流程节点配置

3. 视图管理系统 (View Management) 🎯

视图 作为核心概念管理用户功能点,是连接模型和用户界面的关键桥梁。

三种核心视图类型:

视图类型 应用场景 核心特性
🔄 流程视图 工作流场景 流程上下文感知、审批控件、动态权限
✏️ 编辑视图 数据录入编辑 智能模型解析、自动布局生成、字段智能匹配
📊 列表视图 数据查询展示 通用查询引擎、可视化构建器、数据导出

4. 表单设计器系统 (Form Designer) 🔥

提供可视化的拖拽式表单设计能力,支持从模型到表单的自动生成。

核心亮点:

  • 🎯 Widget转换器模式: 每个Widget组件负责自己的模型转换逻辑
  • 🤖 智能自动生成: 选择模型后自动生成配套的编辑视图、列表视图
  • 🧩 开放扩展: 支持自定义Widget类型,易于扩展新组件
  • 📐 智能布局: 基于字段特征的智能布局生成(1-4列自适应)

技术架构

技术栈

graph TB
    subgraph "前端层"
        A[Angular 16.2.0] --> B[ng-zorro-antd 16.2.2]
        A --> C[ng-alain 16.4.2]
        A --> D[@ngx-formly/core 6.0.0]
        A --> E[@angular/cdk/drag-drop]
    end

    subgraph "建模引擎"
        F[GoJS 2.1.56] --> G[领域建模器]
        H[bpmn-js 7.5.0] --> I[流程建模器]
    end

    subgraph "后端集成"
        J[Activiti] --> K[流程引擎]
        L[微服务架构] --> M[Spring Cloud Alibaba]
    end

    A --> F
    A --> H
    A --> L

技术特点:

层次 技术方案 说明
前端框架 Angular 16 + TypeScript 企业级单页面应用,模块化设计
UI组件库 ng-zorro-antd + ng-alain Ant Design of Angular + 企业级脚手架
表单引擎 @ngx-formly/core + 自定义扩展 动态表单生成,支持20+字段类型
流程引擎 Activiti + bpmn-js BPMN 2.0标准流程引擎
图形建模 GoJS 2.1.56 专业级图形建模和编辑器
后端架构 Spring Cloud Alibaba 微服务架构体系
插件服务 Spring Brick 后端服务插件化管理

业务系统组装流程

MicroAppClient 提供了完整的业务系统快速搭建能力:

graph LR
    A[创建应用] --> B[领域建模]
    B --> C[视图配置]
    C --> D[表单设计]
    D --> E[流程设计]
    E --> F[菜单配置]
    F --> G[权限分配]
    G --> H[系统发布]

组装步骤:

  1. 🏢 应用创建: 创建新的低代码应用
  2. 📊 模型设计: 通过DDD建模定义业务数据结构
  3. 🎨 视图配置: 基于模型创建各类视图(编辑、列表、流程)
  4. 📝 表单设计: 使用表单设计器定制用户界面
  5. 🔄 流程设计: 配置业务流程(如需要)
  6. 🗂️ 菜单配置: 将视图绑定到菜单系统
  7. 🔐 权限分配: 配置用户角色和权限
  8. 🚀 系统发布: 生成完整的业务系统

技术创新点

模型驱动开发 (MDD)

  • DDD落地: 真正将DDD领域建模应用到低代码平台
  • 模型即代码: 领域模型直接驱动界面和逻辑生成
  • 变更同步: 模型变更自动同步到相关视图和表单

智能化自动生成

  • 🤖 AI辅助设计: 基于字段特征的智能布局和控件匹配
  • 📦 模板化复用: 支持表单模板保存和跨项目复用
  • 🎯 场景推荐: 基于业务场景的自动模板推荐

插件化扩展架构

  • 🔌 OSGi式扩展: 支持热插拔的插件机制
  • 🧩 Widget自治: 每个组件独立负责转换逻辑
  • 🌐 开放生态: 支持第三方组件和模板接入

项目架构

目录结构

MicroApp/
├── MicroAppClient/              # 微服务前端系统
│   ├── AngularAPP/              # Angular 16+
│   │   ├── nz-formly/           # 视图表单引擎
├── MicroAppService/             # 微服务后端系统
│   └── Spring Cloud Alibaba     # 微服务架构
│   └── Spring Brick             # 插件服务引擎

应用场景

场景 说明
🏢 企业内部系统 OA、CRM、ERP等企业管理系统
🔧 业务中台建设 共享业务能力中心
📊 数据管理平台 数据录入、查询、分析平台
🔄 审批流程系统 各类工作流和审批系统
🎯 快速原型开发 业务系统快速原型验证

项目说明

模块说明

模块 说明
模型管理系统 领域建模、属性管理、版本控制、行为定义
流程管理系统 BPMN设计器、Activiti集成、基础流程管理
表单设计器 可视化设计器、基础字段类型、拖拽功能
视图管理框架 三种视图类型的基础框架和数据模型

开发重点

🔥 模型驱动自动生成:

  • DDD模型到表单字段的智能解析
  • 基于字段特征的智能布局生成
  • 一键生成配套的各类视图
  • 插件化管理服务模块

技术特点对比

特性 MicroAppClient 传统低代码平台
建模方式 DDD领域建模 表格/表单建模
流程引擎 BPMN 2.0标准 自定义/简单流程
视图类型 三种专业视图 通用表单视图
扩展性 OSGi式插件化 有限扩展
自动化程度 模型驱动自动生成 手动配置为主

总结

MicroAppClient 通过 “应用-模型-流程-视图” 的四层架构,真正实现了:

  1. 💼 业务专家直接参与: 通过可视化建模让业务人员参与系统设计
  2. 🎯 模型驱动一切: 从领域模型自动生成数据、界面、流程
  3. ⚙️ 配置替代编码: 通过配置实现复杂的业务逻辑和界面交互
  4. 🔄 完整生态闭环: 从建模到部署的完整低代码开发体验

这不仅仅是一个低代码平台,更是一个 企业级业务系统快速构建平台,让”业务即代码,配置即开发”的愿景成为现实。


技术栈: Angular 16+ DDD BPMN 2.0 Activiti PLUGIN Spring Cloud Alibaba

推荐指数: ⭐⭐⭐⭐⭐

适用场景: 企业级业务系统、中台建设、流程管理系统、数据管理平台