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[系统发布]
组装步骤:
- 🏢 应用创建: 创建新的低代码应用
- 📊 模型设计: 通过DDD建模定义业务数据结构
- 🎨 视图配置: 基于模型创建各类视图(编辑、列表、流程)
- 📝 表单设计: 使用表单设计器定制用户界面
- 🔄 流程设计: 配置业务流程(如需要)
- 🗂️ 菜单配置: 将视图绑定到菜单系统
- 🔐 权限分配: 配置用户角色和权限
- 🚀 系统发布: 生成完整的业务系统
技术创新点
模型驱动开发 (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 通过 “应用-模型-流程-视图” 的四层架构,真正实现了:
- 💼 业务专家直接参与: 通过可视化建模让业务人员参与系统设计
- 🎯 模型驱动一切: 从领域模型自动生成数据、界面、流程
- ⚙️ 配置替代编码: 通过配置实现复杂的业务逻辑和界面交互
- 🔄 完整生态闭环: 从建模到部署的完整低代码开发体验
这不仅仅是一个低代码平台,更是一个 企业级业务系统快速构建平台,让”业务即代码,配置即开发”的愿景成为现实。
| 技术栈: Angular 16+ | DDD | BPMN 2.0 | Activiti | PLUGIN | Spring Cloud Alibaba |
推荐指数: ⭐⭐⭐⭐⭐
适用场景: 企业级业务系统、中台建设、流程管理系统、数据管理平台