IBM Developer Blog

Follow the latest happenings with IBM Developer and stay in the know.

Learn how to manage growing IBM Sterling Order Management data on IBM Cloud.

Note: Growing order data – Is it really an issue? This blog is Part 2 in a series.

Transactional databases grow with order data exponentially over time. Data is valuable! It cannot be purged to trim down a database. The next challenge for solution designers is to implement an approach so that their applications can provide a better user experience while business continues to grow with transactions. This blog presents an implementation strategy in IBM Cloud that uses the integration between IBM Sterling Order Management and IBM Event Streams.

Data in Order Management belongs to three major categories: transactional, configuration, and master. A process can be established to push transactional data into an external datastore and to meet the rapidly growing business needs around data retrieval. This data can be pushed in real time using an asynchronous event-based mechanism. The configuration and master data can be pushed through scheduled cron-based processes that can be run at regular intervals. Some common examples are as follows:

Data/Event Type Data Integration Style
Order Create Transactional Near Real-Time
Order Update Transactional Near Real-Time
Order Shipped Transactional Near Real-Time
Item Master Scheduled Cron
Categories Master Scheduled Cron
Enterprise Configuration Scheduled Cron

Data publishing using event framework

A scheduled cron based process can also be used to migrate existing or historical transactional data from a backup database into the read datastore. Once the historical data is migrated successfully, another process can be established to trim down the active transactional database periodically.

REST-based microservices can be created to access data from the read datastore. Some common use cases can be implemented as shown in the following table:

REST URL Pattern Notes
/salesorders/<ordernumber> Returns sales order information
/salesorders/<ordernumber>?info=complete Returns complete sales order information
/salesorders/<ordernumber>/status Returns sales order status
/salesorders?customerid=<customerid> Returns purchase history of a customer
/salesorders?customerid=<customerid>&startdate=<startdate>&enddate=<enddate> Returns purchase history of a customer within a date range

Consumers for read microservices

Up next: Part 3 shows taking this beyond the IBM Cloud.