Until recently, modernizations of legacy projects have often been challenging. With AI-based engineering tools it has become easier. This post describes how to convert WebSphere applications into OpenLiberty applications with newer Java runtimes via IBM Bob.
Modernizing Java applications brings significant advantages - from ultra‑fast startup times and dramatically reduced memory consumption to enhanced developer productivity. Cloud-native frameworks like OpenLiberty make these gains even more accessible, but large‑scale modernization projects have traditionally been time‑consuming and difficult.
Today, new AI‑driven engineering techniques are reshaping this process which enable autonomous AI agents to generate, adapt, and refine code in iterative cycles. Developers remain fully in control by defining intent and exit criteria (such as tests), while the agents do the heavy lifting inside those boundaries.
Previously, only straightforward changes could be automated with rules or recipes. Complex refactorings and architecture updates still required extensive manual work. AI agents can now tackle these tasks as well - analyzing codebases, proposing improvements, and performing sophisticated transformations. Developers simply review, approve, or reject the changes, dramatically reducing the effort required.
This post describes how IBM Bob, an AI partner for the Software Development Lifecycle, brings these capabilities to real-world Java modernization. Bob helps developers understand legacy systems, plan migrations, and execute modernization tasks safely and efficiently. With proactive insights and autonomous code generation integrated directly into the development workflow, Bob accelerates modernization while ensuring developers retain full oversight.
Example
Below is a sample how to modernize a WebSphere application in two steps:
- Replatforming to OpenLiberty
- Updating the Java runtime
Read my previous articles about Java application modernization for more context:
Understanding
Before any code is updated, it makes sense to get a better understanding about the application which Bob supports in the chat mode.
Replatforming
Next the WebSphere code will be updated to OpenLiberty.
After an analysis of the project, server.xml and a Containerfile are generated.
Code Analysis
When modernizing applications, certain changes can and should be done automatically via deterministic classic rules. Rules are more reliable than AI, faster and cheaper.
The IBM Application Modernization Accelerator creates a report of required changes:
- Changes that can be done rule-based
- Changes that need to be done via AI
The following screenshot shows an issue which cannot be handled via rules.
Agentic Modernization
After the rule-based changes have been done via workflows and recipes, the AI starts to work on the remaining tasks.
As shown in the previous Visual Studio Code screenshot something needs to be changed regarding ‘PrintWriter’.
Bob figured out the necessary fixes. In this case it’s only a change of a library version.
Bob iterates through the list of tasks until he thinks everything should work. For example, he runs unit tests and Maven builds.
In my case the modernized application didn’t come up. Bob detected this issue when running the last ‘Validate’ stage to run the application. Based on this error, he even updated his Todo list.
After a couple of iterations, the application has been updated successfully to OpenLiberty.
Bob also created documentation and a diagram for the completed work.
Java Runtime Updates
After the replatforming I’ve asked Bob to upgrade the Java runtime.
Next Steps
To find out more, check out the following resources:












