Develop > Controller layer > Integrate with back-end systems and external applications > Distributed Order Management (DOM) integration


Distributed Order Management (DOM) integration flows

There are two integration flows between the Madisons starter store, WebSphere Commerce and DOM: the get inventory availability flow, and the checkout flow.


Get inventory availability flow

  1. The inventory availability records cached in WebSphere Commerce are updated by DOM through batch-load and SyncInventoryAvailability service requests.

  2. When the customer locates an item by browsing or searching the Madisons starter store catalog, the store uses the Inventory component's GetInventoryAvailability service to retrieve and display the online and in-store inventory availability of the item.

  3. If the inventory system of the store is DOM, the service retrieves the information either from the cache or from DOM by creating an outbound GetInventoryAvailability service request using the ExternalInventory component.


Checkout flow

  1. When the customer adds an item to the shopping cart, the Madisons starter store uses the order component's ChangeOrder service, with the Create action code, to add the item to the shopping cart with the selected fulfillment options.

    If the inventory system is Non-ATP, the item can only be added to shopping cart when there is enough stock in the online store's fulfillment center. Otherwise, set INVENTORY.INVENTORYFLAGS to 2 to not perform the check.

  2. If the inventory system of the store is DOM, the service calls the Inventory component's ProcessInventoryRequirement service, with the CheckInventory action code. This service retrieves the information either from the cache or from DOM by creating an outbound GetInventoryAvailability service request using the ExternalInventory component. This service then uses the information to get the inventory statuses of the order items, which is used by the DoInventoryAction command to update the order items.

  3. When the customer initiates the checkout process, the Madisons starter store uses the order component's ProcessOrder service, with the Prepare action code, to prepare the shopping cart for submission. This includes reserving inventory and evaluating promotions, shipping and taxes.

  4. If the inventory system of the store is DOM, the service calls the Inventory component's ProcessInventoryRequirement service, with the ReserveInventory action code. This service creates an outbound ProcessInventoryRequirement service request, with the ReserveInventory action code to DOM using the ExternalInventory component, It then uses the information to update the fulfillment options and inventory statuses of the order items.

  5. After the customer reviews the order, enters their payment information, and submits the order, the Madisons starter store uses the order component's ProcessOrder service, with the Submit action code, to submit the order for processing.

  6. The service or command calls the PrimePayment command to authorize the payment. It then updates the order status, sends an order confirmation e-mail to the customer, and raises the OrderSubmit event. This triggers OrderSubmitEventListenerImpl, which calls the ProcessOrderSubmitEvent command. If the inventory system of the store is DOM, the command tansfers the order to DOM for further processing by creating an outbound ProcessOrder service request, with the Transfer action code, using the ExternalOrder component. This command then calls the Inventory component's ProcessInventoryRequirement service, with the DecrementCache action code, to decrement the cache.

  7. As DOM processes the order, DOM sends the order fulfillment status updates, for example, order items shipped, to WebSphere Commerce by using the order component's SyncOrder service, with the Change action code. The service updates the order and shipment records in WebSphere Commerce, and depending on the order fulfillment status, sends a notification e-mail to the customer detailing the update.


+

Search Tips   |   Advanced Search