(中汽研汽車工業工程(天津)有限公司,天津 300300)
在數字技術的推動下,企業的系統架構正在發生一場深刻的變革,其特點是支持業務從過去“單證+文檔”的流程驅動方式向新一代的以管理殼承載業務邏輯、以“工業4.0組件”之間通過服務請求和服務執行的數字和流程混合驅動方式的轉變[1]。微服務架構和容器技術的出現,可以通過對傳統單體架構應用的改造,實現自動彈性資源擴容、流量負載均衡和熱點微服務的實時水平拓展[2],順應了該變革的技術需要,已然成為了工業互聯網未來的發展方向。
與此同時,隨著汽車大規模定制化生產方式的日益普及,整車制造企業越發傾向于準時制的物料供應方式以減輕庫存大幅增長的壓力[3]。這對倉儲管理提出了更高的要求,其作用也不再僅限于商品存儲、保管,而成為了整體供應鏈的平衡機制;倉儲信息的及時交互與共享,對于保證準時制生產的可靠性、實時性至關重要。
因此,以整車制造所面臨的現代化倉儲管理需求為藍本,本文研究和總結了基于微服務架構的整車制造倉儲管理系統(簡稱WMS)設計方法,從系統功能需求、設計原則、開發過程、系統架構設計、接口設計等關鍵環節予以闡釋,為離散制造類倉儲管理系統開發提供了通用的設計流程和參考標準,也為開發滿足未來定制化、準時制的現代倉儲管理系統提供了基于微服務架構的開發思路。
本文以某品牌汽車總裝車間為例,經過多次實際調研與研究,綜合梳理了整車制造倉儲管理系統的主要需求特點:
(1)實現作業現場狀況的遠程掌控;(2)貨品品質管理和問題追溯分析;(3)產品損耗、貨位跟蹤、庫存管理;(4)科學分配資源,合理安排作業;(5)揀貨快速準確,準時發貨出庫;(6)庫存異常,及時報警提示;(7)自動數據采集,實時準確客觀;(8)報表自動及時生成,無紙化;(9)員工作業跟蹤,考核依據客觀。
(1)適用性。系統設計應滿足企業實際倉儲管理的信息化需求,以技術合理運用,功能適用為原則,利于生產執行,利于提升效率。
(2)可靠性。在規定的條件約束下,系統應具備保持其自身性能的能力。可靠性包括:較好的容錯能力,防止因意外的操作給系統造成嚴重損失;系統的恢復以及故障處理能力較高;具備一定的業務操作穩定性能。
(3)安全性。系統應具有安全管理機制,包括用戶權限設定、密碼策略等,并應保證系統運行環境的安全性。
(4)可擴展性。業務邏輯擴展:系統應具有熱部署特性,當業務出現變動或業務規模擴大時,不需要變動已經部署的系統架構和系統信息點,在不影響系統其他部分業務邏輯運轉的情況下修改和擴展相關業務邏輯。
系統性能擴展:橫向擴展,應可實現集群控制和負載均衡;縱向擴展,應可兼容升級硬件性能。
(5)可移植性。系統應使用應用配置管理的概念,通過修改應用配置等實現不同工廠之間的可移植性。
(6)可監控性。可監控性分為實時顯示和異常報警。系統應監控重要的系統狀態,如網絡、數據庫、系統內存、CPU負載等信息及時顯示在監視屏上以便實時了解系統的運行狀況;同時,根據事先設定的報警指標,當被監控值達到和超過監控限額時系統將產生報警,中控室管理人員可以根據不同情況作出相應的處理。
(7)可集成性。系統應綜合采用標準集成技術(如JMS、Web Service、Adapter、EJB)和非標準集成技術(如接口表、HTTP、Socket),通過集成平臺(如ESB)實現應用集成、數據集成、流程基礎及界面集成等。
(8)柔性化配置。系統內部自帶符合WFMC 規范的引擎(如WorkFlow),允許用戶以圖形化的方式定義業務流程及流程上各節點的服務。系統支持服務交互觸發機制,通過事件或時間周期觸發預定義的活動;同時提供自定義業務流程上的Web Services服務和接收外部Web Services服務的接口。
(9)標準一致性。系統開發過程應符合現有信息管理系統相關國家標準。
WMS 系統軟件開發需經過需求分析、數據庫設計、代碼設計、軟件測試、部署上線五個階段。
獲得倉儲需求信息和基本功能定義,明確WMS系統的詳細功能,形成基本功能描述。
包括概念設計、邏輯結構設計、物理結構設計三個部分。
(1)概念設計。在WMS 系統需求分析得到數據流程圖、數據字典的基礎上,結合數據規范化理論,用概念數據模型明確地表達出用戶的數據需求。
(2)邏輯結構設計。根據數據概念模型及所選定的某DBMS的特性,按照一定的轉換規則把概念數據模型轉換為此DBMS所能接受的數據模型,即邏輯數據模型。
(3)物理結構設計。根據所選定的軟硬件運行環境,權衡各種利弊因素,確定物理存儲結構。
根據系統功能設計編寫程序代碼,包括選擇數據庫訪問技術、功能設計、功能實現三個部分。
(1)選擇數據庫訪問技術:根據WMS 系統的應用要求選擇合適的數據庫。
(2)功能設計:對WMS 系統的功能進行更加詳細的定義,每個功能都有詳細的功能描述和模塊簡要的工作流程圖。
(3)功能實現:在功能設計的基礎上,編寫程序代碼,實現相應的功能。
對已開發的系統軟件進行單元、集成、用戶驗收測試、壓力測試工作,包括以下步驟:(1)準備測試環境;(2)準備測試場景及測試計劃;(3)進行系統測試,編寫測試報告;(4)制定用戶手冊并對用戶進行培訓。
將開發階段的測試系統內容部署到生產環境中去,包括以下步驟:(1)編寫上線切換方案;(2)進行生產系統的搭建;(3)編寫培訓文檔;(4)按照培訓計劃進行上線前培訓。
系統整體采用分層架構模式,主要區分為數據層、服務層、客戶端層、接口層四部分。系統架構如圖1所示。

