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 层不依赖任何其他层
扩展性设计
- 模块化设计: 各功能模块高度内聚,低耦合
- 插件机制: 支持通过插件扩展系统功能
- 配置驱动: 核心逻辑通过配置文件控制,无需修改代码
- 事件驱动: 采用事件机制实现模块间通信
部署架构
系统支持多种部署模式:
- 单体应用部署: 适合小型应用场景
- 微服务部署: 适合大规模应用场景
- 容器化部署: 支持Docker和Kubernetes
性能优化
- 缓存策略: 多级缓存机制
- 异步处理: 关键操作异步化
- 数据分片: 大数据量分片存储
- 连接池管理: 优化数据库连接
安全设计
- 认证与授权: 基于角色的访问控制
- 数据加密: 敏感数据加密存储
- 接口安全: API接口签名验证
- 日志审计: 操作日志完整记录