Running in Place?

Article ID: 21135

In the population of RPG programmers, I perceive trends that, if not actually steps backward, are akin to jogging in place. One practice that's going strong is the attempt to use RPG to do, well, everything. With API calls here, C function invocations there, some bubble gum, and some bailing wire, RPG does it all! Wow, what a waste. If that time, effort, and creativity were applied to solving a business problem instead of writing, say, TCP socket utilities and a parser for HTTP, think how much more value would be added to the enterprise.

With enough effort, RPG can do pretty much everything, but using it that way is like forcing a square peg into a round hole. With a big enough hammer, you might get that sucker in there, but using the round peg would be a lot easier. Today's technology world calls for more than just RPG to create world-class applications. People hanging on to an "RPG and RPG alone" mentality need to realize this and expand their capabilities.

A longtime RPG programmer myself, I added Java to my skill set 10 years ago. Java programming lets me almost effortlessly transcend platforms. I can concentrate on solving business problems and create solutions on the desktop, on wireless devices, on the web, and on the System i. (Often, RPG has a role to play too, especially when legacy code is involved.) The freedom to deliver solutions on any platform or combination of platforms means that I can provide applications that exceed my customers' expectations. With properly engineered solutions, I achieve more leverage with every project so that as I do more and more for the business, and I still meet time expectations.

Has interest in Java on the System i dropped off dramatically in the past 12 to 18 months? I think so. Is it because we (the System i faithful) all speak Java now and therefore take Java for granted? No, I think the waning interest is explained by the letters P, H, and P. What I'm hearing from many in the System i community is along the lines of, "Thank goodness for PHP on the System i! Now I don't have to learn Java!"

Friends tell me stories of how they have written web apps using PHP and how everything just came together, whizbang, in no time, and now they have real web apps running on their System i. When I probe these success stories, however, I hear things that make me cringe. I ask about security and, more often than not, there isn't any. I ask questions about overall architecture, looking for high availability through clustering and the like. It isn't there. I ask about design elements that would contribute to scalability and component reuse. These considerations are not reflected in their solutions.

PHP has lowered the bar on web development for System i developers, but it has also put the businesses that they support at risk. It is easy to put together a web application that manipulates your business data, but will that application meet your business's needs — big-picture needs, such as scalability — next month, next year? When you engineer a PHP app that is robust, scalable, and secure, you have to clear the same hurdles that are there when you create that same app with Java.

I use PHP for one purpose: porting or extending an open-source solution to my System i to meet a specific business need. I remain convinced that Java (specifically, Java EE in combination with widely accepted frameworks) is the way to go for mission-critical web development in which a System i is a part of the solution. I've seen it work on a small scale and in large enterprises. It works on Internet-facing commerce sites and in the traditional domain of our beloved RPG, the back office. Moreover, with this approach, all the elements are in place for scalable solutions with high availability.

When I read this kind of opinion flinging from others, it often seems like nothing more than prejudice — the Java camp versus the PHP camp, and so forth. I might be guilty of such prejudice to a certain degree, but my motives in writing this piece run deeper than that. Last year, I was the victim of a corporate consolidation. The bigger fish that swallowed us heavily outsources its IT, with more and more of that outsourcing going offshore. My "it could never happen here" attitude quickly changed to "it did happen here, and I am out of work."

I don't care if you learn PHP. Go for it! But don't stop there. To be really marketable, you need more than RPG and PHP skills. Secure, reliable, scalable architectures require enterprise technologies such as Java EE. When the skill set on your résumé illustrates that you understand this, you are then truly marketable. Or you can look at it this way: Continually increasing your programming abilities helps your current company, and doing so is your best insurance policy in an increasingly uncertain IT world.

Dan Darnell is the author of the book Java and the AS/400, 2nd Edition: Practical Examples for the iSeries and AS/400 (published by 29th Street Press), and an independent consultant in Little Rock, Arkansas. You can flame Dan at dandarnellstinks@sbcglobal.net. These items are specially routed to a high-priority folder (aka Deleted Items). Accolades and book inquiries are welcome at dan.darnell@sbcglobal.net.

ProVIP Sponsors

ProVIP Sponsors