Most of you have some legacy beast of software. Its integrated with half your company, its a giant monolith that you spend half the year planning for, and half doing, the upgrades of. And, the vendor is clearly heading to some end-of-life timeline. But, it has a choke-hold on your data, leaving you with little choice: keep adding more integration points, or perish. However, have no fear, there is a method using modern API’s that can help you tame that legacy beast.
The first step of understanding the problem is recognising we have a problem. The problem is: “I don’t want that system to become more powerful, but it owns my data”. These all-in-one monoliths (your ERP, CRM, payroll, …) are designed such that all integration points *increase* their hold on you. So lets take control of those integration points. We’ll use the power of decoupling and decomposition.
First, lets recognise how we can get at the data. We can either grope around directly in the database, or we can use the native API integration points. The first challenges us on upgrades with compatibility. The second is expensive and rarely architected for our simple small applications, using big enterprise-busses like CORBA. What are we to do?
Well, let’s build a moat. We’ll use OpenAPI and create small, RESTful API’s, as we need them. Each can be its own small microservice. It just has to model one thing. Now instead of having to update and test all applications when we upgrade the backend, we just have to update and test the API, secure in the knowledge the applications will remain compatible.
As we decouple more and more from the direct control of the beast, we become more confident in eventually replacing it. After all, we would just have to keep these API’s compliant on the North (application-facing) side. The south-side might be different for the new ERP, but we won’t have to rewrite all our applications.
A solid authentication, authorisation, and API layer gives us control of our destiny.