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.
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.
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.