architecture.md 4.1 KB

SMF Core 项目架构设计

概述

SMF Core 是一个智能物料管理系统的核心组件,采用多层架构设计,提供了完整的物料追踪、仓储管理、设备集成和业务流程支持功能。

系统架构

1. 分层架构

SMF Core 采用经典的四层架构设计:

┌─────────────────────────────────────────────┐
│               integrations                  │
│  (外部系统和设备集成层)                       │
├─────────────────────────────────────────────┤
│                api-gateway                  │
│       (API网关层/请求处理层)                   │
├─────────────────────────────────────────────┤
│             business-services               │
│          (业务服务逻辑层)                      │
├─────────────────────────────────────────────┤
│               smf-platform                  │
│           (核心平台基础设施)                    │
├─────────────────────────────────────────────┤
│                  shared                     │
│             (共享基础组件层)                    │
└─────────────────────────────────────────────┘

2. 各层职责

2.1 integrations 层

  • 外部系统集成接口
  • 客户定制化实现
  • 设备适配器
  • 第三方系统对接

2.2 api-gateway 层

  • REST API 接口定义
  • 请求参数验证
  • 设备通信
  • 响应格式化
  • 权限控制

2.3 business-services 层

  • 业务逻辑实现
  • 业务规则处理
  • 数据验证
  • 工作流协调

2.4 smf-platform 层

  • 核心平台功能
  • 系统配置管理
  • 数据访问层
  • 缓存机制

2.5 shared 层

  • 工具类
  • 通用模型
  • 异常处理
  • 常量定义

核心模块

1. 物料管理 (Material Management)

  • 条码识别与解析
  • 物料追踪
  • 批次管理
  • 生命周期控制

2. 仓储管理 (Warehouse Management)

  • 库位分配
  • 库存控制
  • 物料上架/下架
  • 库位状态管理

3. 设备集成 (Device Integration)

  • AGV调度
  • 料仓控制系统
  • 条码扫描器
  • 温湿度监控设备

4. 工单管理 (Order Management)

  • 工单接收与处理
  • 工单状态追踪
  • 物料需求分析
  • 工单完成确认

技术栈

  • 后端框架: Spring Boot
  • 数据存储: MongoDB, MySQL
  • 消息队列: WebSocket
  • 缓存: Redis
  • API规范: RESTful
  • 认证授权: Spring Security

依赖关系

系统各层之间采用单向依赖原则:

  • integrations 层可以访问 business-services 层
  • api-gateway 层可以访问 business-services 和 smf-platform 层
  • business-services 层只能访问 smf-platform 和 shared 层
  • smf-platform 层只能访问 shared 层
  • shared 层不依赖任何其他层

扩展性设计

  1. 模块化设计: 各功能模块高度内聚,低耦合
  2. 插件机制: 支持通过插件扩展系统功能
  3. 配置驱动: 核心逻辑通过配置文件控制,无需修改代码
  4. 事件驱动: 采用事件机制实现模块间通信

部署架构

系统支持多种部署模式:

  1. 单体应用部署: 适合小型应用场景
  2. 微服务部署: 适合大规模应用场景
  3. 容器化部署: 支持Docker和Kubernetes

性能优化

  1. 缓存策略: 多级缓存机制
  2. 异步处理: 关键操作异步化
  3. 数据分片: 大数据量分片存储
  4. 连接池管理: 优化数据库连接

安全设计

  1. 认证与授权: 基于角色的访问控制
  2. 数据加密: 敏感数据加密存储
  3. 接口安全: API接口签名验证
  4. 日志审计: 操作日志完整记录