21
Sat, Dec
3 New Articles

RPG and DB2: The Future Is Now (Part II)

RPG
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times
In my previous article on this topic, I explained why the best combination for programming business rules is RPG and DB2. I debunked the four Ps of the naysayers: performance, productivity, platform independence, and programmers. In so doing, I clearly outlined why there is a strong and vibrant group in the iSeries community that believes in RPG and DB2. However, the vocal minority still insists that we're whistling past the graveyard. Moreover, they insist that IBM shares their view. In this article, I'll show you why that just isn't true. I'll cover the following:
  • RPG
  • ILE
  • Native I/O
  • The Developer Roadmap
  • The iSeries/i5
  • IBM

 

RPG

RPG has a long history. In fact, it's one of the oldest programming languages, having recently celebrated its 40th birthday. This in itself is enough to get a lot of grief from a certain segment of the population, primarily the folks who insist that new is good and old is awful. I find that argument a little frivolous, since many of the "new" languages can trace their origins back to C, not exactly a spring chicken of programming. If you use curly braces or semicolons in your development, you're probably using one of C's descendants.

That's not to say that there haven't been significant improvements as the new languages have been developed. But the same can be said for RPG, except that the name hasn't changed. And interestingly enough, that lack of a name change may be one of the biggest problems for RPG, at least from a standpoint of perception among nonprogrammers. One client of mine noted half-jokingly that in order to sell an RPG-based solution to management, he may just use the term "ILE" and drop RPG altogether. And given the state of the language today, that's not a bad idea.

Some claim that RPG is a dead language, but nothing could be further from the truth. In fact, RPG has had more enhancements in the last five or six years than perhaps any other language--I'm talking about fundamental, paradigm-changing enhancements that push the language into the next generation. 1998 was a banner year for RPG, with the introduction of RPG IV and ILE. The addition of the subprocedure was a monumental shift, as was the concept of the service program. RPG antagonists quickly point out that such language features were a long time in coming, but that's not the point. The point is that the features were added--and with more functionality than their C-based counterparts (automatic parameter conversions are just one example). And IBM continues to add well-thought-out, often brilliantly implemented features that make programmers more productive.

I may not always agree with the compiler team, but one thing can be said: They don't do things without a lot of foresight. I may not agree with their vision, but I can rarely fault their execution. But more importantly, just the fact that so much development has been done obliterates the idea that IBM considers the language dead. IBM has spent more money on RPG and its free-form variant than any reasonable person could possibly expect a company to spend on a "dead" language. Look at how long it has taken to get some small features added to Java, like generics. In the same time frame, RPG got subprocedures and free-form syntax.

ILE

Here's another area that completely contradicts the idea that IBM considers the iSeries, RPG, and OS/400 dead (regardless of their marketing names). ILE is perhaps one of the most complete and fundamental underlying changes to a development environment ever attempted. The .NET folks insist that Microsoft has done just as well if not better, but there's one overriding difference: You can't move legacy Microsoft applications (something of an oxymoron, but you get the idea) to .NET; just ask the Visual Basic folks. Once again, the IBM teams did it right, and RPG programs move quickly and quietly from OPM to ILE with barely a whimper. Heck, you can run OPM and ILE together in the same environment, albeit with some common-sense caveats. It is this attention to asset retention that makes the iSeries such a powerful platform. Of course, that's also a problem for the people who make money from constant rewrites, which is something I'll address a little later.

Native I/O

Here, unfortunately, my view is less optimistic. It's not that IBM is abandoning native I/O, but there is a lot more focus on SQL. Of course, based on my benchmarks (see the IAAI Web site), improvement is necessary. At the same time, some of the new features being added to the database are skewed toward SQL use. For example, things like identity columns and encrypted data are pretty much reserved for SQL.

In fact, two different wars are being waged here. The first is the battle of DDL vs. DDS, which is a little like RPG vs. COBOL. Both are excellent ways of getting things done, and which one you choose is really a business decision based on the features you need. If you want a logical file that provides both selection and ordering of records, DDS is the way to go. If you need SQL-specific functions such as identity columns, only DDL will do. And the two can coincide quite nicely. I think it's sad that the features being added to DDL aren't being incorporated into DDS as well, but there are only so many development dollars to spend, and IBM seems to have made its decision.

The bigger issue is native I/O using standard RPG opcodes like CHAIN and READE (and their COBOL counterparts). Some of the features in DDL-defined files just aren't available to native I/O. For example, as far as I know, encrypted fields can't be accessed via native I/O operations. If this trend continues, it's going to be a real problem for RPG programmers. Not that we won't be able to get around it--we can use embedded SQL and move SQL-specific information into separate tables and access them via subprocedures--but I think this widening schism between SQL and native I/O is a problem. Until I can select or update a single record as fast with SQL as I can with native I/O, I don't want to see SQL get extra features.

