RPG Conversion Tool from ASC Now Supports XML, C#
by Alex Woodie
OS/400 shops looking for a way to transition to Microsoft's .NET development tools and runtime environment may want to check out the latest release of Advanced Systems Concepts' RPG Into Objects, or RIO, code translator. RIO Version 5.4, which ASC announced last week, can now translate RPG into C#, in addition to Java, and it also has the capability to generate XML for Web browser GUIs.
While RPG has proved itself to be an excellent language for writing business applications--particularly when paired with the OS/400 server's stability and ease of use--the language, which was originally developed for punch-card machines, is beginning to show its age. "Even though it's likely to survive a long time, the lifespan of RPG as an active development language is very limited," says Chris Wilson, ASC's director of programming and operations tools. "As the years go by, the draw-down in RPG skills will increasingly reduce its use." However, the thought of moving off the language is a painful one for many programmers. "Moving away from RPG is a difficult choice for many people, especially since it's served them so well for this long" he says.
ASC originally launched RIO in 2002 to provide OS/400 shops with a practical way to move their RPG-based OS/400 applications to more modern object-oriented languages, such as Java and C++, without rewriting their applications from scratch, which is time-consuming and expensive. The unique nature of RPG often makes migrations an onerous project, but with a set of templates in the object-oriented language that mimic the functions of RPG, ASC says, RIO typically converts about 95 percent of the RPG code on its own, leaving the rest to be hand-coded. CL programs present the biggest headaches, Wilson says.
Until this release, independent software vendors had shown the most interest in RIO's Java-generation capability, largely because of Java's cross-platform portability, Wilson says. While RIO has an interface solution for Java, its C++ capabilities were limited by not being able to generate a user interface, which meant that RIO was only useful for converting batch RPG programs to C++. Now that RIO can convert RPG code into Microsoft's strategic C# language, a broader range of companies will likely find more use for the converter, Wilson says.
"If somebody wanted to go to Windows, C# was the obvious choice," Wilson says. "You might ask, 'Why would anybody want to go to C# on Windows?' Because Microsoft has already developed a standard, ADO, for working with database products like SQL Server or Oracle. When you go to Java, there are all sorts of databases you can work with, but there are few standards in that universe. The choice ultimately depends on customer preference: the openness of Java versus the optimized .NET environment."
Along with the capability to generate C# source code from RPG source code, RIO 5.4 has support for converting RPG display files into XML and XSL. With the user interface screens converted into XML, it's a relatively simple matter to serve that XML from a Web server to any standard Web browser. Additionally, it allows anybody with simple Web page development skills to customize the GUI and the screen flow using cascading style sheets, and even to group items that previously spanned several screens onto a single screen.
ASC developed RIO's new XML/XSL capability hand in hand with its new C# generation capability, but users converting RPG to Java also will be able to generate XML-based browser screens. This is a change from previous releases, in which RIO used IBM's WebFacing Tool to generate JavaServer Pages (JSP) for the interface component of new Java applications. With XML/XSL support, RIO offers user another interface option.
ASC also will be offering the XML/XSL generation capability in a new upcoming product called RIObravo. This product, scheduled to ship in June, will appeal to OS/400 shops that want to keep their RPG applications running on AS/400 or iSeries servers but want to replace their 5250 green-screen interfaces with Web interfaces. With a starting price of $5,000 and no per-user fees, it should be on the list of WebFacing tools to check out, for OS/400 shops and independent software vendors alike.
As for RPG code converters that support C# and Java, there is only one name on the list, and that is RIO. Wilson says that ASC spent much of last year educating users about code migration projects, and now it has a solid pipeline of prospects. The biggest problem is that people are often in a big hurry to begin converting their RPG code to Java, he says. Before they start churning out Java or C#, however, it's best to do a thorough internal assessment of the project, he says.
This assessment has several stages, Wilson says. First, they need to take an inventory of their RPG applications, and what those applications do from a business process perspective. Next, their Java or C# programmers need to estimate how long it would take them to rewrite the code from scratch, and then decide how valuable their business logic really is to their organization. "They need to devote more time to the discovery process," Wilson says. "They've already come to the decision that they want to move to Java or C#, but it's best if our customers determine their own resource cost of doing this project without RIO before we can assist them."
RIO Version 5.4 is available now. Pricing starts at $20,000. For more information, go to www.asc-iseries.com.