Enterprise Data Synchronization and Control

Rooms To Go (RTG) is America’s #1 independent furniture company known for a broad range of stylish custom furniture displayed and packaged in complete room settings. With over 200 stores in 11 states/territories, Rooms To Go’s brick-and-mortar and online stories carry the nation’s largest furniture inventory.

Rooms To Go’s enterprise-scale ERP operates on an on-premises legacy mainframe ERP system that serves as the system-of-record for considerable core business data. The mechanics of the legacy ERP are such that direct reads from cloud-based systems was undesirable. To support other applications within the RTG cloud ecosystem, RTG needed to reliably stream changesets/updates from the mainframe ERP to cloud databases.

Implement an enterprise replication and coordination system between the internal enterprise system (source) and Azure cloud-resident data system (destination) to be leveraged by RTG’s cloud services, intended to power in-development cloud applications. Throughout development and operations, deploy with disaster recovery-compliant DevOps procedures and verify accompanying SLA-compliant operation.

At completion, the production solution provides a redundant cloud- and queue-based integration system that keeps the RTG Azure cloud database up to date with continual on-premises mainframe ERP data. A modern (and mobile-optimized) administrative dashboard provides insight into recent system updates, any data update failures and the ability to suspend operation as needed.

challenge

mainframe to cloud

Multiple Downstream Consumers

While there was a single monolithic source of data, there are multiple consumers of the cloud data and this data needed to be every bit as accurate as the enterprise systems the mainframe ERP supports. As a result, event streams were built to be resilient to outages (from producers AND consumers) into a redundant cloud database that supports reads at hyperscale.

Dynamic Scaling and Operational Elegance

The resulting integration solution utilizes cloud-native technologies that auto-scale to support “bursty” data change traffic volumes. The system limits handoffs and therefore potential friction points; this architecture reduces operational complexity and maintainability.

Logging, Visibility and Manageability

The companion cloud-hosted web administration portal provides insight into and control of the integration system’s operation. The dashboard provides logging and visibility into messages as they pass through the system, including queue length and time from event production to consumption. Administrative levers enable system administrators to turn different data flows on and off.

Built Using

C# and Entity Framework were used to implement the system’s server-side framework for API endpoints including secure interchange, serverless execution and is coupled with OpenAPI/Swagger for service tier documentation.

Provides a robust data storehouse and query platform to store all enterprise data, marshal data for integration and provide a source to the app’s API tier. In-cloud SQL Server was used to provide instant scalability and rapid querying.

Provides database storage, web app, authentication and web services. Azure provides an ideal solution for back end mobile applications with a multi-data center Platform as a Service (PaaS) cloud solution that requires extremely little oversight.

The React JavaScript framework provides the UI base for the entire system, providing rapid and smooth data fetching, storage and screen painting. React drives the administrative application, reporting and control screens.

results

final product

"So glad that we connected with MercuryWorks. Their ability to take proof-of-concept technology and get production- and operations-ready along with new features is nothing short of amazing!"
Todd Daniell
Director, Rooms To Go