Enterprise integration is less about clever code and more about respect — for systems that have outlived three reorgs and will outlive your project too.
Meet the systems where they are
You will not modernise SAP on your timeline. Accept its data model, its batch windows, and its quirks, and design the integration to absorb them rather than fight them.
Anti-corruption layers
Put a translation layer between the legacy model and yours so its concepts never leak into your domain. The layer is ugly on purpose — it concentrates the mess in one place you can test.
Idempotency everywhere
Legacy systems retry, duplicate, and reorder. Make every write idempotent and every consumer able to see the same message twice without flinching. It is the single highest-leverage habit in this work.
