内容


使用 IBM® Sterling Order Management System (OMS) 增强店面应用程序

在 OMS 与外部系统之间建立通信路径

Comments

概述

经营店面的企业可以使用 SDF 来集成 IBM® Sterling OMS,从而利用 OMS 的订单管理和库存可视性功能。

OMS 提供了订单信息的集中来源和单一的订单存储库,使 OMS 用户可以轻松地管理和监视订单。借助 OMS,在订单的整个生命周期中,您都可以实时地输入、修改、跟踪、取消和监视订单。

Sterling OMS 的库存可视性功能提供了您的库存信息的全面视图。此功能通过所有供需信息的完整视图,确保产品可用性和库存利用率得到提升。

SDF 提供了您将店面应用程序与 Sterling OMS 集成所需的构建块。SDF 提供了两种典型的集成方法:

  • 订单采集集成模型
  • 库存可用性集成模型

Service Definition Framework

SDF 在业务部门与 OMS 之间提供了一条通信路径。SDF 包含一组组件,比如 API 节点、XSL、JMS、事件和服务,您可以将它们连接在一起来建立与外部系统的集成。OMS 假设特定的事件是一种开箱即用的集成的必要接触点。但是,您还可以选择集成其他任何 OMS 事件作为集成接触点,调用事件,或者创建和调用服务。您可以修改一个开箱即用的服务,或者参考开箱即用的服务来创建自己的服务。您的业务需求决定了您的行动过程。例如,如果需要来自 OMS 的更多信息,那么您可能希望创建一个调用更多 API 的服务。如果需要对 OMS 执行额外更新且默认实现未提供这些更新,那么您可以创建一个服务。

SDF 通过两种方式与其他系统传输数据:

  • 服务在应用程序之间发送和接收数据,而不修改数据。
  • 服务将来自外部系统的输入数据转换为 OMS 格式,将 OMS 响应转换为调用应用程序的格式。

不同的集成场景要求使用不同类型的服务。出于这个原因,SDF 提供了异步和同步服务。例如,如果想要避免会干扰店面订单采集的 OMS 服务器宕机风险,可以结合使用 JMS 队列和异步服务。在一种不同的场景中,您可以实时更新订单。在这种情况下,应该使用同步服务。

SDF 提供了以下服务类型:

  • 针对外部系统对 OMS 的调用的异步服务
  • 针对外部系统对 OMS 的调用的同步服务
  • 针对 OMS 对外部系统的调用的同步服务
  • 针对 OMS 对外部系统的调用的异步服务

异步服务和外部系统对 OMS 的调用

在一些业务场景中,店面应用程序会对 OMS 执行异步调用。例如,在店面应用程序采集订单数据后,店面应用程序会将该数据发送给 OMS。为了确保 OMS 服务器宕机不会干扰订单向 OMS 的传输,使用了异步服务和 JMS 队列来将订单发送到 OMS。图 1 显示了一个外部系统通过异步服务对 OMS 的调用。在该图中,店面应用程序将订单创建细节发送给一个 JMS 队列,该队列将该数据转发给一个异步服务。该服务转换并处理订单信息。

图 1. 针对外部系统对 OMS 的调用的异步服务
针对外部系统对 OMS 的调用的异步服务
针对外部系统对 OMS 的调用的异步服务

同步服务和外部系统对 OMS 的调用

如果一个外部系统要求来自 OMS 的实时信息或 OMS 中的订单必须实时更新,那么该外部系统可以使用同步服务来调用 OMS。例如,外部服务可调用同步服务来获取实体店或在 OMS 中建模的在线商店的库存可用性。图 2 显示了一个使用同步服务来调用 OMS 的外部系统。

图 2. 针对外部系统对 OMS 的调用的同步服务
针对外部系统对 Sterling OMS 的调用的同步服务
针对外部系统对 Sterling OMS 的调用的同步服务

调用外部系统 API 的服务

类似地,OMS 可以使用 SDF 组件来调用外部系统的服务。根据您的需求,OMS API 可调用事件或 UserExit 实现来调用这些服务。外部服务执行以下功能:

  • 验证在外部系统中输入的用户数据。例如,调用外部服务来验证某个订单行上使用的优惠券。
  • 在 API 成功处理后向外部系统发送回执。例如,在 OMS 中成功创建或修改订单时发送回执。

对外部系统 API 的同步服务调用

在一些场景中,基于解决方案的建模方式,OMS 可能需要直接联系外部系统。例如,如果一个外部系统管理定价或库存信息,OMS 可以访问该系统的 API 来获取必要的定价和库存信息。图 3 显示 OMS 向一个外部系统的 API 发出一个同步服务调用。

图 3. 对外部系统 API 的同步服务调用
调用外部系统 API 的同步服务
调用外部系统 API 的同步服务

对外部系统 API 的异步服务调用

