Architectural Overview

Shoppers use the Commerce storefront to place an order.

When a retailer enables integration, the order created in the storefront is sent to Oracle Retail Order Management where it is fulfilled. Commerce can obtain the details of the order from Oracle Retail Order Management and display the status in the customer storefront or the Agent Console of Commerce.

Commerce manages the promotions and discounts for the order and passes the final price of the order to Oracle Retail Order Management. The shipping methods in both systems are synchronized, ensuring that the customer is choosing from shipping methods that are available from Oracle Retail Order Management.

To perform data synchronization, Commerce communicates with Oracle Retail Order Management using REST. Commerce provides data output in JSON, while Oracle Retail Order Management exposes REST services that accept XML. Integration services take the JSON data from Commerce, convert it to XML using XSLT transformers, and send it to all Oracle Retail Order Management systems. In turn, XML data sent from Oracle Retail Order Management is read by the integration service and converted to JSON. The webhook target that communicates with Oracle Retail Order Management is set using the administration interface. If the integration is disabled, the transformation logic is skipped and the webhook behaves as a standard webhook.

Webhooks submit JSON, however, Serenade accepts only XML. When an order is submit, it is converted from JSON to XML. Webhooks support multiple target orders, and if the target contains

Integration services are configured using the Commerce administration interface.

When an order or order detail is queried in Commerce, a service call is made to Oracle Retail Order Management to get the latest status for that order. Orders that are created in Commerce are synchronized to Oracle Retail Order Management, and order status updates regarding fulfillment from Oracle Retail Order Management are requested by Commerce on demand.