基于微服务架构的整车制造仓储管理系统设计
2021-06-01
(中汽研汽车工业工程(天津)有限公司,天津 300300)
0 引言
在数字技术的推动下,企业的系统架构正在发生一场深刻的变革,其特点是支持业务从过去“单证+文档”的流程驱动方式向新一代的以管理壳承载业务逻辑、以“工业4.0组件”之间通过服务请求和服务执行的数字和流程混合驱动方式的转变[1]。微服务架构和容器技术的出现,可以通过对传统单体架构应用的改造,实现自动弹性资源扩容、流量负载均衡和热点微服务的实时水平拓展[2],顺应了该变革的技术需要,已然成为了工业互联网未来的发展方向。
与此同时,随着汽车大规模定制化生产方式的日益普及,整车制造企业越发倾向于准时制的物料供应方式以减轻库存大幅增长的压力[3]。这对仓储管理提出了更高的要求,其作用也不再仅限于商品存储、保管,而成为了整体供应链的平衡机制;仓储信息的及时交互与共享,对于保证准时制生产的可靠性、实时性至关重要。
因此,以整车制造所面临的现代化仓储管理需求为蓝本,本文研究和总结了基于微服务架构的整车制造仓储管理系统(简称WMS)设计方法,从系统功能需求、设计原则、开发过程、系统架构设计、接口设计等关键环节予以阐释,为离散制造类仓储管理系统开发提供了通用的设计流程和参考标准,也为开发满足未来定制化、准时制的现代仓储管理系统提供了基于微服务架构的开发思路。
1 系统需求分析
本文以某品牌汽车总装车间为例,经过多次实际调研与研究,综合梳理了整车制造仓储管理系统的主要需求特点:
(1)实现作业现场状况的远程掌控;(2)货品品质管理和问题追溯分析;(3)产品损耗、货位跟踪、库存管理;(4)科学分配资源,合理安排作业;(5)拣货快速准确,准时发货出库;(6)库存异常,及时报警提示;(7)自动数据采集,实时准确客观;(8)报表自动及时生成,无纸化;(9)员工作业跟踪,考核依据客观。
2 系统设计原则
(1)适用性。系统设计应满足企业实际仓储管理的信息化需求,以技术合理运用,功能适用为原则,利于生产执行,利于提升效率。
(2)可靠性。在规定的条件约束下,系统应具备保持其自身性能的能力。可靠性包括:较好的容错能力,防止因意外的操作给系统造成严重损失;系统的恢复以及故障处理能力较高;具备一定的业务操作稳定性能。
(3)安全性。系统应具有安全管理机制,包括用户权限设定、密码策略等,并应保证系统运行环境的安全性。
(4)可扩展性。业务逻辑扩展:系统应具有热部署特性,当业务出现变动或业务规模扩大时,不需要变动已经部署的系统架构和系统信息点,在不影响系统其他部分业务逻辑运转的情况下修改和扩展相关业务逻辑。
系统性能扩展:横向扩展,应可实现集群控制和负载均衡;纵向扩展,应可兼容升级硬件性能。
(5)可移植性。系统应使用应用配置管理的概念,通过修改应用配置等实现不同工厂之间的可移植性。
(6)可监控性。可监控性分为实时显示和异常报警。系统应监控重要的系统状态,如网络、数据库、系统内存、CPU负载等信息及时显示在监视屏上以便实时了解系统的运行状况;同时,根据事先设定的报警指标,当被监控值达到和超过监控限额时系统将产生报警,中控室管理人员可以根据不同情况作出相应的处理。
(7)可集成性。系统应综合采用标准集成技术(如JMS、Web Service、Adapter、EJB)和非标准集成技术(如接口表、HTTP、Socket),通过集成平台(如ESB)实现应用集成、数据集成、流程基础及界面集成等。
(8)柔性化配置。系统内部自带符合WFMC 规范的引擎(如WorkFlow),允许用户以图形化的方式定义业务流程及流程上各节点的服务。系统支持服务交互触发机制,通过事件或时间周期触发预定义的活动;同时提供自定义业务流程上的Web Services服务和接收外部Web Services服务的接口。
(9)标准一致性。系统开发过程应符合现有信息管理系统相关国家标准。
3 系统开发流程
WMS 系统软件开发需经过需求分析、数据库设计、代码设计、软件测试、部署上线五个阶段。
3.1 需求分析
获得仓储需求信息和基本功能定义,明确WMS系统的详细功能,形成基本功能描述。
3.2 数据库设计
包括概念设计、逻辑结构设计、物理结构设计三个部分。
(1)概念设计。在WMS 系统需求分析得到数据流程图、数据字典的基础上,结合数据规范化理论,用概念数据模型明确地表达出用户的数据需求。
(2)逻辑结构设计。根据数据概念模型及所选定的某DBMS的特性,按照一定的转换规则把概念数据模型转换为此DBMS所能接受的数据模型,即逻辑数据模型。
(3)物理结构设计。根据所选定的软硬件运行环境,权衡各种利弊因素,确定物理存储结构。
3.3 代码设计
根据系统功能设计编写程序代码,包括选择数据库访问技术、功能设计、功能实现三个部分。
(1)选择数据库访问技术:根据WMS 系统的应用要求选择合适的数据库。
(2)功能设计:对WMS 系统的功能进行更加详细的定义,每个功能都有详细的功能描述和模块简要的工作流程图。
(3)功能实现:在功能设计的基础上,编写程序代码,实现相应的功能。
3.4 软件测试
对已开发的系统软件进行单元、集成、用户验收测试、压力测试工作,包括以下步骤:(1)准备测试环境;(2)准备测试场景及测试计划;(3)进行系统测试,编写测试报告;(4)制定用户手册并对用户进行培训。
3.5 部署上线
将开发阶段的测试系统内容部署到生产环境中去,包括以下步骤:(1)编写上线切换方案;(2)进行生产系统的搭建;(3)编写培训文档;(4)按照培训计划进行上线前培训。
4 系统架构设计
系统整体采用分层架构模式,主要区分为数据层、服务层、客户端层、接口层四部分。系统架构如图1所示。
图1 系统架构图
4.1 数据层
数据层包含了数据库配置管理模块以及数据归档模块,数据库配置管理模块提供了对生产数据库及历史备份数据库的可视化界面对产品数据库的定义、初始化、版本升级、全局系统属性配置的功能。数据归档模块提供了对现有数据库中的数据备份、数据迁移等功能。提供redis 实现数据的冷热分离,将读写频次高的数据同步放入redis中。
4.2 服务层
服务层分为web端服务层、核心基础业务层两层。
(1)web端服务层:采用微服务架构,将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务和服务之间采用轻量级的通信机制相互沟通(通常是基于HTTP的Restful API)。每个服务围绕具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境中。根据不同的业务模块按需进行分开独立部署。
(2)核心基础业务层使用EJB3.0 的方式构建企业级应用,实现一次部署、多处使用的核心业务模块。核心服务器支持集群管理,具备生产业务压力实行负载均衡和故障转移的能力;对主要离散型业务模型提供了支撑,包括了工厂建模、基础数据管理、生产计划管理、生产过程管理、质量管理、设备管理等主要标准化的业务管理模型。两层之间通过使用J2EE的标准化RMI协议实现与核心服务的数据交互,实现高速的业务数据传输。
4.3 客户端层
客户端主要由基于HTML5、CSS3 的网页客户端、基于JAVA 的安卓客户端和基于Object C 的IOS客户端组成,方便系统在不同的应用场景下通过各类便携式设备进行访问。
4.4 接口层
接口服务端是基于Java的集成了各类协议的小型服务器,包含了WebService 接口、Socket 接口、OPC接口、JMS标准化接口以及定时任务接口。方便产品与各类外部应用或是企业级服务总线ESB 进行接入。同样具备了二次开发和方便部署的能力。
5 系统接口设计
WMS系统的对外接口系统主要是企业资源计划系统(简称“ERP”)、供应商管理系统(简称“SRM”)等,对接应遵循XML、EDI等接口标准,使用PO、WebService、Restful API、WebAPI等通信协议进行实现。
5.1 与ERP接口设计
(1)接口数据类型。与ERP 接口数据类型描述如下:源系统WMS,目标系统ERP:包括物料盘点信息、物料入库信息、物料出库信息、物料库存信息等;源系统ERP,目标系统WMS:包括物料信息、BOM 信息、供应商信息、组件装配工位信息、生产计划信息等。
(2)接口设计规范。系统与ERP 调拨出入库单接口字段格式(部分字段可省略)见表1。
表1 系统与ERP接口字段格式
5.2 与SRM接口设计
(1)接口数据类型。与SRM接口数据类型描述:源系统SRM,目标系统WMS:包括ASN 单信息、供应商信息、运单/订单信息等。
源系统WMS,目标系统SRM:包括物料收货上传、物料拉动单上传、物料排序单上传、物料退货上传、质检信息上传SCM等。
(2)接口设计规范。WMS 系统拉取SRM 系统ASN收货数据字段格式见表2。
表2 ASN收货数据字段格式
WMS 系统拉取SRM 系统供应商数据字段格式见表3。
表3 供应商数据字段格式
WMS拉取SRM中入库单数据字段格式见表4。
表4 入库单数据字段格式
6 结语
本文对仓储管理系统的功能需求特点、设计开发原则、开发过程进行了总结阐述,为系统的实际开发提供了借鉴;将微服务架构引入到整车制造仓储管理系统的实际设计过程中,给出了整体技术框架,满足了企业系统架构微服务化的变革需要,符合未来工业互联网的技术发展趋势;对仓储管理系统的典型对外接口进行了设计,详细介绍了接口数据类型和字段格式,为其他离散制造类企业的相关设计提供了参考标准。