What happens when you have applications that have been curated and maintained by different authors of different elements over decades?
We know the answer. Just look at the universe of COBOL applications still out there today, and you can begin to comprehend the challenges. This certainly isn’t restricted to COBOL either. I’ve seen Java applications that have had different voices over the years. They tend to lose their guiding architectural principles and have the potential to end up being a multi-layered pile of semi-structured chaos. It’s a longevity issue really, and IBM Z has a very rich history of applications that have lived many lifetimes.
Some clients know have spent years and millions trying to modernize their COBOL code, and despite all that only a fraction has been modernized. It takes lots of developers and painstaking manual work to rewrite COBOL. People have tried many different ways to modernize these applications, and in my experience, with varied results. None are exemplary.
What if we could decouple the individual business services from these large, monolithic applications so now we have discrete business services that can be managed and maintained in their own right?
Enter generative AI and watsonx.
If you are on IBM Z, you already know that the platform allows interoperating between languages like COBOL and Java all managed within the same transaction context. The platform has been offering this for over a decade and the middleware runtimes in IMS and CICS help manage the complexity on your behalf. Super cool.
So the big question is: "What can AI do to help accelerate this process at a scale we could never accomplish before?"
I have good news. Great news, actually.
Our answer is IBM watsonx Code Assistant for Z that brings together established IBM tools with new capabilities that could make it easier to achieve interoperability and modernization at your own rate and pace, as opposed to the Big Bang, all or nothing “sledgehammer” approach.
“Kyle, it sounds great so what can I do next?” you may ask. First, check out this video that walks through a common client scenario. In it, we first gain a deep understanding of the application landscape, and then showcase some of the tools we are building to automate the steps of Refactor, Transform and Validate. Here’s a bit more on these major innovation areas from my perspective:
· Refactor will be designed to help clients surgically separate or extract out these individual discrete business services, which is no small task.
· In Transform:
o If your team has Java as the strategic direction, watsonx Code Assistant service -- our IBM-trained code large language model -- is being designed to help transform your COBOL to Java code that’s optimized for IBM Z. Our objective is that this Java will look natural to any Java developer. And by the way, your data sources don’t have to change. Your app servers don’t have to change. No migration is needed. What we’re doing is bringing to bear our rich history of Java support and Java SDKs that the platform offers.
o For clients that are looking to leverage and enhance their COBOL, that’s also great. Transform can take the refactored COBOL service and optimize it. And as I mentioned, it will be designed so the COBOL and Java code and services interoperate elegantly and are optimized for performance.
· Validate is critical as well because we have to demonstrate that what has been done will meet your business needs. Test cases will be auto-generated to help demonstrate the Java service is working as expected. It’s worth pointing out that this is AI-assisted, and as such isn’t going to give you the final answer. It’s not a transpiler or compiler. The developer is in the driver’s seat to make sure the Java is exactly how it needs to be. And it’s imperative that we need to demonstrate this with auto-generated test cases so you have the confidence that this meets the need for your new business service.
Underpinning all of this is watsonx Code Assistant that will also power IBM watsonx Code Assistant for Red Hat Ansible Lightspeed when it GA’s. Application modernization on IBM Z and Ansible Lightspeed are the first of many use cases – the future is bright. Even cooler, they are both built on the same IBM-trained code large language model, which is further tuned specifically for each use case.
After you watch the video (and I think you’ll like what you see), the next step is to get going with IBM watsonx Code Assistant for Z. Are we done? Heck no, there’s lots more work and tuning to do, but I think this is a strong start that holds huge promise. Most clients I’ve spoken with are highly engaged and energetic about this new capability.
Register for our webinar to get started. I’m excited to hear your story.