Frankly, I think some of the features added to SQL are simply there to override architectural deficiencies in the design and to make SQL the de facto standard for inter-machine communication. This is a misuse of the tool, in my opinion. What we need is a simple, collapsible message transport mechanism (by collapsible, I mean one that can use a verbose XML-like interaction for initial communications but can "collapse" to a leaner mechanism if the two sides agree) for program-to-program calls; then, we can let SQL just be the query tool it was designed to be.

The Developer Roadmap

If there's been a more misunderstood document than IBM's Developer Roadmap, I'm not sure what it is. I've taken the time to talk to both Greg Hurlebaus, the author of the roadmap, and Doug Fulmer, its primary proselytizer, and they both clearly agree that the idea behind the roadmap is not that all iSeries systems should be converted to Java and SQL with all programmers burning their RPG books.

The Roadmap was supposed to be a sort of guide to the various destinations available to iSeries developers. It was meant to show the breadth of possible configurations for systems development--from pure legacy all the way to pure open, with a wide variety of waypoints in between. It was not meant to indicate that pure Java development is the nirvana of application development that everyone should strive toward. There are any number of possible architectural approaches--using various combinations of technologies--that are perfectly viable destinations, based on your business needs. The idea that one size fits all was never the intent of the Roadmap, at least according to the folks closest to it.

The problem is that this is not a clear message from IBM: Some people inside IBM, especially outside the iSeries group, have gotten the idea that the combination of Java and Linux and SQL is The Best Answer For Everything. It's unclear to me how people with responsible positions in a computer corporation could get this idea; it reminds me of the grand move toward Unix and SQL that bankrupted SSA in the '90s: a technological decision made by executives over the clear objection of the technical management who knew better. The IBM powers that be might want to study the history of SSA; "those who don't learn are doomed to repeat" bears attention.

The iSeries/i5

What about the platform itself? If anything points to IBM's tacit acceptance of the strategic nature of the iSeries, it is the fact that it and the operating system are continually being renamed. This is purely a marketing issue, and IBM wouldn't waste its money on a horse it doesn't plan to keep in the stable.

In fact, the continued rebranding is simply a way to counter one of the most tired yet still effective complaints about the iSeries, namely its "proprietary" nature. By now, anybody who looks at it objectively has to realize that the iSeries is now the most open platform available, combining multiple languages and even operating systems, even as Windows becomes more proprietary; witness the removal of Java from the Windows platform. And while someone (who shall remain nameless) remarked that the iSeries has more names than Liz Taylor, it indicates to me that IBM is committed to the platform and the OS for the long haul.

How long that haul will actually be is an issue that remains to be seen, and I'll touch on that again near the end of this article. Once again, the mixed signals send unclear messages.

