How We Handle Legacy System Integration
Many client projects require integration with existing legacy systems — older ERP platforms, mainframes, bespoke databases, or systems with limited or no APIs. This article explains our approach.
What Is a Legacy System?
For our purposes, a legacy system is any existing system that: is difficult to change, has limited documentation, uses outdated technology, or lacks modern integration interfaces (REST APIs, webhooks, event streams). Legacy does not necessarily mean "bad" — many mission-critical systems are legacy systems that simply cannot be replaced easily.
Our Integration Approach
- Discovery: We invest time understanding the legacy system — its data model, its interfaces (even if undocumented), its behaviour under various conditions
- Anti-Corruption Layer (ACL): We build a translation layer between the new system and the legacy system. This insulates your new system from the quirks and constraints of the legacy system and makes future migration easier.
- Adapter patterns: Where the legacy system only supports older protocols (SOAP, FTP, flat-file exchange), we build adapters that translate these into modern formats
- Parallel running: During transition, new and legacy systems may run simultaneously. We design data synchronisation carefully to avoid conflicts and data loss.
- Fallback planning: If the legacy system is unreliable, we plan for what happens when it is unavailable — graceful degradation rather than hard failure
Your Role
- Provide access to the legacy system (or a test instance where possible)
- Identify the legacy system's subject matter expert (SME) — often a long-tenured member of staff who knows its quirks
- Flag any known limitations, bugs, or undocumented behaviours of the legacy system