Java at 25: Celebrating Milestones, Mainframe Interoperability and More
It can be said that one sign of a healthy long-term relationship is that there’s still room for small, pleasant surprises. Such is the case with the IBM mainframe and Java.
Even though Java’s availability on the mainframe predates the introduction of z/Architecture, IBM’s Skyla Loomis continues to encounter application developers who don’t realize that Java is even an option on the platform.
“I do still run into folks who are happily surprised that Java is available, that we have that interoperability,” says Loomis, vice president, IBM Z Software.
For the record, it was 1997 when IBM released its first SDK for Java on its System/390 hardware. (z/Architecture and the z900 arrived three years later.) IBM is taking note of the 25th anniversary, reminding the world that Java was and remains at the forefront of modern application development on the mainframe.
“I think the 25th anniversary is an opportunity to take a step back and realize how far we’ve come, how important it is and how far we’ll continue to go with it in the future,” Loomis says.
The Java Timeline
From the beginning, IBM viewed Java as a way to extend core system applications most commonly written in COBOL. Today, IBM mainframe clients are leveraging this combination in some ambitious but savvy long-term modernization projects that allow their businesses to evolve.
“We’ve enabled the IDEs to work seamlessly between COBOL and Java,” Loomis says. “You can be in your same editor with all of the features you’re used to: highlighting, setting break points, and debugging. You can do all of that without having to jump context between the two languages. I believe the interoperability with the developer tools is another aspect that some Java developers may not be fully aware of.”
Over a quarter century, IBM’s commitment to Java on the mainframe is clear. Loomis points to several milestones along the way. For instance, the introduction of the z13 brought Simultaneous Multi-Threading (SMT), which greatly improved performance for certain Java workloads. Cryptographic performance was also improved, while the introduction of single instruction multiple data (SIMD) allowed programmers to more efficiently perform various Java-specific operations.
The unveiling of the z14 ushered in a new feature known as Pause-less Garbage Collection (GC). This Java runtime tracks an application’s use of the Java heap and trigger GC as needed. Then in 2016, IBM helped launch the Eclipse OpenJ9 and Eclipse OMR projects by contributing its J9 JVM, consisting of more than 5 million lines of code, to open-source development.
“IBM reaffirmed its commitment to the open-source Java ecosystem,” Loomis says. “That was kind of a turning point. It was really important for us.”
More recently, IBM rebranded its Java SDK, now known as the IBM Semeru Runtime Certified Edition for z/OS. Among other important capabilities, the runtime allows communication between 31-bit Java native interface (JNI) libraries and 64-bit Java applications.
The introduction of the IBM zSystems Integrated Information processor—better known as the zIIP engine—is another significant development in Java’s history on the mainframe. “We’ve done a lot of work to make sure Java is a very cost-effective option as well,” Loomis says. “Because all of our Java workload is off-loadable to zIIP, you don’t pay for those MIPS on the platform. That’s been an important incentive to enable clients to adopt these new technologies, bring those new workloads on the platform, and make the right architectural decisions without having to worry about the financial impacts.”
Looking Ahead on the Java Roadmap
It’s also worth noting that, at this point, it’s not just Java that’s arrived and evolved on the platform. Loomis notes that modern languages like Python, Node.js and Go provide mainframers with an array of programming options.
To be sure though, there’s still more to come for the mainframe’s open-source standard bearer. IBM recently issued a statement of direction about the next version of the Semeru SDK Version 17 “is planned to support the Java Standard Edition 17 language specification, enabling Java 17-compliant applications to be ported to and deployed on IBM z/OS.”
“IBM has continually optimized how Java runs on the platform and how it gets leveraged throughout the software stack. With each new generation of hardware, we continue to optimize key specific aspects and add instructions into the firmware in our chip set,” Loomis adds. “Java has become incredibly pervasive across our client base, but that interoperability is key, because it allows our clients to incrementally modernize their applications.”