建模异步服务来调用外部应用程序时,外部应用程序可以使用它自己的代理服务器来监听队列,或者您可以配置 Sterling OMS 代理来读取队列并调用外部服务。

图 4 显示了一个由两个服务建模的异步流程。在第一个服务中,OMS SDF 服务的输出转发到 JMS 发送器组件,后者将消息发送给队列。在第二个服务中,JMS 接收器组件从队列读取消息,并将消息转发给下一个 SDF 组件。

图 4. 对外部系统 API 的异步服务调用
创建一个异步服务来使用 SDF 调用外部系统 API
创建一个异步服务来使用 SDF 调用外部系统 API

订单采集集成模型

订单采集模型为想要使用 OMS 来采购订单的企业提供了典型集成解决方案。例如,在店面应用程序采集订单后,店面应用程序可以使用 OMS 采购订单。此外,店面应用程序可向店面客户显示来自 OMS 的订单状态信息。

OMS 公开了一些 API 和服务,您可以使用它们构建任何解决方案。订单采集集成模型使用特定的 API、服务、用户出口和事件作为集成接触点。SDF 公开这些接触点,使您能够轻松地实现订单采集集成。

订单采集集成模型使用了以下一些 API:

  • createOrder
  • changeOrder
  • getOrderList
  • getCompleteOrderDetails
  • getOrderLineDetails

订单采集集成模型使用了以下用户出口:

YPMGetOrderPriceUE
此用户出口允许您提供用户出口实现来连接到外部系统获取定价,或者使用 Sterling 定价。getOrderPrice API 计算订单的价格。
YPMValidateCouponUE
此用户出口允许您连接到外部系统来验证优惠券。该用户出口针对传递的输入条件而返回验证信息。该信息描述优惠券是否有效和优惠券的状态。

订单采集集成模型使用了以下事件。这些事件更新订单回执。

ORDER_CREATE.ON_SUCCESS
在 OMS 上成功创建订单时,会调用此事件。
ORDER_CHANGE.ON_SUCCESS
在 OMS 上成功修改订单时,会调用此事件。
ORDER_CHANGE.ON_CANCEL
在 OMS 上成功取消订单时,会调用此事件。

图 5 显示了订单采集集成模型的流程:

  1. 采集的订单信息、取消的订单和订单更改通过 JMS 提供程序从店面异步传输到 OMS。OMS SDF 读取这些消息并调用 OMS API(createOrder、changeOrder 和 CancelOrder)来更新订单状态。
  2. OMS 通过调用 OMS 事件来将订单创建消息和回执信息发送给店面,比如 createOrderOnSuccess 事件,这些事件会同步调用外部 API。如果店面应用程序管理定价和促销,OMS 会对店面应用程序执行同步外部 API 调用,以获取订单价格或优惠券验证结果。
  3. 要在店面应用程序中填充订单,比如客户的订单历史或订单细节,OMS API(getOrderList、getCompleteOrderDetails 和 getOrderLineDetails)会实时调用店面应用程序。
图 5. 订单采集集成模型
订单采集集成模型
订单采集集成模型

库存可用性集成模型

作为 OMS 订单采集集成模型的一部分,店面应用程序可能希望从 OMS 获取实时库存可用性信息。在这种情况下,店面应用程序会实现库存可用性集成模型。此集成模型使店面应用程序可定期将库存可用性与 OMS 同步。

OMS 公开了一些 API 和服务,您可以使用它们构建任何解决方案。库存可用性集成模型使用特定的 API、服务和事件作为集成接触点。SDF 公开这些接触点,使您能够轻松地实现库存可用性集成。

作为库存可用性集成模型的一部分,SDF 提供了 REALTIME_ATP_MONITOR.REALTIME_AVAILABILITY_CHANGE_LIST 事件。此事件由实时可用性监视器 (RTAM) 代理发出或在成功执行 monitorItemAvailability API 后发出。构建库存可用性集成还需要以下 API:

  • findInventory
  • monitorItemAvailability
  • reserveAvailableInventory
  • cancelReservation

图 6 显示了库存可用性集成模型的流程:

  1. 要提供店面或企业的商品可用性,在 OMS 创建或取消商品预定,店面应用程序可对 OMS 执行实时 API 调用。
  2. 为了完全或部分更新店面应用程序的库存可用性,一个 OMS RTAM 事件会触发一次异步库存同步。
图 6. 库存可用性集成模型
订单采集集成模型
订单采集集成模型

结束语

OMS SDF 接触点(比如开箱即用的事件和服务)使您能够灵活地构建满足任何业务需求的解决方案。通过与各种 OMS 接触点相集成,外部店面可获得 OMS 中的订单管理和库存可用性功能。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere
ArticleID=1018170
ArticleTitle=使用 IBM Sterling Order Management System (OMS) 增强店面应用程序
publish-date=10212015