Glass i: Windows RPG for $50, 25 Users for $250
June 7, 2010 Hesh Wiener
The cost of business computing hasn’t fallen the way the cost of hardware has. The excuse is that a modern computer system does much more than data processing. But what if you only need the basics? What if you only want to write and run RPG programs? It turns out you can get this capability with a 50-dollar RPG package for Windows that will run on any Windows XP box. And if you want a centralized RPG system with 25 seats, you can get it for $250 plus the cost of the hardware. Here’s how to do it.
The thing you need to do first is get in touch with Steve Curless, who does business as WinRPG Programmers and who sells a product called WinRPG. You can download a working package from the WinRPG Web site and run it free for 15 days. It will work on an Windows XP, Windows Vista, or Windows 7 so long as it has the .NET 2.0 or higher runtime and the Office database engine from Microsoft. The Web site has links to help you get free downloads of the Microsoft components plus installation instructions so you can set up a single-user RPG system.
The RPG you end up with is an ILE RPG that does just about everything IBM‘s RPG setup for Power System i machines can do. And while you are on the WinRPG Web site, you can also download a System/36 RPG III system. That’s there for more than nostalgia. There are dozens of licensed users for that S/36 package, and as many of you know, S/36 programs have lived on for decades and probably will for many more.
Both the Power-i and S/36 versions of WinRPG are the full Monty. They include client as well as server software. In a single user installation, the client and server both reside on the user’s PC; the server is on localhost. If you have never run a client and server on the same box, it’s a breeze and Windows is built to allow this. The content management system where IT Jungle Web pages are created was developed on a PC configured to support both client and server roles; that’s the way it’s often done. (It is one of the few examples of Jungle editor-in-chief TPM actually doing some programming.) But with WinRPG, depending on the license you acquire, you are not confined to a one-box solution. The software will run on Windows Server 2003, Windows Server 2008, or Windows Server 2008 R2, which are the current releases supported by most ISVs. But you can support multiple users off a Windows XP PC, so don’t think you need a server. Users running Windows Vista or Windows 7 can run the package, but WinRPG suggests installing a folder other than Program Files to avoid annoyances.
The software comes out of the box set up to use the database engine that’s part of Microsoft Access, but it can be configured to use other databases. Specifically, the software can work via an ODBC connection with real DB2 for i databases or with open source databases like MySQL running on Linux systems. But the general tone and guidance provided on the WinRPG site and related sites (such as the forums on rpgiv.com) seem to suggest that a user ought to walk for a while before trying to run.
You can write code in this WinRPG system or bring it in from an AS/400, iSeries, or System i box and then make changes. When it has compiled successfully and survived testing in a Windows environment, you can move it back. It should work. Here and there a coder will run into some disparities, but Curless does not believe there are any big traps. One example arises when a coder embeds SQL in an RPG program. The IBM version of SQL is not entirely the same as the version that is understood by the Windows database engine. But once the Windows code works, a programmer should not have much trouble moving it to an i box, if that’s the system where it will ultimately be run in production.
To understand and appreciate the WinRPG system, a user might want to take a short walk through the history of the software. It began as a System/36-related product that ran under DOS on a PC. The software house that first sold the RPG compiler is Lattice, a firm that developed a C compiler for the original IBM PC. Lattice C caught on and was ported to many platforms, including the IBM mainframe. Microsoft licensed and resold Lattice C for a while.
The initial Lattice RPC compiler was a little short on features and Lattice turned to outside programmers to add functionality and also to modernize its package. The RPG system was at one point written in Visual Studio 6 (and later moved to Visual Studio .NET). Along the way, Lattice came to believe the market was too small or elusive for it to penetrate and it shed the product rather than invest in an upgrade from a DOS version to a Windows version. At the time, Windows RPG was seen as a way to beat the cost of an IBM System/36 RPG environment while maintaining familiarity and most of the functionality. That vision may still be true among the S/36 RPG diehards, but it’s not necessarily the case (yet) in AS/400-i country.
The code went first to software developer Paul Raulerson and later to Curless. Curless came into the RPG project to not only enrich and modernize the existing package, but also to add a Data File Utility or DFU, which the IBM systems had but the original Windows RPG system lacked. Curless also added a Programmer’s Development Menu (PDM) facility.
A programmer can, Curless says, bounce back and forth between the WinRPG package and a live i setup, but the process requires a bit of adaptation. Some of the difference is simply due to the way Windows screen colors appear and how they differ from the way colors are used in real IBM terminal applications (or via emulators and screen scrapers). WinRPG has tools and facilities that allow a user to control color mappings and so on, but the housekeeping takes time that only becomes de minimus if a user is going to put in a significant amount of effort working with both i and Windows systems. A prospective user won’t be driven away from transition issues, but it would be wise for anyone who wants to take advantage of WinRPG to figure that the new software will take a bit of getting used to.
On the other hand, the package is pretty light. It won’t take much server power to support it. So as an extreme example using a dedicated server to support a cluster of local and remote Windows users for development, testing, and production work would most likely be quite a bit less costly than buying a new (or used) IBM i. The software fees are miniscule. A single user license is $49. A multi-user license starts at $49 for 10 seats and then rises by $8 per seat. The ODBC/SQL interface package is another $89. A bundle including the base license, 10 extra seats and OCBC costs $139. The client side part of the cost can run on pretty much any Windows XP machine no matter how dinky; development and compilation won’t tax even the smallest Windows Server box and a small group of clients could share a non-server Windows XP box. Production could put the user into a slightly higher price bracket, but these days a small Windows Server machine with redundant terabyte disk space and a few gigs of memory costs no more than a couple middle-of-the-road PCs and a lot less than a fancy laptop.
One target application for WinRPG is training. Basically, it is RPG a company can afford to give to a new hire and also which, at a third the price of Student Office, even a student can afford. While WinRPG is a bit more Windows-like than a green screen, having mouse actions in some places where a green screen uses keystrokes, the difference is a small gap, not a chasm. The contrast can be kept pretty small; it’s down to a matter or programming style more than actual software limitations.
It is surprising that this software has remained so poorly known. IBM seems to be paying very little attention to it. And the two companies whose services and marketing groups ought to be studying WinRPG–Hewlett-Packard and Dell–seem to have other priorities.
Sure, there’s a lot of computing done on the IBM i that doesn’t revolve around RPG (or its costs), but when a system is used mainly for bookkeeping, RPG, and possibly WinRPG, remain important.