Level up: migrating your Java ESB to Mule 4
A common challenge faced by organizations is the increasing dilemma of maintaining critical systems like ESBs over time. This is often due to the pressure to rapidly implement new developments or make changes on the fly, which can lead to incomplete or inaccurate documentation and performance issues.
location
Milano
industry
Editoria
technology
Our project addressed this situation by successfully migrating the client's legacy Java-based ESB to a modern Mule 4-based platform.
Copyright protection company
A leading company in advanced technologies specialized in managing and protecting copyrights and music licenses with extensive experience in the field, it offers innovative solutions for collecting and distributing royalties while ensuring effective compensation for artists and authors.
Its cutting-edge technological platform enables precise monitoring of works and transparent management of transactions. With a strong commitment to digitalization and process optimization, this company supports music and art through reliable and customized services.
Through its extensive network of collaborations and strategic partnerships, the company is able to amplify the global reach and impact of its solutions, fostering justice and fairness within the international copyright landscape.
Sensei Team
It is worth highlighting the practice used for releasing a system of this size: instead of performing a "big bang" release, which would certainly have led to a very large number of service disruptions, we all have agreed on releasing each specific application as soon as tests ran smoothly.
Through a reverse proxy, flow was controlled and incrementally moved from the old ESB to the new one, thus allowing the applications to continue to be monitored in production and reducing the pressure on the team that carried out the bug-fixing process.
The Developed Project
The goal of the project was to migrate the customer's old ESB, implemented on a completely custom framework based on Java/Groovy classes, to a new implementation based on Mule 4 that would overcome the issues just listed above.
The size of the project was also quite significant: it involved migrating 25 APIs that in total had about 700 endpoints and handled more than 10 million transactions per month.
Project Development Stages
Following an initial assessment and a comprehensive architectural analysis, the following steps were implemented:
- Defining and structuring input and output - Through meticulous and persistent reverse engineering, one or more RAML documents were created for each API. This formally documented the APIs, providing a basis for rebuilding the ESB and a reusable documentation for new projects based on Mule or based on any other technology.
- Review of Architectural Layers - Collaborating closely with the client, when possible, gave us the chance to restructure the APIs to align with the API-Led connectivity paradigm, thereby creating reusable components that could be used again and again by other applications.
- Implementation of APIs with Mule 4 - Through Mule 4, we implemented standardized integration patterns across various APIs, enhancing the system's manageability and maintainability while promoting reusable components. With such a framework that incorporates both runtime management and an integrated API manager, we significantly reduced the developer's workload in addressing security and privacy concerns, ensuring legal standards.
- Deployment on Anypoint Runtime Fabric - Our strategic decision to go for a container-based tool provided substantial benefits in terms of horizontal scalability, high availability, efficient resource reusability, and streamlined application management. Moreover, we effectively addressed our client specific requirements safeguarding their data.
- Performance Monitoring - By refining the logging system to capture fine-graned performance metrics (as response time), we were able to effectively pinpoint bottlenecks and identify the root causes of performance issues. This highly detailed and specific data enabled us to distinguish between processing delays within our business logic and those attributed to external systems, often revealing that the true responsible for poor performance frequently lies elsewhere.
Technologies
By strategically employing API-Led connectivity, Mule 4, an API manager, and Anypoint Runtime Fabric, we achieved a smooth migration and successful integration between our legacy systems and innovative Mule 4-based architectures.
Company Feedback
By strategically implementing rewrite rules (at endpoint-level) and taking advantage on the stateless nature of REST APIs, we were able to roll back single endpoints experiencing issues, reducing downtime to virtually zero.
Sensei's strategic implementation of rewrite rules (at endpoint-level) and the statelessness of REST APIs enabled us to proactively address any issues and quickly roll back to the previous platform when needed. This led to virtually zero downtime, demonstrating Sensei's exceptional ability to ensure a smooth and uninterrupted transition.