The single most positive indicator of IBM's commitment, however, is the recent appointment of Mike Borman as the new iSeries GM. While I don't have anything negative to say about Al Zollar, I remember being a bit distressed when I read his comments that there would never be an iSeries TV ad. And while we're not inundated with iSeries ads, the few we've seen certainly indicate forward movement. But more important is that Borman comes from a $30 billion operating unit (that's billion with a "b"). From all accounts, he was quite successful running that unit; it seems unreasonable to think he was put in charge of a platform that was going away anytime soon. However, we all need to wait and see what Borman's ideas are before we pass judgment on this particular move.

IBM, the Great Miscommunicator

Those of us who use the box are hard-pressed to understand why nobody else understands it. It's as if powerful forces are conspiring to hide the iSeries from sight, using it only to keep a few recalcitrant ERP customers from revolting. And while that's certainly not true, there are some reasons that the system doesn't get the recognition it deserves.

What are the forces that align against the iSeries and the common-sense acceptance of the native tools that make the box the powerhouse that it is? Well, they're twofold.

First is IBM's juggernaut toward Java and SQL. I'm not sure who thinks this is a good idea, but apparently some people believe that developing one set of source code that generates code on every platform is a good thing. This is silly, of course. Code that runs everywhere typically runs poorly everywhere. You shouldn't use COBOL to write an operating system, you shouldn't use C to write an ERP system, and you sure shouldn't use Java to write business logic. The only winners in that scenario are the ISV who wants to write code for every platform and the hardware vendor who wants to sell lots of hardware. The end user gets saddled with bloatware that requires extra hardware just to run normally. Microsoft is a perfect example of the idea that bloat is OK. I have clients who need more memory and disk space on their laptops than on their iSeries.

Besides which, IBM has been out of the application software development arena for a while now. So why does IBM think it knows how to write business applications better than its customers do? If IBM were still supporting MAPICS, I might have more faith, but some of the tooling decisions make it seem that IBM has lost touch with the needs of its customers. I have to take IBM's view of the "future of application development" with a grain of salt. Tools, operating systems, languages--those IBM has down cold. Application programming? No offense, but let me do my own, thank you.

A second issue is the fact that the iSeries just doesn't make much money for other parts of IBM. WebSphere and DB2 are bundled in, and my guess is that not much iSeries revenue goes to those folks. Some dollars do go to IBM's Software Group for WDSc licenses and the like, further reducing perceived iSeries profits, but I'm sure it's not enough in the minds of SWG. Personally, I'd like to see a nice chunk of the iSeries sales--and even more importantly, the support costs--go to the WebSphere and DB2 folks, if they'd just stop treating the iSeries like the enemy. Think about it: The majority of support calls these days are not on RPG; they're on WebSphere Application Server and WDSC. And if they are on RPG, they're on embedded SQL. Since support is bundled in, why not direct some of that money toward the other groups and keep them happy? Yes, that would be less money for iSeries development, but we could offset that with more sales if IBM would just market the box appropriately.

In fact, that might also address one of the more recent complaints: that iSeries profits aren't what they were in "the old days." I'd like to see profits compared to revenue along the business units and see how the iSeries does. My guess is the iSeries stacks up pretty well there, which would mean that, dollar for dollar, selling more iSeries would be better than selling other stuff. But evidently that basic concept, like the concept of TCO, is no longer heeded at the executive level. But if IBM were to beef up sales of the iSeries, profits would jump as well. That would sure beat trying to do it a nickel at a time with the low-end boxes or all at one shot with the zSeries.

What Do I Want to See?

Recently, I happened to talk to Kelly Schmotzer, and she asked me this very question. That got me thinking about what I want not only from IBM but from our community as a whole.

What I want to see first and foremost is an end to the idea that Java and Linux are the answer to everything and that SQL is a good replacement for native I/O. The numbers clearly show that this is not the case, and the truth is that it does not make sense to have to buy triple the hardware to get the same performance just because my ISV doesn't want to support multiple code bases. The idea that Java will someday be a good language for business development is pure wishful thinking; unless you can show me an MRP generation written in Java, you're trying to sell me snake oil.

I want our community to stand up and tell IBM that we aren't giving up our iSeries or our RPG anytime soon. We're not anti-Java or anti-SQL or really anti-anything (except maybe Windows server farms); we just want to be able to decide our own future based on our own expertise and our own knowledge of our business.

Notice the use of the word "our." Here's where IBM is missing the boat, I think. What I want from IBM is options. I don't want to be sold their vision of the future; I want to be able to use the best tools to solve my business problems today. I know what tools I need, and I want IBM to make them available to me. This may well include Java and SQL, but only where I deem it necessary.

What I really want is a set of preconfigured systems, like high-end entertainment centers. I can pick the business logic server and the Web application server and the file server and the mail server and the desktop OS and the firewall, and I can configure them however I want, inside or outside my DMZ. I want to see maybe a dozen "standard" configurations, ranging from a zSeries solution to an xSeries blade farm, with starting costs and projections of yearly costs, including support and staffing. And I want several of those configurations to be iSeries-centric, with an iSeries as the central business processing unit. Options could be Linux or Windows desktops and onboard or standalone Web servers. My guess is that based on TCO, the iSeries would be a very popular package. There could be "boxed sets" of standard software and even consulting from BPs ("includes 400 hours of customization!"). Training packages. The whole nine yards.

Heck, IBM could even include Java-centric shrink-wrapped solutions that scale up from xSeries to zSeries as your business grows. But let's not make that the only option.
What I need most from IBM is choice. And I don't mean the choice of which hardware to run Linux on.

Joe Pluta is the founder and chief architect of Pluta Brothers Design, Inc. He has been working in the field since the late 1970s and has made a career of extending the IBM midrange, starting back in the days of the IBM System/3. Joe has used WebSphere extensively, especially as the base for PSC/400, the only product that can move your legacy systems to the Web using simple green-screen commands. Joe is also the author of E-Deployment: The Fastest Path to the Web and Eclipse: Step by Step, with WDSC: Step by Step coming out in just a couple of weeks. You can reach him at This email address is being protected from spambots. You need JavaScript enabled to view it..

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: