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解决了企业内部、企业与企业系统间的数据通信问题, 减少了数据同步的成本, 消除了信息孤岛。
下一篇: 我国冷链仓储业发展现状及对策研究