关于图形数据映射零售样本
此样本演示了在简化的零售场景中使用图形数据映射。该场景使用简化的销售数据订阅源而非 TLOG 工业标准,因为有单独的产品样本可用。
有关映射的更多信息,请参阅使用图形数据映射。
情景说明:
一家零售公司(类似于典型的连锁超市)在全球拥有多家门店。门店每天完成销售交易后要进行库存交付以保持货架上的货物充足。这将满足客户的需求。
该公司原先涵盖的区域较少,因此使用一个仓库就可向其所有门店交付库存。该公司开发出一种自主库存管理系统,该系统能够通宵运行并能够处理含有库存调整记录的文件,这些记录可用于确定项目、数量和门店。
随着该公司的发展,使用一个仓库(库)已无法满足向其所有门店提供库存。因此,如今在其涵盖的区域设置了多个库。为了简化库存处理,该公司根据库对库存调整数据订阅源进行分组。
除了库存管理之外,该公司随后还引进了与其竞争对手相一致的客户忠诚度方案。此开发出的忠诚度系统可全天处于联机状态,因此能够在进行销售交易的同时接收数据订阅源。这样的额外好处是,每张收银台回执上都能显示客户的奖励积分。
该公司决定使用 IBM Integration Bus 将门店销售订阅源与库存管理及客户忠诚度系统相集成。Integration 节点可用于执行相应的数据转换,并对销售数据执行路由和整合。
解决方案中所用的转换演示了以下图形数据映射功能:
- 复制结构
- 调用 XPath 函数
- 使用数据库查找来充实消息
- 抽取消息头中的数据,如 MQMD
- 各种输入和输出消息格式及解析器
所用的消息流为:

消息在消息流中传递,如下所示:
- XML StoreSales 消息会通过 Store Sales In 节点进入消息流。
- Flow Order 节点会按照库存订单路径传递消息。
- 通过移除与库存订单无关的数据,并查询外部数据源以确定消息中所识别的向门店提供库存的库,"StoreSales to SoldStock" Mapping 节点可使用图形数据映射来转换消息。 有关更多信息,请参阅设置数据库。
- 接着,消息会进入 Collect SoldStock 节点,在该节点中会将消息整理到每个库的集合中。
- 然后,Flow Order 节点会将消息传递到“忠诚度系统”。此处,另一个用于转换 StoreSalesLoyaltySalesData 消息的 Mapping 节点将与图形数据映射一起使用,然后通过 MQOutput 节点将其放入忠诚度销售队列中。
- 自收到给定库首个消息起的预定义秒数(例如,60 秒)之后, Collect
SoldStock Collector 节点会输出该库的集合,其中包含在此期间收到的所有匹配的消息。
- 接着,Process SoldStock Collection 节点会将集合转换为 StockOrderBatch 消息,该消息含有每个 SoldStock 消息中各个已售项的 StockOrder 元素。Compute 节点用于执行此操作。
- "Process each StockOrder" Mapping 节点使用另一个图形数据映射来生成 StockOrderBatch 消息中每个 StockOrder 元素的 CSV StockOrder 消息。此节点还会更新 LocalEnvironment,从而设置稍后将在消息流中创建的文件名。
- 然后,将 CSV 消息作为单独的行写入由 Batched Depot Stock Updates 节点在 LocalEnvironment 中识别的文件。
“图形数据映射忠诚度数据仓储”样本说明如何使用 Insert 和
Update 转换提供用于对此样本场景中生成的忠诚度数据进行仓储的解决方案。
返回到样本主页