RPG Open Access Is No Panacea, Say BCD and LANSA
Published: April 26, 2010
by Dan Burger
For every up, there's a down. For every left, there's a right. Two people watch the same movie and one says it was everything I hoped it would be and more while the other says it's a poorly done remake of a movie from 10 years earlier. The just-released IBM i 7.1 operating system, and in particular the feature known as Open Access, already has prompted opinions about what it is and what it can do.
Not everyone thinks it's the greatest thing since Timex determined its watches could take a licking and keep on ticking.
Surprised? You shouldn't be. Differences of opinion among IBM i users grow faster than grass in late April.
Rational Open Access, RPG Edition, is the formal name of the new tool from IBM that is causing all the commotion, and you can get all the details (many of which are not in the IBM announcement letters) in our story from last week's issue of The Four Hundred. It is a tweaked version of the RPG compiler and runtime environment with a set of open APIs that allow companies to create custom data streams independent of 5250 green-screen protocol so that RPG applications can integrate with cross-platform screens and browsers.
A handful of IBM i software vendors have new applications available (or available soon) that make use of ROA. Last week in our Four Hundred Stuff newsletter there were two new product articles pertaining to open access: Profound Delivers First RPG Open Access Handler and RPG Open Access Spurs Development for looksoftware. VAI will announce a product based on Open Access soon. Other vendors will surely follow. I expect ISVs to be talking about this at the COMMON Annual Meeting and Expo in Orlando, Florida, which gets under way one week from today.
There's no question that Open Access can be used to extend RPG applications, giving it GUI capabilities and cross-platform integration. But there is discussion about whether it breaks any new ground in doing so or whether it becomes the automatic darling of the RPG set.
Shinning a light on that discussion are two well-known, IBM i application tool vendors: BCD and LANSA, competitors in the application development tools market but allied in their concern that ROA is being over-hyped. Both companies were in early confidential discussions with IBM during the development stages of ROA. Both declined to develop products using this technology. And, last week, both companies decided a joint press conference was necessary to explain their shared views on ROA.
So in an interview Thursday with IT Jungle, they delivered the message that both companies--independent of one another--came to the conclusion that ROA offered "no real practical use" to them because each company already possessed technologies and had products in the market that served the same purpose. That purpose, or list of objectives, includes opening the IBM i to browsers, mobile devices, and Web service consumers; support for native Web browser applications; and cross-platform integration.
And not too surprisingly, they both believe their technologies and methodologies are superior to the ROA path.
So with a flood of information on ROA coming from IBM and the vendors making use of it, this is a good time to hear what the other side has to say. For those making application development decisions based on their companies' current circumstances and future considerations, it makes sense to hear more than one point of view and then weigh the information according to their own business goals and IT objectives. Size 10 shoes don't fit everyone's feet.
"I don't think RPG OA is what people have been asking for," says Steve Gapp, president of LANSA USA. "It's a hybrid. It's certainly not a native GUI. If you view it as a means to modernization, I'm not sure it helps modernize existing code where you may or may not have access to the RPG, and it's going to be quite invasive anyway. Then if you view it as a mechanism for new application development, it would seem a bit of a reach to think you are going to take a part of using a display file as an intermediary device and get it down to the data, pay IBM some additional money and get your appropriate development tools for that situation, and then on top of that have to invest in one or more handlers from one or more ISVs to make it work. It seems you are putting a lot of complexity into it. In reality, if your problem is getting data in and out of RPG, there's always been easy ways to do that with data queues or CGI or whatever you choose. We see some good in any investment in RPG. But this doesn't fit the bill for what meets people's expectations."
Complexity is certainly an issue. It's paralyzed many companies when it comes to application modernization projects as they struggle to make the best use of their existing application portfolios while working through integration issues. It's such a big issue that nearly every solution includes a pitch about reduced complexity. And every vendor is going to talk about gentler learning curves and how an RPG programmer takes to their product like a duck takes to water.
BCD and LANSA believe complexity is reduced when developers are shielded from dealing with interface specifications and switching to an alternative interface such as the one offered by Rational Open Access is reinventing the wheel for them. And as they examine the wheel, it doesn't roll true.
IBM should have designed ROA so changes could be made to the back of a program without having to actually change the source code and recompile it, says Duncan Kenzie, president of ESDI and chief technology officer of BCD.
"But what IBM made you do instead is go in and actually change source code," Kenzie says. "Even if you might only have to add a few statements that call a handler, you still have the problem of maintaining two separate copies of source code--one for the green-screen application and one for whatever it is that you are pushing out. And you have to recompile that code. It's not just a case of flipping a switch and having it work. You have to change source code and maintain it."
In a joint statement, the two companies say their technologies, which have been in the market for many years, opened the AS/400, iSeries, and Power Systems platforms to a variety of clients and offer proven solutions to support the development of native Web browser applications. Their Web integration of choice does not require ROA and the creation of handlers--the data streams that use RPG interfaces--that require IBM i 6.1 or newer versions of the operating system.
Another factor to take into account is how to deal with RPG integration to mobile devices and a stateless environment. Traditional green-screen applications are stateful. They have to maintain state between the user on the green-screen session and the program running in the background. A traditional interactive RPG program generally doesn't have to worry about disconnecting from its resources or about the user doing things outside of its control. Web applications are designed to be stateless.
"So when you have an execute format, you are waiting for a response from the user," Kenzie says. "Web applications--whether they are Web services, browser apps, or mobile apps--are not stateful. They are written differently. So the notion that you can plug a single command and have everything work differently is ridiculous. Handlers can't do anything about whether the conversation is stateful or not. You have to rewrite all your code to make it stateless."
Mention something like "rewrite all your code" and people start to squirm in their seats. That's like the king of complexity issues and carries the weight of a lot of time and expense. Words like "all" and "none" and "never" are often over-used, in my opinion. But that's just me. I will almost always put the word "almost" in front of those.
According to the BCD and LANSA written statement, ROA "cannot be applied to existing programs without having to modify them, and depend on both a new interface from IBM and a third-party 'handler.' This code-invasive approach means that you have to either write a program completely from scratch, or inject pieces of new code into existing code to make it work."
What other wedges are between the two ISVs and ROA?
Getting around the traditional 5250 native output can instigate a hotly contested discussion. The question that might draw blood first is how inhibiting is it? ROA presents a way to replace it with a newly created data stream. LANSA and BCD say there's no point to that and no difference in the end.
"If someone can give one example of something you can do that in the real world you actually need to do, that we can't do with a 5250, we would be on it like a shot," says LANSA's chief operating officer, Martin Fincham. "The point is it doesn't do anything new or valuable, therefore, it's not a good thing or a bad thing. It's a nothing. What do you need to do that the 5250 restriction is preventing you from doing? One example I have heard is, 'What if I need to get 1,000 records of data? I don't want to page through that at 1920 bytes at a time.' We say, 'Of course you don't. But that's called a database query.' If you need large sets of data, you do it from the database. You don't write a program."
"Keep in mind that both BCD and LANSA were involved in the complete discussions" [during the development of Rational Open Access, RPG Edition], says Eric Figura, director of sales and marketing for BCD. "We had the full take on this, on what it did, how it did it, and what the objectives were. We are both progressive companies. If we saw an opportunity here, we'd be all over it."
OK. LANSA and BCD have made their points. They've answered some potential questions about why they are not involved in RPG Open Access and brought up some issues that, beyond a shadow of a doubt, will instigate more "anything you can do, I can do better" debates. But as Fincham says, "Open Access has been billed as a panacea and it's barely the tip of an iceberg. That can be real dangerous when people don't understand what Open Access can or can't do for them."
Sorting through information to find the facts that apply to each individual circumstance can be a bear. But you'll never find the answers if you don't ask the questions. I predict this on-going saga will be continued in the future.
RPG Gets Custom Data Streams with Open Access
The Possibilities for Open Access for RPG
Profound Delivers First RPG Open Access 'Handler'
RPG Open Access Spurs Development for looksoftware
IBM Officially Announces i/OS 7.1
How To Match Modernization Projects and Business Strategy
Post this story to del.icio.us
Post this story to Digg
Post this story to Slashdot