This healthcare company had undergone an organisational restructuring and wanted to adopt a more agile approach to business development. They were running legacy applications on an older version of MuleSoft, so it was difficult for the organisation’s IT to keep up with the demands of the business. Coforge helped migrate their legacy Mule applications from Mule 2 (version 2.2.6) to Mule 3 (version 3.8.1) enabling them to unlock the new platform offerings and deliver business change faster.
The technical challenges
Mule 2 services were XML with no GUI (graphical user interface) visualisation of the service components. The services used a custom Mule Message object to extend the default object, and had several custom Java classes with Java-based transformers for messaging and executing core business logic. All transformer classes were based on the custom Mule Message object. A variety of services such as Restful APIs, consumer message and response, consumer message success and failure, and asynchronous archive and purge batch data transfers were all in a single application.
Challenges in migrating these services:
The solution
Coforge proposed a phase-by-phase migration of services.
Phase 1: Batch functionality was first separated from the Mule 2 legacy application and migrated to Mule 3 with minimal change.
Phase 2: Creation of a benchmark for functional tests by extending the existing Junit tests using proper assertions and the additional of new tests covering all Mule 2 services. These tests were developed in such a way that they can be executed against the old Mule 2 or new Mule 3 services.
Phase 3: All Mule 2 services were migrated to Mule 3 and benchmark tests used to identify any issues and implement a fix.
The organisation was already running some applications on the latest version of the Anypoint Platform (version 3.8.1) with different naming conventions and guidelines for Mule 3 applications, which meant some tradeoffs needed to be agreed with the technical team to facilitate the migration. The migration was carried out with the view that deprecated components should be removed but core business logic within java classes kept. The Mule 2’s heavy dependence upon custom java transformers meant only a few could be replaced with MuleSoft’s out-of-the-box transformers.
Change highlights:
The Result
The Mule 2 to Mule 3 migration has helped the company achieve the following:
If you want to find out more about migrating from a previous Mule version then then give us a call on +44 (0)203 475 7980 or email us at Salesforce@coforge.com