Case Study
Following the resolution of the "Ghost Inventory" crisis, the system was finally stable. However, the architectural band-aid we had in place was far from elegant.
The external MYOB integration was still relying on a polling mechanism—constantly asking the Inventory Management System (IMS), "Any new orders? Any updates?" every few minutes. It was inefficient, unscientific, and put unnecessary strain on the EC2 production server.
We needed a paradigm shift. The IMS database should be the absolute source of truth. Instead of the integration polling the database, the database needed a way to proactively announce, "Hey, an order just changed!" The industry-standard solution was obvious: an event-driven architecture using a message queue, specifically AWS SQS (Simple Queue Service).
But there was a massive, immovable roadblock: I absolutely refused to touch the legacy Java backend. The codebase was too fragile, and modifying it to emit SQS events would risk breaking the core business operations again.
We needed a way to extract data events from the system in real-time, with absolutely zero intrusion into the existing application code.
What's the call?