Code-converting options modernize internal structure
The inherent problem is that the applications are written in older architecture. But is it important to change them now? The Hippocratic Oath states, "First do no harm," and we should follow the same code of conduct. This is because most of us aren't trying to drum up work; we're trying to make sure the applications survive the next few years.
Working on really old code can be more problematic. A quick remedy might be to use conversion software to jump from older RPG to the latest version. Using the latest version gives you a quick technology boost, but do so only if you've adopted strict standards that outline where your code should be. Another useful method is always to run programs through the conversion process before modifying a program. Further, always run from RPG X to RPG IV first. This way, modernizing your applications won't upset the apple cart too much.
Right now, the code-converting options include third-party tools, such as Linoma's RPG Toolbox for RPG III to RPG IV or ILE RPG. But you can also use Convert RPG Source, or CVTRPGSRC, which is built into the system, for a lot of basic conversion tasks.
Does your system need modern RPG?
Play with the conversion software settings to get the right mix in your environment. Remember, the more complex RPG II software may not automatically become 100% modern without additional programming, because there were no subfiles prior to RPG III. You won't need the older compilers that may not be supported on your system.
Do you need the more modern RPG? For more advanced programming that requires using the embedded C API routines, IBM also has support for even more modern programming with the free-form version of RPG. It's worth restating that you shouldn't convert for the sake of converting to prevent causing more harm in the process.
Screen scraping tools modernize the user experience
So now we cleaned up our insides for company, how do users perceive your applications? There are many paths you can follow. But let's start with the quickest, slightly less flexible and work our ways toward full-client/server, which may be browser based. After all, no one has used DOS in 20 years. Man cannot live by keyboard alone. As much as the speed for "entry" is faster in green screen, the training speed for PCs wins hands down, because users are more familiar with this technology.
First, let's analyze if it's possible to use "screen scraping" in your environment. Screen scraping is where a server component runs and simulates the accessing of your software through standard 5250 emulation using whatever method content is delivered to your screen via client, such as a browser. The functionality is exactly the same no matter how you use the modern, more accepted point and click.
These systems allow you to combine several back-end screens using compilers and a macro-language to place an F4 selection list into, say, a pull-down menu on a browser screen. You're not re-doing your business rules but simply putting lipstick on a pig. But these kinds of changes give you the quickest bang for the buck in terms of productivity, because you're translating existing application into an easier-to-swallow interface.
In many cases, you may use an application "client." But many of these systems use browsers to access the back end, including IBM's WebSphere Host On-Demand. You can get a flavor of this using Client Access for Web (see my prior article on how to set this up on your system).
Web-based options: A kick on the back end
Screen scraping is only the first flavor. You should also consider creating a Web-based software package for back-end systems to access. I like browsers as a client, because they are now standardized to a degree that you can test the more popular versions and ensure that all the software works.
You can also develop using Microsoft .NET. IBM supplies wizards inside i5 Access software to connect your i5 systems to the .NET or VB environment quite easily. This means that anything .NET can do, i5 can do as well. Want a website using ASPX (.NET asp)? That's available too. This is very fast. Years ago, IBM nicknamed this "Project Lightning," which, to use a technical explanation, is "smokin' fast!"
Some neat things are built into i5, such as the ability to run a partition as AIX or Linux. Using these partitions may seem like putting your eggs into one basket, but you may need the speed that same-system data access can give you.
More i5 modernization tools
You can also use the i5 for Client Server for Web applications. There are many ways to access data and applications on your system. I'll list them here in ascending order of expense:
- Net.Data (still supported by IBM). This free technology supplied with all i5/OS systems is a quick Web development environment in which to create Web-based applications quickly.
- CGIDEV2. This is the RPG development environment. These tools were developed by G.B. Perotti using the standard APIs supplied by IBM.
- Apache Tomcat (built in). This can run JSP or JavaServer Pages. All systems with Apache contain this technology. If it runs on Tomcat elsewhere, it'll run i5.
- PHP for i5/OS (Zend Core is free). This is one of the most popular programming languages on the Internet. With PHP, you can produce fantastic results, and the execution speed is exceptional.
- WebSphere. This is the first technology with a price tag on developer seats and on server licenses. With WebSphere, consider your steps toward modernization wisely; it may still be more time efficient to develop your own approach.
Remember, i5 can do quite a bit. The first step should be to decide whether you need to modernize. If you do, properly calculate the return on your investment. There are many factors that make more worthwhile than waiting.
Second, get management on board by appealing to reason and logic. Let management know that its return on modernization technology investment is the speed that users become familiar with the new, easier-to-use software. Making the case helps management to support the effort and add to the rewards. Since the user environment is so enhanced, it makes users' lives are easier -- as well as your own.
ABOUT THE AUTHOR: Andrew Borts is webmaster at United Auto Insurance Group in North Miami, Fla. He is a frequent speaker at COMMON and is past president of The Southern National Users Group, an iSeries-AS/400 user group based in Deerfield Beach, Fla.
This was first published in February 2008