尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

一图看懂OpenWMS.org:28个微服务如何组成企业级WMS仓库管理系统

一图看懂OpenWMS.org:28个微服务如何组成企业级WMS仓库管理系统 一图看懂OpenWMS.org28个微服务如何组成企业级WMS仓库管理系统【免费下载链接】org.openwmsOpen Warehouse Management System项目地址: https://gitcode.com/gh_mirrors/or/org.openwmsOpenWMS 是一款完全开源Apache 2.0 协议的WMS 仓库管理系统Warehouse Management System同时内置物料流控MFC能力适用于自动化仓库和人工仓库。整个系统由28 个可独立部署的微服务组成每个微服务都有自己独立的数据库、API 和开发生命周期——这也是它被称为企业级的底气所在。这篇教程带你用一张总架构图快速搞懂这 28 个微服务分别干什么、如何协同工作、以及如何部署。️ OpenWMS 架构总图一张图看全 28 个微服务先看这张核心架构图来自 README.md它完整展示了 OpenWMS 仓库管理系统的所有组件从图中可以读出三个关键信息顶层ERP 系统。Openbravo、Microsoft Dynamics、SAP、Oracle NetSuite 等 ERP 通过各自的适配器Hostconnector / Adapter向 OpenWMS 下达高层级仓库任务例如为这张订单拣货、打包、发货。中层28 个微服务划分为 4 个业务域。红色是 WMS 域仓库管理蓝色是 TMS 域运输/物料流控深灰色是 Common 域通用服务绿色是 Core 域基础设施服务。底层现场设备。PLC、Beckhoff IPC、Raspberry Pi、Arduino 传感器等通过 OSIP / OPC-UA 协议驱动输送线、闸门等自动化硬件。 一句话总结ERP 下达任务 → WMS 编排业务流程 → TMS 指挥物料流动 → 现场设备执行动作。 四大业务域每个微服务负责什么28 个微服务按职责被组织进 4 个域这也是新手理解 OpenWMS 的最佳入口业务域数量代表微服务职责WMS 域12 个Receiving、Picking、Shipping、Inventory、Putaway、Movement、Tasks、Trucks、SAP/Dynamics/NetSuite 适配器核心仓库业务流程收货、拣选、上架、发货、库存管理以及 ERP 集成TMS 域3 个Transportation、TMS Routing运输管理与物料流控MFC指挥自动化仓库中货箱的物理移动⬛Common 域6 个Common Service、Unit Service、OSIP TCP/IP Driver、OPCUA Driver、Tasks、Transactions所有仓库方案必备的基础数据与设备驱动库位、运输单元TU、协议驱动Core 域7 个Service Registry、Configuration、Preferences、Printing、UAA、I18n、Portal基础设施服务注册发现、配置、用户认证、打印、多语言、门户各域之间的调用方向有严格约定同步调用只能从北到南、从西到东即高层域调用低层域而异步事件和消息可以在任意方向流动。这样设计保证了 WMS 流程故障不会拖垮 TMS 的毫秒级物料流控 微服务之间如何通信以 7 个典型微服务为例下图展示了它们之间的信息流虚线箭头表示 flow几个关键机制同步调用Common Service 管理Locations、TransportUnits等核心对象TMS Service 直接调用其接口查询数据。异步消息WMS Receiving 收货服务消费其他服务发出的事件WMS Shipping 发货服务则触发物料移动——服务之间通过RabbitMQ交换事件与命令互不阻塞。数据隔离每个微服务拥有独立的数据库表表名前缀指向所属服务不同微服务之间的表禁止建立外键关系见 doc/src/04_solution_strategy.adoc。更细粒度的消息白盒视图含消息过滤器、队列、路由细节可以参考 doc/src/05_building_block_view.adoc。 OpenWMS 所处的业务上下文下图从业务视角展示了 OpenWMS 仓库管理系统与企业生态的关系上方是 ERP、MES 和操作/管理界面下方是 PLC 和打印系统操作员通过 Operation UI 执行拣货、清点、收货操作仓库经理通过 Administration UI 管理订单、工位和报表生产控制员的 MES 系统可向 TMS 下达生产供料指令 三种部署方式从单服务器到云原生OpenWMS 不强制依赖 Kubernetes 或任何 PaaS 平台官方给出了四档部署方案详见 doc/src/07_deployment_view.adoc① 单机部署Single Box——最简单所有微服务、RabbitMQ、数据库都装在一台物理/虚拟机上进程间内存通信延迟最低适合单个仓库项目② 多机部署Multi Box——微服务打包成 Docker 容器交给 Docker Swarm / Kubernetes / OpenShift 调度支持进程自动重启与故障容忍适合多个仓库或多个高可用场景③ 云原生部署——在 Azure AKS 等容器云上运行弹性扩缩容④ 混合部署——TMS 这类毫秒级响应服务留在本地机房贴近硬件WMS 管理侧跑在云上兼得性能与弹性。 获取代码与延伸阅读如果想在本地体验 OpenWMS 仓库管理系统可以克隆代码仓库git clone https://gitcode.com/gh_mirrors/or/org.openwms推荐的学习路径项目总览与微服务清单README.md系统范围与业务/技术上下文doc/src/03_system_scope_and_context.adoc构建块视图微服务信息流详解doc/src/05_building_block_view.adoc部署视图四种部署方案doc/src/07_deployment_view.adoc核心通用工具模块源码事件发布/订阅机制org.openwms.core.util/src/main/java/org/openwms/core/event/✅ 总结要点说明28 个微服务分布在 WMS12、Common6、Core7、TMS3四大业务域通信方式同步 REST 调用 RabbitMQ 异步事件方向有严格约束数据隔离每个微服务独立数据库表禁止跨服务外键部署灵活单机 → Docker 多机 → 云原生 → 混合部署按需选择OpenWMS 最打动人的设计是按业务组件而非技术分层来拆分系统不需要 WMS 功能的项目可以完全省略红色域只要 10 个左右的服务就能跑起一套纯物料流控系统。这就是企业级与灵活兼得的关键。【免费下载链接】org.openwmsOpen Warehouse Management System项目地址: https://gitcode.com/gh_mirrors/or/org.openwms创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表