Integration with Legacy Systems
Working on new solutions for large organizations can have many challenges, one of the most frequent is the need to integrate a new solution with legacy software solutions. In 2008 we embarked on a journey to make a software solution for the OECD to allow for a more user-friendly experience when searching for Aid data with their various datasets. Our solution was to provide a way to hide the complexity of the data structures and to provide one unified “Query Wizard” to help point the user to the appropriate dataset based on their search criteria.
Because the OECD already had a mature system with a soap interface to query data, we not only didn’t want to reinvent the wheel, but we also didn’t want our solution to be intrusive or impose changes to the legacy system.
When coming up with our design, we strived to keep a clear delineation between the legacy system and the new application via an abstraction layer. We made use of the existing legacy heavyweight soap API and wrapped it with a lightweight restful API. This way we were able to create a stand-alone API sitting on top of the legacy system with loose coupling between the two. We were able to create our solution without interfering with the existing infrastructure.
Of course, integration even in this loose-coupled way was not without pain points. Because we did not have any control over the underlying legacy soap service implementation, the solution was tricky to optimize. Fortunately, we were able to identify some areas of concern early in the process and work with the OECD to fix these issues.
Another important element of legacy system integration is the need to closely communicate with the legacy system maintainers to coordinate rollout of any legacy changes. Because our application was mostly designed to be independent of the legacy system, this did not greatly affect our project. However, an in-person visit to the OECD headquarters for a meeting with the legacy system maintainers to get buy-in for our project was invaluable for opening the flows of communication in this regard.
Legacy system integration can be challenging, but by prioritizing loose-coupling between the systems and maintaining good communication between all parties, legacy system integration can be attained very successfully!
Tags: legacy systems, OECD
