You are currently on IBM Systems Media’s archival website. Click here to view our new website.


The Ever-Evolving Role of RPG

Exploring the potential of Open I/O


This new year is due to bring us a new release of our favorite operating system and with it changes in RPG! Of course, for those of us who aren’t too concerned with hardware feeds-and-speeds, the RPG changes may be the most important part of the release. As we await the formal announcement, we got to thinking about how some of the RPG enhancements that IBM’s hinted at may change the way we use the language.

Rumored RPG Language Enhancements

IBM’s Ian Jarman gave us a glimpse of the upcoming release at last fall's RPG and DB2 Summit. If you don't recall the story, or simply missed it, you might want to catch up before continuing.

Ian talked about a new kind of "Open I/O access" support that’s intended to let ISVs, open-source groups and individual shops write their own "drivers" to incorporate new capabilities into the RPG language. Why is this important? In part because for many years RPGers have consistently claimed that they’re not incorporating modern interfaces into their applications because they’re waiting for IBM to provide them with native language support.

We're not interested here in debating the merits of this very widely held belief. The reality is that IBM simply cannot supply support for every conceivable new interface. That's a fact of life and it’s time we all got used to it. The days of Mother IBM doing it all for us are past. Even when IBM does implement a new feature, it’s not available to the average shop in a truly meaningful timeframe. Think about it—IBM's lead time for developing a new release these days is 18 months or so. A significant number of shops that will upgrade to a new release wait between 6 and 12 months after GA to do it. The result is that from the moment when IBM first begins to develop a new feature for RPG, it’s two years before even a measurable fraction of the user base has access to it. That simply isn’t meaningful in today's rapidly evolving IT world.

So IBM seem to be doing the only thing that makes sense at this point—it’s opening the door so others, who are far faster on their feet, can fill the void. It’s this kind of open architecture that enables languages like PHP, Python, Java and others to respond quickly to the rapid pace of change. Just to give one current example: Many PHP shops are already hard at work implementing "cloud" interfaces into their applications because the class libraries to do so are already available and have been for some time now. Two recent articles, “Zend PHP framework accesses Amazon cloud” and “Cloud computing with PHP, Part 1: Using Amazon S3 with the Zend Framework,” speak to this. If the term cloud is unfamiliar to you, you'll find an excellent introduction in “The Importance of Cloud Computing for PHP Developers” (link not active) and see an IBM perspective in “Cloudy With a Chance of Revenue.” Do you think today's notion of cloud would still be as relevant by the time IBM could implement such functionality in RPG?

What Could We Do With This Support?

Support for many of these new technologies already exists in the IBM i marketplace—but it needs to be more tightly integrated with RPG. IBM is looking to the companies and individuals supplying such facilities to supply the drivers. Often what appears to be preventing the mass adoption of these capabilities is the lack of simple READ or WRITE interfaces—operations that have been integral to RPG's ease of use as a language from the beginning. We've been able to READ and WRITE to database files, interactive screens and spool files for years. What if we could READ and WRITE to Web services, e-mail servers, XML documents or browser screens?

For example, Scott Klement has enabled RPGers to easily consume Web services by using his HTTPAPI. Hundreds of shops have used this wonderful piece of software to track packages with UPS and FedEx, validate postal addresses and ZIP codes with the USPS or obtain the latest currency exchange rates. These are just a few examples of how this software is used yet many RPG shops still relinquish such tasks to the "dark side." What if programmers needing to use such facilities were freed from the (apparently intimidating) API calls required to implement them? What if these APIs were wrapped up in an Open I/O driver so that it could be accessed through conventional RPG READs and WRITEs? Would more shops be likely to adopt such technology then? Our hope is that they would. Please note that we’re not suggesting that Scott has any such plans, but it’s an intriguing idea nevertheless.


Jon Paris is a technical editor with IBM Systems Magazine and co-owner of Partner400.

Susan Gantner is a technical editor with IBM Systems Magazine and co-owner of Partner400.



2019 Solutions Edition

A Comprehensive Online Buyer's Guide to Solutions, Services and Education.

New and Improved XML-INTO

Namespace support makes the opcode a viable option

Authenticating on the Web

The finer points of OpenRPGUI, Part 1

The Microphone is Open

Add your voice: Should IBM i include open-source RPG tools?

IBM Systems Magazine Subscribe Box Read Now Link Subscribe Now Link iPad App Google Play Store
IBMi News Sign Up Today! Past News Letters