Inventory cache push synchronization

The Sterling Order Management Real-time Availability Monitor (RTAM) is used to generate request for both batch update as well as for further adjustments.This enables better control for synchronizing the WebSphere Commerce inventory cache.

The purpose of this inventory cache is to minimize the amount of network traffic between WebSphere Commerce and Sterling Order Management. It reduces the number of calls to Sterling Order Management when, for example, a shopper is browsing inventory on the WebSphere Commerce storefront.

To keep the cache up to date, RTAM pushes inventory information to WebSphere Commerce when the inventory level of an item gets lower than the pre-configured threshold. WebSphere Commerce can pull inventory information and refresh the inventory cache for a product when the cache is either above or below the pre-configured threshold for a period of time. These inventory push-and-pull strategies mitigate potential performance issues during peak usage times.

Where:
  1. RTAM detects the inventory level change and raises the REALTIME_AVAILABILITY_CHANGE_LIST event.An event handler associated with the event sends the to the WebSphere Commerce mediation module.
  2. The inventory push is triggered in monitor option 1 mode, the available change message from Sterling Order Management is routed to the SyncInventoryAvailability BOD and sent to the WebSphere Commerce SyncInventoryAvailability service.
  3. The shopper locates the item by browsing or searching the catalog in the WebSphere Commerce storefront. The WebSphere Commerce storefront uses the GetInventoryAvailability service’s internal logic to detect whether the inventory request is for online or physical stores.

    If the inventory request is for an online store, it checks whether local inventory cache is valid and, if so, returns local cache information to the storefront. If local cache is not valid, it triggers an outbound service to get inventory information from Sterling Order Management by calling the monitorItemAvailability API.

    If the inventory request is for a physical store, it ignores local cache and triggers an outbound service to get inventory information from Sterling Order Management by calling the findInventory API.

    For a prebuilt or static kit, the WebSphere Commerce inventory cache is checked for the parent component. Sterling Order Management considers the static kit parent inventory to be the minimum quantity of components available.
  4. The shopper adds the item to a shopping cart.