Is Java the AS/400’s Final Lifeline?
October 21, 2008 Alex Woodie
For the first 10 years that IBM pressed Java onto its AS/400 installed based, the programming language was received with boos and sneers. “Why would we spend millions to retool in Java when RPG works just fine?” was the near-universal response. But today, with Power Systems server sales plummeting, RPG programmers retiring and dying, and serious questions about the value of the platform in a Web-connected world, i OS application developers appear to be looking now to Java as a means of survival.
There are few platforms today that bear the same connections that RPG and the Power Systems server enjoy. With some exceptions, to be an RPG developer is to be an i OS application developer, and to develop applications for the i OS platform means programming in RPG. For better or for worse, the four-decades old language is as closely tied to the IBM midrange server as any development technology has ever been tied to a commercial business platform.
While this closeness yielded excellent performance for the transactional applications of the 20th century, it is hindering the diversification of development strategies in the 21st century. No longer does an RPG’s native green-screen 5250 interface cut it when CIOs are presented with glitzy Web 2.0 screens. Sure, there are many tools, from third parities and IBM, that can augment rock-solid RPG programs with Web interfaces, and we have covered most of them within the pages of the IT Jungle. But these tools are designed primarily to modify existing applications with graphical interfaces, not for building new applications from the ground up under the new Web paradigm.
IBM long ago recognized the need to unhitch the AS/400 platform from the RPG pony. Pushing Java and the Java-based WebSphere Web application framework was the first concerted effort by IBM to do this, and it failed miserably, creating a backlash that entrenched RPG even deeper into the midrange culture. For the last several years, IBM has looked to PHP to invigorate the AS/400 masses and spark a new generation of Web-enabled programs and programmers for the platform that now goes by i. More recently, it’s pushed the Enterprise Generation Language (EGL) as the way forward for i OS-based Power Systems server and System z customers.
And while the court is still out on the effect that PHP and EGL are having on the platform, a curious thing appears to have happened in the meantime: AS/400 types have begun re-thinking their previous aversion to Java, and are now considering it as a mid- to long-range replacement strategy for RPG.
Demand for Java is Up
“A lot of people are actually writing Java, and we have a big demand for that,” says Stuart Milligan, chief operating officer for Databorough, an English developer of cross-referencing, application documentation, and re-engineering tools for i OS shops. “We’re seeing a lot of demand currently for Java.”
Databorough recently rolled out a new version of its flagship X-Analysis tool suite that makes it easier than ever for RPG shops to move to Java, including generating the actual Java code from business processes extracted from RPG applications. (It’s not a conversion tool per se, Milligan explains, but a re-engineering tool that can generate code in multiple languages, including Java.)
Milligan says he is “not in the least” surprised about the resurgence of interest in Java among System i/RPG shops. “I would say it’s probably the primary thrust of at least 80 to 90 percent of the customers we have, and the prospects that we’re dealing with,” he says. “It is the mainstream enterprise language for modern companies that we’re dealing with.”
The operative word here may be “modern.” Companies that are happy with their RPG programs, and see no way to increase profits by making changes to their core IT systems, will not be making the move to Java. Here, the mantra “If it ain’t broke, don’t fix it” rules with an iron fist.
Java as Lifeline for Modern Development
But for System i/RPG shops looking to adopt “modern” development strategies that make the Web a central component and not an afterthought, Java may well be the ticket.
One such company is VAI, the New York software company that seems to be only one of a handful of i OS ERP software developers that are actually investing in product, selling to new customers, and expanding operations these days.
While ILE RPG will still play a crucial role at VAI for some time, the company is considering moving whole-hog to Java, founder and CEO Bob Vormittag said recently. “It’s very key from the standpoint of Web development. Anything that’s Web related, Java is really the native language now,” Vormittag says.
Java is already playing a larger role in the latest release of VAI’s flagship product, S2K version 5.0, which shipped earlier this year. VAI is relying on IBM’s WebSphere Portal to provide the framework for many new Web-based features, including CRM, business intelligence, and interfaces for mobile devices.
VAI is considering a long-term plan to convert its core RPG business logic to another language that would enable S2K to run on other platforms, and Java is being seriously considered for the job, according to Vormittag. “It seems like Java really is going to be the language of choice, because it’s universal, because it’s Web-enabled, and can run on handheld devices,” he says. “I think that ultimately that’s what we’re really going to do.
“I also think it will be a big project,” he added. “Right now our real goal is to globalize as our next step.”
Smoothing the Java Transition
One of the biggest hurdles to Java adoption in the midrange is the notorious difficultly RPG programmers have understanding the object-oriented concepts of Java. The two languages take very different approaches, and it has bedeviled many a well-intentioned dip into the Java waters.
To smooth the transition from RPG to Java, IBM last year introduced EGL for System i and System z customers. EGL is a high-level language that generates Java and COBOL. It’s also a procedural language, like RPG, which makes it easier for RPG programmers to learn.
EGL can bring RPG and Java developers together and extend the longevity of RPG programmers, who often have the most extensive knowledge of their companies’ business processes, says Heidi Schmidt, the sales director of PKS Software, a German developer of code conversion tools for i OS and z/OS applications that recently developed a tool that converts RPG into EGL. That tool was purchased by IBM and named the Rational Migration Extension for i, or RMEi, (see “PKS Provides the Missing Link from RPG to EGL”).
“You need to stay with your current RPG developers. You cannot let them go away, because it’s hard to hire new people. But some things are hard to implement in RPG. EGL is a faster way of implementing it,” Schmidt says. “With EGL you can bring them both together. The Java people can develop further on in Java . . . But the RPG people can move forward to EGL and do development in EGL.”
Schmidt is not totally committed to the Java camp, however. Compared to COBOL or RPG, there are still some performance issues with running Java application on the i-based Power Systems server, she says. IBM recently addressed Java’s lackluster performance with i 6.1 by switching out the operating system’s original 64-bit Java Virtual Machine for the AIX-based 64-bit JVM, which runs in PASE mode on i 6.1. However, this JVM does not utilize some of i OS’s unique architectural elements, such as single level storage. For the last few years, IBM has also offered a 32-bit JVM, and it still uses this JVM to benchmark i OS’s Java performance on standardized tests. Java performance has improved, but there may still be room for improvement on i OS.
And there may be something better than Java in the future. “I think Java will not be the last language we see in the market,” Schmidt says. “If you are able to develop in a more abstract language [like EGL], it doesn’t matter in a few years if Java is not the latest fancy thing to deploy or generate. It can be exchanged by IBM by changing the compilers. You don’t have to re-write anything.”
The Risk of Sticking with RPG
“Nobody was ever fired for buying IBM” goes the popular saying. But in the 21st century, sticking with Big Blue’s punch-card era programming language is an increasingly risky proposition.
“People are looking closer at this investment they had, and they’ve stopped assuming it will be around forever,” says Databorough’s Milligan. The combination of System i and RPG represent “an increasingly risky development strategy going forward,” he adds.
Much of the new concern results from the “product unbundling” that occurred earlier this year. The System i, and the iSeries and AS/400 before it, came as a ready-to-go machine with a lot of business software pre-loaded. Now that there is a greater degree of pricing parity between System i and System p machines, an ‘a la carte’ menu of products, and per-user pricing, the value of the i OS platform isn’t nearly so obvious, he says.
Milligan says IBM’s aggressive, strategic approach to unbundling has “rattled a bit of a hornet’s nest,” and he implies that this could be driving more System i/RPG shops in the direction of Java.
“Who knows where that will end up,” Milligan says. “It’s raised the argument, with a much clearer focus: What have I got? Should I listen to people like Jon Paris who say that RPG is going to be here forever? Or in actual fact, have I got a very seriously risky development strategy if I’m going to be getting more proprietary environments, which RPG is really becoming? It’s no longer a mainstream technology, and hasn’t been for quite a lot of years. Raising that debate has really been the result of this unbundling, and what’s really happened.”
“I would say it’s in IBM’s favor that they start breaking this dependency on a platform that essentially they’ve discontinued to put any significant investment in, and that’s System i,” Milligan continues. “There’s no new development that’s going on there. There’s one lady that really writes RPG in the Toronto labs. Everybody knows Barbara [Morris]. Barbara is the one that writes it. They’re not investing anything in the language. They’re not really investing anything in the uniqueness of the platform. So I think in the long run in would actually be in IBM’s favor if people did tend toward the modular platform approach.”
And that means more Java in your Power Systems pot.