|
Applied Logic Brings Old Apps Forward with RPG Externalizer
Updated: February 9, 2006
by Alex Woodie
OS/400 shops looking to modernize decades-old RPG code may want to check out a new utility launched by Applied Logic last month. With RPG Externalizer, programmers can automatically update the internally described file definitions of older RPG applications written for System/3x and early-generation AS/400 hardware with external file definitions, thereby gaining from the architectural benefits that external file definitions bring, and--most importantly--continuing to reap additional value from their tried-and-true RPG programs.
There are many great things about IBM's midrange server, and one of them is the long-lasting value that IBM has, does, and--hopefully--will continue to deliver to the programmers and ISVs who support it. The OS/400 server has the capability to efficiently run code that was written decades earlier, such as RPG II and RPG III applications originally written for S/34, S/36, S/38, and AS/400 computers. You might be surprised at the amount of this battle-hardened code that continues to perform critical functions in the field.
While this code will run on new iSeries and eServer i5 boxes--even the new Power5+-based System i5 IBM launched last week--that doesn't necessarily make the code modern. In fact, much of this code shows its age through its reliance on internally defined file structures.
The big drawback of using internally defined file structures is that it requires a programmer to manually go through the code, line by line, to make certain changes, says Bryan Schapp, director of sales and marketing at Applied Logic.
"What that means, if you make a file change, such as making a field bigger or adding a new field, with external definitions, that's all controlled centrally. You just have to go in and recompile, or sometimes make other adjustments. But it all ties into a central database," Schapp says. "With internally described files, you have to go into each field to make a change."
This issue affects RPG applications written 20 or 30 years ago, back to the time of the S/34, S/36, and even the original System 3, Schapp says. "Most of this comes from the days when externally described file definitions wasn't available," he says. "Application development is so much simpler when everything is externally defined." RPG IV forces programmers to use externally described file definitions.
Applied Logic has expertise in S/36 and SSP modernization, and sells a S/36 migration tool, in addition to a successful DB2/400 utility called File Edit Utility (FEU) and a smattering of Windows tools.
But the Keizer, Oregon, company never attacked the externally described file definition topic "because we knew it was a pretty hairy thing," Schapp says. "We had seen some utilities that do it partially, but that can make a mess of things more than a programmer doing it manually."
This hesitance ended when the company completed an RPG modernization project for a multi-billion dollar container board manufacturer that had S/36-era code running in more than 20 locations. (Schapp declined to identify the customer, citing confidentially issues.) "The bottom line is they didn't want to scrap the application. It fit their unique business needs, and it was the best business sense to continue with it," Schapp says.
As part of this S/36 services engagement, Applied Logic wrote a migration utility for automatically updating RPG applications to use externally described file definitions instead of internally defined ones. The utility worked so well that the company decided to market it as the RPG Externalizer.
RPG Externalizer works by removing the I-specs and O-specs for internally defined files, and by re-engineering the programs to use external DDS field information, the company says. Changes are also made to the File and Calc specifications. The new tool also can be used to add prefixes to certain field names, such as all of those used in the payroll component of an application. For a full run-down of capabilities, see this list of RPG Externalizer features on Applied Logic's Web site.
The tool will need to take multiple passes through the RPG application to complete the externalization of its file definitions, and any troublesome areas that will require special attention from programmers are flagged for their review. It is possible that RPG Externalizer can automatically make the changes necessary without manual intervention, but it's more likely that some programs in an application will be flagged, Schapp says.
While there is no hard data on the prevalence of less-than-modern RPG code still in use in the field, anecdotal evidence suggests there is plenty. "George Farr from IBM was recently quoted saying that about half of the iSeries customers he talks to in RPG sessions at COMMON and IBM technical conferences are still running their applications in RPG III or even RPG II," Schapp says. "There's still a lot of code out there being used that isn't yet modernized . . . There's a niche market [for S/36 solutions] that continues, and it surprises me how it has continued."
RPG Externalizer version 1.2 is available now for a flat fee of $895 per development box. The product supports OS/400 V3R7 through the latest release, although it hasn't yet been certified for i5/OS V5R4. More information can be found at www.alcsoftware.com.
|