BizTalk是由微軟公司開發(fā)的中間件產(chǎn)品, 旨在推廣可擴(kuò)展標(biāo)示語言 (XML) 。XML是一種能夠以統(tǒng)一的格式描述信息的文本語言, 具有可擴(kuò)展性和自我描述性的特點(diǎn), 它能將不同系統(tǒng)來源的信息按照統(tǒng)一的格式顯示, 也能夠進(jìn)行不同格式之間的相互轉(zhuǎn)化, 是信息標(biāo)準(zhǔn)化進(jìn)程的有力工具。BizTalk是利用Internet標(biāo)準(zhǔn)協(xié)議和格式來促進(jìn)企業(yè)內(nèi)部和企業(yè)間的應(yīng)用集成的XML框架, 采用“消息核心化”機(jī)制來簡化應(yīng)用集成, 其用意在于將提供的服務(wù)與數(shù)據(jù)相分離, 這樣使基于BizTalk的系統(tǒng)將工作重心放在數(shù)據(jù)交換而不是對(duì)異構(gòu)系統(tǒng)的兼容問題上。
倉儲(chǔ)管理系統(tǒng)中的BizTalk架構(gòu)實(shí)現(xiàn)
BizTalk在倉儲(chǔ)管理系統(tǒng)中起到了橋梁的作用。主要負(fù)責(zé)倉儲(chǔ)管理系統(tǒng)和SAP系統(tǒng)間的數(shù)據(jù)傳輸。倉儲(chǔ)管理系統(tǒng)作為SAP的外圍系統(tǒng)必須保證其數(shù)據(jù)與SAP數(shù)據(jù)的一致性。在倉儲(chǔ)管理系統(tǒng)進(jìn)行的每筆操作都必須同步到SAP中去;而SAP中的相關(guān)數(shù)據(jù)也需要同步到倉儲(chǔ)管理系統(tǒng)中來。眾所周知SAP系統(tǒng)有其自己的開發(fā)語言, 而這種語言的擴(kuò)展性并不強(qiáng)。BizTalk中間件的作用就是使兩個(gè)不同語言、不同環(huán)境的系統(tǒng)間可以自由通信。
Web Service和BAPI通信流程描述如下: (1) 倉儲(chǔ)管理系統(tǒng)通過調(diào)用BizTalk發(fā)布的Web Service接口, 向BizTalk提出請(qǐng)求。 (2) BizTalk收到請(qǐng)求后調(diào)用相應(yīng)的BAPI, 將請(qǐng)求發(fā)送給SAP。 (3) SAP再將結(jié)果通過BAPI的方式反給BizTalk。 (4) BizTalk則通過Web Service將結(jié)果反給倉儲(chǔ)管理系統(tǒng)。
SQL同IDoc通信流程描述如下: (1) 手動(dòng)或定時(shí)出發(fā)SAP生成IDoc文件。 (2) SAP將IDoc放在指定的目錄下。 (3) BizTalk通過開放的接收端口定時(shí)的掃描SAP目錄下是否有相關(guān)的IDoc文件生成。 (4) 如果檢測到已經(jīng)生成相關(guān)IDoc, BizTalk將IDoc文件數(shù)據(jù)獲取到MessageBox中, 并轉(zhuǎn)化成XML格式。 (5) BizTalk調(diào)用發(fā)送端口將數(shù)據(jù)寫到倉儲(chǔ)管理系統(tǒng)數(shù)據(jù)庫對(duì)應(yīng)的數(shù)據(jù)表中。
在本節(jié)中, 將結(jié)合上節(jié)所述的兩類接口各舉一個(gè)實(shí)例進(jìn)行分析。分別是:移庫接口 (RFC) 盤點(diǎn)接口 (SQL) 。BizTalk接口主要有五部分組成:Scheme、Mapping、Orchestrations。
其功能是將倉儲(chǔ)管理系統(tǒng)中的每筆移庫操作提交給SAP, 并返回結(jié)果。
SchCreateMoveBill.xsd和YMM_倉儲(chǔ)管理系統(tǒng)_BAPI_GOOD SMVT_CREATE.xsd。SchCreateMoveBill.xsd用于解析倉儲(chǔ)管理系統(tǒng)數(shù)據(jù), 而YMM_倉儲(chǔ)管理系統(tǒng)_BAPI_GOODSMVT_CREATE.xsd對(duì)應(yīng)SAP數(shù)據(jù)。
SchCreateMoveBill.xsd分為Request和Response兩部分。Request用于解析向SAP提交的數(shù)據(jù), 而Response部分則用于解析SAP返回的數(shù)據(jù)。
YMM_倉儲(chǔ)管理系統(tǒng)_BAPI_GOODSMVT_CREATE.xsd是根據(jù)SAP中的BAPI YMM_倉儲(chǔ)管理系統(tǒng)_BAPI_GOODSMVT_CREATE自動(dòng)生成的。同樣也包括YMM_倉儲(chǔ)管理系統(tǒng)_BAPI_GOODSMVT_CREATE_Request和YMM_倉儲(chǔ)管理系統(tǒng)_BAPI_GO ODSMVT_CREATE_Response兩部分。分別對(duì)應(yīng)BAPI YMM_倉儲(chǔ)管理系統(tǒng)_BAPI_GOO DSMVT_CREATE的參數(shù)和返回值。
Mapping的作用是將SchCreateMoveBill.xsd和YMM_倉儲(chǔ)管理系統(tǒng)_BAPI_GOODSMVT_CREATE.xsd的數(shù)據(jù)對(duì)應(yīng)起來。MapMoveStoreRequest.btm將orcMoveStore輸入項(xiàng)映射到BAPI YMM_倉儲(chǔ)管理系統(tǒng)_BAPI_GOODSMVT_CREATE的輸入?yún)?shù)。MapMoveStoreResponse.btm是將BAPI YMM_倉儲(chǔ)管理系統(tǒng)_BAPI_GOODSMVT_CR EATE返回的數(shù)據(jù)映射到orcMoveStore的返回值。MapException2MoveStoreResponse.btm是將BAPI YMM_倉儲(chǔ)管理系統(tǒng)_BAPI_GO ODSMVT_CREATE返回的異常數(shù)據(jù)映射到orcMoveStore的返回值中。
移庫接口數(shù)據(jù)流轉(zhuǎn)步驟如下: (1) 接收來自orcMoveStore的輸入?yún)?shù)。 (2) 通過MapMoveStoreRequest將數(shù)據(jù)映射成BAPIYMM_MW H_BA PI_GOODSMVT_CREATE的輸入?yún)?shù), 并提交給SAP。 (3) SAP返回?cái)?shù)據(jù)。 (4) 將返回?cái)?shù)據(jù)映射到orcMoveStore的返回值中。如有出現(xiàn)異常, 則將異常映射到orcMoveStore的返回值中。
盤點(diǎn)文檔下載流程, 如圖2所示。如圖2所示, 盤點(diǎn)文檔下載流程分如下步驟: (1) 用戶通過Web應(yīng)用提供的盤點(diǎn)文檔下載功能, 輸入下載參數(shù), 點(diǎn)擊下載按鈕。 (2) 系統(tǒng)將用戶提交的下載條件存儲(chǔ)在盤點(diǎn)文檔下載數(shù)據(jù)表STDownPIDFromSap中, 并另Status=0。 (3) BizTalk定時(shí)掃描STDownPIDFromSap, 獲取Status=0數(shù)據(jù)。 (4) BizTalk將下載條件數(shù)據(jù)映射到BAPI_MATPHYSINV_GETITEMS輸入?yún)?shù)中。 (5) SAP根據(jù)輸入條件返回盤點(diǎn)文檔。 (6) BizTalk將盤點(diǎn)文檔數(shù)據(jù)逐條寫入臨時(shí)數(shù)據(jù)表中。如遇到異常則將異常寫到系統(tǒng)郵件數(shù)據(jù)表中。 (7) 下載任務(wù)完成后, 調(diào)用存儲(chǔ)過程將臨時(shí)表中的數(shù)據(jù)寫到STDocumentHeader和STDocumentDetail數(shù)據(jù)表中。
倉儲(chǔ)管理系統(tǒng)利用BizTalk實(shí)現(xiàn)了與SAP系統(tǒng)的數(shù)據(jù)通信, 確保了庫存數(shù)據(jù)在企業(yè)內(nèi)部信息系統(tǒng)間的一致性, 達(dá)到了企業(yè)內(nèi)部業(yè)務(wù)數(shù)據(jù)始終同步的效果。BizTalk解決了企業(yè)內(nèi)部、企業(yè)與企業(yè)系統(tǒng)間的數(shù)據(jù)通信問題, 減少了數(shù)據(jù)同步的成本, 消除了信息孤島。
權(quán)所有©:上海陽合儲(chǔ)運(yùn)
專業(yè)承接上海倉庫租賃、上海倉儲(chǔ)配送物流、上海電商倉儲(chǔ)企業(yè)服務(wù)與微笑同在"的先進(jìn)理念不斷發(fā)展壯大。