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