(中汽研汽車工業(yè)工程(天津)有限公司,天津 300300)
在數(shù)字技術(shù)的推動(dòng)下,企業(yè)的系統(tǒng)架構(gòu)正在發(fā)生一場(chǎng)深刻的變革,其特點(diǎn)是支持業(yè)務(wù)從過去“單證+文檔”的流程驅(qū)動(dòng)方式向新一代的以管理殼承載業(yè)務(wù)邏輯、以“工業(yè)4.0組件”之間通過服務(wù)請(qǐng)求和服務(wù)執(zhí)行的數(shù)字和流程混合驅(qū)動(dòng)方式的轉(zhuǎn)變[1]。微服務(wù)架構(gòu)和容器技術(shù)的出現(xiàn),可以通過對(duì)傳統(tǒng)單體架構(gòu)應(yīng)用的改造,實(shí)現(xiàn)自動(dòng)彈性資源擴(kuò)容、流量負(fù)載均衡和熱點(diǎn)微服務(wù)的實(shí)時(shí)水平拓展[2],順應(yīng)了該變革的技術(shù)需要,已然成為了工業(yè)互聯(lián)網(wǎng)未來的發(fā)展方向。
與此同時(shí),隨著汽車大規(guī)模定制化生產(chǎn)方式的日益普及,整車制造企業(yè)越發(fā)傾向于準(zhǔn)時(shí)制的物料供應(yīng)方式以減輕庫存大幅增長的壓力[3]。這對(duì)倉儲(chǔ)管理提出了更高的要求,其作用也不再僅限于商品存儲(chǔ)、保管,而成為了整體供應(yīng)鏈的平衡機(jī)制;倉儲(chǔ)信息的及時(shí)交互與共享,對(duì)于保證準(zhǔn)時(shí)制生產(chǎn)的可靠性、實(shí)時(shí)性至關(guān)重要。
因此,以整車制造所面臨的現(xiàn)代化倉儲(chǔ)管理需求為藍(lán)本,本文研究和總結(jié)了基于微服務(wù)架構(gòu)的整車制造倉儲(chǔ)管理系統(tǒng)(簡(jiǎn)稱WMS)設(shè)計(jì)方法,從系統(tǒng)功能需求、設(shè)計(jì)原則、開發(fā)過程、系統(tǒng)架構(gòu)設(shè)計(jì)、接口設(shè)計(jì)等關(guān)鍵環(huán)節(jié)予以闡釋,為離散制造類倉儲(chǔ)管理系統(tǒng)開發(fā)提供了通用的設(shè)計(jì)流程和參考標(biāo)準(zhǔn),也為開發(fā)滿足未來定制化、準(zhǔn)時(shí)制的現(xiàn)代倉儲(chǔ)管理系統(tǒng)提供了基于微服務(wù)架構(gòu)的開發(fā)思路。
本文以某品牌汽車總裝車間為例,經(jīng)過多次實(shí)際調(diào)研與研究,綜合梳理了整車制造倉儲(chǔ)管理系統(tǒng)的主要需求特點(diǎn):
(1)實(shí)現(xiàn)作業(yè)現(xiàn)場(chǎng)狀況的遠(yuǎn)程掌控;(2)貨品品質(zhì)管理和問題追溯分析;(3)產(chǎn)品損耗、貨位跟蹤、庫存管理;(4)科學(xué)分配資源,合理安排作業(yè);(5)揀貨快速準(zhǔn)確,準(zhǔn)時(shí)發(fā)貨出庫;(6)庫存異常,及時(shí)報(bào)警提示;(7)自動(dòng)數(shù)據(jù)采集,實(shí)時(shí)準(zhǔn)確客觀;(8)報(bào)表自動(dòng)及時(shí)生成,無紙化;(9)員工作業(yè)跟蹤,考核依據(jù)客觀。
(1)適用性。系統(tǒng)設(shè)計(jì)應(yīng)滿足企業(yè)實(shí)際倉儲(chǔ)管理的信息化需求,以技術(shù)合理運(yùn)用,功能適用為原則,利于生產(chǎn)執(zhí)行,利于提升效率。
(2)可靠性。在規(guī)定的條件約束下,系統(tǒng)應(yīng)具備保持其自身性能的能力??煽啃园ǎ狠^好的容錯(cuò)能力,防止因意外的操作給系統(tǒng)造成嚴(yán)重?fù)p失;系統(tǒng)的恢復(fù)以及故障處理能力較高;具備一定的業(yè)務(wù)操作穩(wěn)定性能。
(3)安全性。系統(tǒng)應(yīng)具有安全管理機(jī)制,包括用戶權(quán)限設(shè)定、密碼策略等,并應(yīng)保證系統(tǒng)運(yùn)行環(huán)境的安全性。
(4)可擴(kuò)展性。業(yè)務(wù)邏輯擴(kuò)展:系統(tǒng)應(yīng)具有熱部署特性,當(dāng)業(yè)務(wù)出現(xiàn)變動(dòng)或業(yè)務(wù)規(guī)模擴(kuò)大時(shí),不需要變動(dòng)已經(jīng)部署的系統(tǒng)架構(gòu)和系統(tǒng)信息點(diǎn),在不影響系統(tǒng)其他部分業(yè)務(wù)邏輯運(yùn)轉(zhuǎn)的情況下修改和擴(kuò)展相關(guān)業(yè)務(wù)邏輯。
系統(tǒng)性能擴(kuò)展:橫向擴(kuò)展,應(yīng)可實(shí)現(xiàn)集群控制和負(fù)載均衡;縱向擴(kuò)展,應(yīng)可兼容升級(jí)硬件性能。
(5)可移植性。系統(tǒng)應(yīng)使用應(yīng)用配置管理的概念,通過修改應(yīng)用配置等實(shí)現(xiàn)不同工廠之間的可移植性。
(6)可監(jiān)控性??杀O(jiān)控性分為實(shí)時(shí)顯示和異常報(bào)警。系統(tǒng)應(yīng)監(jiān)控重要的系統(tǒng)狀態(tài),如網(wǎng)絡(luò)、數(shù)據(jù)庫、系統(tǒng)內(nèi)存、CPU負(fù)載等信息及時(shí)顯示在監(jiān)視屏上以便實(shí)時(shí)了解系統(tǒng)的運(yùn)行狀況;同時(shí),根據(jù)事先設(shè)定的報(bào)警指標(biāo),當(dāng)被監(jiān)控值達(dá)到和超過監(jiān)控限額時(shí)系統(tǒng)將產(chǎn)生報(bào)警,中控室管理人員可以根據(jù)不同情況作出相應(yīng)的處理。
(7)可集成性。系統(tǒng)應(yīng)綜合采用標(biāo)準(zhǔn)集成技術(shù)(如JMS、Web Service、Adapter、EJB)和非標(biāo)準(zhǔn)集成技術(shù)(如接口表、HTTP、Socket),通過集成平臺(tái)(如ESB)實(shí)現(xiàn)應(yīng)用集成、數(shù)據(jù)集成、流程基礎(chǔ)及界面集成等。
(8)柔性化配置。系統(tǒng)內(nèi)部自帶符合WFMC 規(guī)范的引擎(如WorkFlow),允許用戶以圖形化的方式定義業(yè)務(wù)流程及流程上各節(jié)點(diǎn)的服務(wù)。系統(tǒng)支持服務(wù)交互觸發(fā)機(jī)制,通過事件或時(shí)間周期觸發(fā)預(yù)定義的活動(dòng);同時(shí)提供自定義業(yè)務(wù)流程上的Web Services服務(wù)和接收外部Web Services服務(wù)的接口。
(9)標(biāo)準(zhǔn)一致性。系統(tǒng)開發(fā)過程應(yīng)符合現(xiàn)有信息管理系統(tǒng)相關(guān)國家標(biāo)準(zhǔn)。
WMS 系統(tǒng)軟件開發(fā)需經(jīng)過需求分析、數(shù)據(jù)庫設(shè)計(jì)、代碼設(shè)計(jì)、軟件測(cè)試、部署上線五個(gè)階段。
獲得倉儲(chǔ)需求信息和基本功能定義,明確WMS系統(tǒng)的詳細(xì)功能,形成基本功能描述。
包括概念設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)三個(gè)部分。
(1)概念設(shè)計(jì)。在WMS 系統(tǒng)需求分析得到數(shù)據(jù)流程圖、數(shù)據(jù)字典的基礎(chǔ)上,結(jié)合數(shù)據(jù)規(guī)范化理論,用概念數(shù)據(jù)模型明確地表達(dá)出用戶的數(shù)據(jù)需求。
(2)邏輯結(jié)構(gòu)設(shè)計(jì)。根據(jù)數(shù)據(jù)概念模型及所選定的某DBMS的特性,按照一定的轉(zhuǎn)換規(guī)則把概念數(shù)據(jù)模型轉(zhuǎn)換為此DBMS所能接受的數(shù)據(jù)模型,即邏輯數(shù)據(jù)模型。
(3)物理結(jié)構(gòu)設(shè)計(jì)。根據(jù)所選定的軟硬件運(yùn)行環(huán)境,權(quán)衡各種利弊因素,確定物理存儲(chǔ)結(jié)構(gòu)。
根據(jù)系統(tǒng)功能設(shè)計(jì)編寫程序代碼,包括選擇數(shù)據(jù)庫訪問技術(shù)、功能設(shè)計(jì)、功能實(shí)現(xiàn)三個(gè)部分。
(1)選擇數(shù)據(jù)庫訪問技術(shù):根據(jù)WMS 系統(tǒng)的應(yīng)用要求選擇合適的數(shù)據(jù)庫。
(2)功能設(shè)計(jì):對(duì)WMS 系統(tǒng)的功能進(jìn)行更加詳細(xì)的定義,每個(gè)功能都有詳細(xì)的功能描述和模塊簡(jiǎn)要的工作流程圖。
(3)功能實(shí)現(xiàn):在功能設(shè)計(jì)的基礎(chǔ)上,編寫程序代碼,實(shí)現(xiàn)相應(yīng)的功能。
對(duì)已開發(fā)的系統(tǒng)軟件進(jìn)行單元、集成、用戶驗(yàn)收測(cè)試、壓力測(cè)試工作,包括以下步驟:(1)準(zhǔn)備測(cè)試環(huán)境;(2)準(zhǔn)備測(cè)試場(chǎng)景及測(cè)試計(jì)劃;(3)進(jìn)行系統(tǒng)測(cè)試,編寫測(cè)試報(bào)告;(4)制定用戶手冊(cè)并對(duì)用戶進(jìn)行培訓(xùn)。
將開發(fā)階段的測(cè)試系統(tǒng)內(nèi)容部署到生產(chǎn)環(huán)境中去,包括以下步驟:(1)編寫上線切換方案;(2)進(jìn)行生產(chǎn)系統(tǒng)的搭建;(3)編寫培訓(xùn)文檔;(4)按照培訓(xùn)計(jì)劃進(jìn)行上線前培訓(xùn)。
系統(tǒng)整體采用分層架構(gòu)模式,主要區(qū)分為數(shù)據(jù)層、服務(wù)層、客戶端層、接口層四部分。系統(tǒng)架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)圖
數(shù)據(jù)層包含了數(shù)據(jù)庫配置管理模塊以及數(shù)據(jù)歸檔模塊,數(shù)據(jù)庫配置管理模塊提供了對(duì)生產(chǎn)數(shù)據(jù)庫及歷史備份數(shù)據(jù)庫的可視化界面對(duì)產(chǎn)品數(shù)據(jù)庫的定義、初始化、版本升級(jí)、全局系統(tǒng)屬性配置的功能。數(shù)據(jù)歸檔模塊提供了對(duì)現(xiàn)有數(shù)據(jù)庫中的數(shù)據(jù)備份、數(shù)據(jù)遷移等功能。提供redis 實(shí)現(xiàn)數(shù)據(jù)的冷熱分離,將讀寫頻次高的數(shù)據(jù)同步放入redis中。
服務(wù)層分為web端服務(wù)層、核心基礎(chǔ)業(yè)務(wù)層兩層。
(1)web端服務(wù)層:采用微服務(wù)架構(gòu),將單一應(yīng)用程序劃分成一組小的服務(wù),服務(wù)之間相互協(xié)調(diào)、互相配合,為用戶提供最終價(jià)值。每個(gè)服務(wù)運(yùn)行在其獨(dú)立的進(jìn)程中,服務(wù)和服務(wù)之間采用輕量級(jí)的通信機(jī)制相互溝通(通常是基于HTTP的Restful API)。每個(gè)服務(wù)圍繞具體業(yè)務(wù)進(jìn)行構(gòu)建,并且能夠被獨(dú)立的部署到生產(chǎn)環(huán)境、類生產(chǎn)環(huán)境中。根據(jù)不同的業(yè)務(wù)模塊按需進(jìn)行分開獨(dú)立部署。
(2)核心基礎(chǔ)業(yè)務(wù)層使用EJB3.0 的方式構(gòu)建企業(yè)級(jí)應(yīng)用,實(shí)現(xiàn)一次部署、多處使用的核心業(yè)務(wù)模塊。核心服務(wù)器支持集群管理,具備生產(chǎn)業(yè)務(wù)壓力實(shí)行負(fù)載均衡和故障轉(zhuǎn)移的能力;對(duì)主要離散型業(yè)務(wù)模型提供了支撐,包括了工廠建模、基礎(chǔ)數(shù)據(jù)管理、生產(chǎn)計(jì)劃管理、生產(chǎn)過程管理、質(zhì)量管理、設(shè)備管理等主要標(biāo)準(zhǔn)化的業(yè)務(wù)管理模型。兩層之間通過使用J2EE的標(biāo)準(zhǔn)化RMI協(xié)議實(shí)現(xiàn)與核心服務(wù)的數(shù)據(jù)交互,實(shí)現(xiàn)高速的業(yè)務(wù)數(shù)據(jù)傳輸。
客戶端主要由基于HTML5、CSS3 的網(wǎng)頁客戶端、基于JAVA 的安卓客戶端和基于Object C 的IOS客戶端組成,方便系統(tǒng)在不同的應(yīng)用場(chǎng)景下通過各類便攜式設(shè)備進(jìn)行訪問。
接口服務(wù)端是基于Java的集成了各類協(xié)議的小型服務(wù)器,包含了WebService 接口、Socket 接口、OPC接口、JMS標(biāo)準(zhǔn)化接口以及定時(shí)任務(wù)接口。方便產(chǎn)品與各類外部應(yīng)用或是企業(yè)級(jí)服務(wù)總線ESB 進(jìn)行接入。同樣具備了二次開發(fā)和方便部署的能力。
WMS系統(tǒng)的對(duì)外接口系統(tǒng)主要是企業(yè)資源計(jì)劃系統(tǒng)(簡(jiǎn)稱“ERP”)、供應(yīng)商管理系統(tǒng)(簡(jiǎn)稱“SRM”)等,對(duì)接應(yīng)遵循XML、EDI等接口標(biāo)準(zhǔn),使用PO、WebService、Restful API、WebAPI等通信協(xié)議進(jìn)行實(shí)現(xiàn)。
(1)接口數(shù)據(jù)類型。與ERP 接口數(shù)據(jù)類型描述如下:源系統(tǒng)WMS,目標(biāo)系統(tǒng)ERP:包括物料盤點(diǎn)信息、物料入庫信息、物料出庫信息、物料庫存信息等;源系統(tǒng)ERP,目標(biāo)系統(tǒng)WMS:包括物料信息、BOM 信息、供應(yīng)商信息、組件裝配工位信息、生產(chǎn)計(jì)劃信息等。
(2)接口設(shè)計(jì)規(guī)范。系統(tǒng)與ERP 調(diào)撥出入庫單接口字段格式(部分字段可省略)見表1。
表1 系統(tǒng)與ERP接口字段格式
(1)接口數(shù)據(jù)類型。與SRM接口數(shù)據(jù)類型描述:源系統(tǒng)SRM,目標(biāo)系統(tǒng)WMS:包括ASN 單信息、供應(yīng)商信息、運(yùn)單/訂單信息等。
源系統(tǒng)WMS,目標(biāo)系統(tǒng)SRM:包括物料收貨上傳、物料拉動(dòng)單上傳、物料排序單上傳、物料退貨上傳、質(zhì)檢信息上傳SCM等。
(2)接口設(shè)計(jì)規(guī)范。WMS 系統(tǒng)拉取SRM 系統(tǒng)ASN收貨數(shù)據(jù)字段格式見表2。
表2 ASN收貨數(shù)據(jù)字段格式
WMS 系統(tǒng)拉取SRM 系統(tǒng)供應(yīng)商數(shù)據(jù)字段格式見表3。
表3 供應(yīng)商數(shù)據(jù)字段格式
WMS拉取SRM中入庫單數(shù)據(jù)字段格式見表4。
表4 入庫單數(shù)據(jù)字段格式
本文對(duì)倉儲(chǔ)管理系統(tǒng)的功能需求特點(diǎn)、設(shè)計(jì)開發(fā)原則、開發(fā)過程進(jìn)行了總結(jié)闡述,為系統(tǒng)的實(shí)際開發(fā)提供了借鑒;將微服務(wù)架構(gòu)引入到整車制造倉儲(chǔ)管理系統(tǒng)的實(shí)際設(shè)計(jì)過程中,給出了整體技術(shù)框架,滿足了企業(yè)系統(tǒng)架構(gòu)微服務(wù)化的變革需要,符合未來工業(yè)互聯(lián)網(wǎng)的技術(shù)發(fā)展趨勢(shì);對(duì)倉儲(chǔ)管理系統(tǒng)的典型對(duì)外接口進(jìn)行了設(shè)計(jì),詳細(xì)介紹了接口數(shù)據(jù)類型和字段格式,為其他離散制造類企業(yè)的相關(guān)設(shè)計(jì)提供了參考標(biāo)準(zhǔn)。