Professional Paths RPG A.J. (After Java)

  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Revolutions are rare in the AS/400 world. But now Java, in combination with the Web, has caused, if not a revolution, at least a major civil disturbance. Make no mistake. Midrange computing in the new millennium will be completely different. And with any revolution, there are casualties. When new technologies come of age, older technologies phase out. The tough thing is to anticipate which areas will be impacted and by how much. What will happen to RPG in the wake of Java? Interestingly, the things most quickly and significantly impacted are not always what you might expect.

Primary and Secondary Effects

Changes have both primary and secondary effects. The oil shortages of the ’70s had a primary effect of higher gasoline prices, decimating the large-engine market. A secondary effect was that automobile manufacturers no longer needed the muscle-car designers. But examine those two effects closely. While large engines were eliminated from the new models, demand still existed for those engines and replacement parts; manufacturers had time to retool. Even as big engines phased out, there was an increased, albeit temporary, demand for those engines and the mechanics who worked on them. However, designers had to immediately either change their design philosophies or their careers. The secondary effect was more turbulent than the primary effect.

Shifting Focus

I envision a similar path for AS/400 computing. The existing base of installed AS/400 applications will continue to demand RPG programmers well into the next decade. As major software vendors begin to retool their factories, there will actually be an expanded opportunity to provide RPG services to the clients who like their current systems. However, this work is finite, and anyone with plans beyond the next five years better begin planning their Java migration strategy today.

The software developers will feel the quickest impact. The development cycle that works with monolithic RPG systems will become obsolete, as will the management layer that depends on it. The complexities of distributed program models will quickly overwhelm the tools that could once handle hundreds of RPG programmers. Old packaging and pricing techniques will be replaced by new deployment strategies. For managers, the ability to

follow an established product development cycle will become less important than the ability to coordinate the efforts of different employees, from legacy business logic developers to unconventionally creative graphics designers. Add to that the ability to deliver consistently in an ever-changing technology, and you’ll find that product development will more closely resemble rapid application design than the top-down design effort that we are all used to.

Teaching the Old RPG Dog Some New Tricks

That isn’t to say that there will be no RPG development. On the AS/400, RPG is still the best language for transactional business applications. Until JDBC can navigate complex hierarchies as quickly as DB2/400, servers will still be written in RPG. Granted, these servers will need to function within an object architecture—well-defined servers with consistent APIs that hide the implementation details—but that’s a direction we’ve needed to go anyway.

What’s an RPG Programmer to Do?

Essentially, what RPG programmers should do about the Java revolution depends on what they want to do. If maintaining existing systems for the next several years is acceptable, then I see no real need to force either Java or OO. Remember, there are S/36s still being maintained today. If you want to focus on new development or if your career plans extend beyond a few years, you need to learn object architecture and how to write small, modular programs that perform discrete, well-defined functions. Java programming is an excellent way to do that. Learn about client/server and browser-based applications, the models for how workstations will communicate with the AS/400. Finally, if you want to design or manage new systems, you must learn about Java, JavaServer Pages (JSP), client/server, WebSphere, and many other software technologies, some of which aren’t defined clearly yet.

The Java revolution is in progress. It’s up to you: Keep working on that ’57 Chevy or move on to the new models.