January 8, 2024 By Jay Talekar
Sachin Avasthi
3 min read

Legacy architectures of monolithic applications are difficult to change, expensive to maintain and may pose business risks. In December 2022, Southwest airlines cancelled more than 13,000 flights due to outdated software systems and IT infrastructure. This meltdown resulted in major losses for the airline company, damaging brand reputation. In contrast, Netflix pioneered the microservices architecture and is a market leader in online streaming, having more than 250 million subscribers across more than 200 countries. 

Application modernization allows teams to develop reusable services that will ultimately increase the productivity and support accelerated delivery of new features and functions.

In our last blog post, we outlined our phased modernization approach, starting with runtime/operational modernization and then performing architectural modernization, refactoring monolith into microservices. In this blog, we will do a deep dive into architectural modernization of Java™ 2 Platform, Enterprise Edition (J2EE) applications and explain how IBM Mono2Micro™ tool accelerated the transformation.

The following diagram depicts generic J2EE architecture of a monolithic application. The different components — client-side UI, server-side code and database logic — are tightly coupled and are interdependent. These apps are deployed as a single unit and often result in longer churn time for small changes.

In architectural modernization, the very first step is to decouple client-side UI from server-side components and change the data exchange mechanism from Java objects to JSON. Backend for Front-End (BFF) services make it easier to convert Java objects to JSON or vice-versa. With the front end and backend separation, they can be modernized and deployed independently.

Next step in architectural modernization is to decompose backend code into individually deployable macroservices.

IBM Mono2Micro Tool accelerated the transformation of monolithic application into microservices. IBM Mono2Micro is an AI-based, semi-automated toolset that uses novel machine learning algorithms and a first-of-its-kind code generation technology to assist you in that refactoring journey to full or partial microservices. It analyzes the monolithic application in both a static and dynamic fashion and then provides recommendations for how the monolithic application can be partitioned into groups of classes that can become potential microservices

Here is how Mono2Micro works:

For one of the large financing applications in the CIO portfolio, Mono2Micro provided insights into the code complexity, uncovering the dependencies among classes across partitions and their interactions.

Mono2Micro saved more than 800 hours of manual effort to assess, redesign and develop the microservices architecture. Setting up Mono2Micro may take 3–4 hours to understand the different components and how these components work together to refactor your monolith. But it’s worth investing a few hours to save hundreds of hours for transforming your monolith to deployable microservices.

In nutshell, modernization tools like IBM Mono2Micro and Cloud Transformation Advisor drove faster transformation and promoted cost efficiency, but real differentiators are:

  • Platform: Right sizing our infrastructure from bloated on-prem virtual machines to cloud-native containers
  • People: Building community of developers to collaborate and create a future-ready culture

Modernization fosters innovation with business agility, enhances system security and simplifies data management. Most importantly, it improves developer productivity while providing cost-efficiency, resiliency and improved customer experience.

Learn more about IBM Cloud Pak for Applications
Was this article helpful?
YesNo

More from Automation

Achieving cloud excellence and efficiency with cloud maturity models

6 min read - Business leaders worldwide are asking their teams the same question: “Are we using the cloud effectively?” This quandary often comes with an accompanying worry: “Are we spending too much money on cloud computing?” Given the statistics—82% of surveyed respondents in a 2023 Statista study cited managing cloud spend as a significant challenge—it’s a legitimate concern. Concerns around security, governance and lack of resources and expertise also top the list of respondents’ concerns. Cloud maturity models are a useful tool for…

Using full stack automation to drive app-centric networking with IBM Rapid Network Automation

3 min read - Today, we’re announcing the general availability of IBM® Rapid Network Automation—the first solution that stems from our Pliant acquisition in March. IBM Rapid Network Automation is an advanced API-driven tool that is designed to automate, integrate and connect infrastructure across a hybrid cloud environment. Using a low-code approach and transforming API code into deployment-ready action blocks, IBM Rapid Network Automation is equipped with thousands of out-of-the-box integrations that help facilitate, integrate and secure communication up and down the technology stack…

Generate Ansible Playbooks faster by using watsonx Code Assistant for Red Hat Ansible Lightspeed

2 min read - IBM watsonx™ Code Assistant is a suite of products designed to support AI-assisted code development and application modernization. Within this suite, IBM watsonx Code Assistant for Red Hat® Ansible® Lightspeed equips developers with generative AI (gen AI) capabilities, accelerating the creation of Ansible Playbooks. In early 2024, IBM watsonx Code Assistant for Red Hat Ansible Lightspeed introduced model customization and a no-cost 30-day trial. Building on this momentum, we are excited to announce the on-premises release of watsonx Code Assistant for Red Hat Ansible Lightspeed,…

IBM Newsletters

Get our newsletters and topic updates that deliver the latest thought leadership and insights on emerging trends.
Subscribe now More newsletters