圖1 系統架構圖
數據層包含了數據庫配置管理模塊以及數據歸檔模塊,數據庫配置管理模塊提供了對生產數據庫及歷史備份數據庫的可視化界面對產品數據庫的定義、初始化、版本升級、全局系統屬性配置的功能。數據歸檔模塊提供了對現有數據庫中的數據備份、數據遷移等功能。提供redis 實現數據的冷熱分離,將讀寫頻次高的數據同步放入redis中。
服務層分為web端服務層、核心基礎業務層兩層。
(1)web端服務層:采用微服務架構,將單一應用程序劃分成一組小的服務,服務之間相互協調、互相配合,為用戶提供最終價值。每個服務運行在其獨立的進程中,服務和服務之間采用輕量級的通信機制相互溝通(通常是基于HTTP的Restful API)。每個服務圍繞具體業務進行構建,并且能夠被獨立的部署到生產環境、類生產環境中。根據不同的業務模塊按需進行分開獨立部署。
(2)核心基礎業務層使用EJB3.0 的方式構建企業級應用,實現一次部署、多處使用的核心業務模塊。核心服務器支持集群管理,具備生產業務壓力實行負載均衡和故障轉移的能力;對主要離散型業務模型提供了支撐,包括了工廠建模、基礎數據管理、生產計劃管理、生產過程管理、質量管理、設備管理等主要標準化的業務管理模型。兩層之間通過使用J2EE的標準化RMI協議實現與核心服務的數據交互,實現高速的業務數據傳輸。
客戶端主要由基于HTML5、CSS3 的網頁客戶端、基于JAVA 的安卓客戶端和基于Object C 的IOS客戶端組成,方便系統在不同的應用場景下通過各類便攜式設備進行訪問。
接口服務端是基于Java的集成了各類協議的小型服務器,包含了WebService 接口、Socket 接口、OPC接口、JMS標準化接口以及定時任務接口。方便產品與各類外部應用或是企業級服務總線ESB 進行接入。同樣具備了二次開發和方便部署的能力。
WMS系統的對外接口系統主要是企業資源計劃系統(簡稱“ERP”)、供應商管理系統(簡稱“SRM”)等,對接應遵循XML、EDI等接口標準,使用PO、WebService、Restful API、WebAPI等通信協議進行實現。
(1)接口數據類型。與ERP 接口數據類型描述如下:源系統WMS,目標系統ERP:包括物料盤點信息、物料入庫信息、物料出庫信息、物料庫存信息等;源系統ERP,目標系統WMS:包括物料信息、BOM 信息、供應商信息、組件裝配工位信息、生產計劃信息等。
(2)接口設計規范。系統與ERP 調撥出入庫單接口字段格式(部分字段可省略)見表1。

表1 系統與ERP接口字段格式
(1)接口數據類型。與SRM接口數據類型描述:源系統SRM,目標系統WMS:包括ASN 單信息、供應商信息、運單/訂單信息等。
源系統WMS,目標系統SRM:包括物料收貨上傳、物料拉動單上傳、物料排序單上傳、物料退貨上傳、質檢信息上傳SCM等。
(2)接口設計規范。WMS 系統拉取SRM 系統ASN收貨數據字段格式見表2。

表2 ASN收貨數據字段格式
WMS 系統拉取SRM 系統供應商數據字段格式見表3。

表3 供應商數據字段格式
WMS拉取SRM中入庫單數據字段格式見表4。

表4 入庫單數據字段格式
本文對倉儲管理系統的功能需求特點、設計開發原則、開發過程進行了總結闡述,為系統的實際開發提供了借鑒;將微服務架構引入到整車制造倉儲管理系統的實際設計過程中,給出了整體技術框架,滿足了企業系統架構微服務化的變革需要,符合未來工業互聯網的技術發展趨勢;對倉儲管理系統的典型對外接口進行了設計,詳細介紹了接口數據類型和字段格式,為其他離散制造類企業的相關設計提供了參考標準。