RPG OA: Open Opportunity, Open To Interpretation
January 27, 2014 Dan Burger
If Tim Rowe, the business architect for application development at IBM, had one wish it might be that application modernization would flourish in the IBM i community. Last week, he was the guest speaker at OCEAN user group meeting in Orange County, California. He agreed to talk with me on the topic of RPG Open Access, a technology that was introduced with much fanfare with the IBM i 7.1 release of the operating system. That was in 2010.
Rowe is a vocal proponent of modernizing RPG applications. He believes RPG OA will play an important role in application modernization and surmises that four years after its introduction RPG OA is beginning to hit its stride. That view is based almost entirely on the impetus of two independent software vendors (ISVs) that took interest in RPG OA from the beginning and have actively worked with RPG OA with the goal of introducing new products that execute and actualize RPG OA technology.
Although there are ISVs using RPG OA for different purposes, helping RPG developers transform green-screen applications into browser-based, Web and mobile applications is the center of the RPG OA universe. Mobilizing IBM i shops to take on application modernization gets Rowe excited. He believes RPG OA technology is underexposed as a modernization option–another one of IBM’s best kept secrets, along with the IBM i platform in general.
“The ISVs that are making a difference in their marketplace are Profound Logic and looksoftware,” Rowe says. “As opposed to having just screen-scraping capability, they can actually get down to the RPG level in applications and control the UI (user interface) completely. Leveraging that technology allows RPG programmers to use their RPG skills to create modern user interfaces on existing RPG programs and create new Web- and mobile-ready RPG apps.”
There are other software vendors that have also incorporated RPG OA into their products. ASNA and Rocket Software have also chosen it for its user interface capabilities and Rowe says he knows of several IBM i shops that have written their own handlers. A “handler” is RPG OA terminology for a program that allows RPG to communicate (via the DDS I/O buffer of RPG) with resources and devices that were prohibited by the DDS limitations in the past. Any I/O operation within RPG can be sent to an RPG OA handler as opposed to being sent to the operating system.
Writing a handler program that interfaces with user interface technology is not a common undertaking for IBM i shops. And only a few ISVs are skilled in such matters.
The IBM Lab Services organization also has written several handlers. One is used in database modernization projects to leverage SQL without writing huge chunks of RPG.
RJS Software is another IBM i ISV that has written a handler that allows RPG to do database reads and writes to databases other than DB2. It is not a generally available product, however.
Much of this is not news. It’s indicative of the go-to-market road that enterprise technology sometimes travels: Products that have been tested in the field, run hard and put away wet, and improved.
In 2011, looksoftware introduced RPG OA capabilities to the backend of its product line before rolling it out on the deployment product side, which began with a new design tool. Earlier this month, the company added the capability to bypass the DDS constraint when creating a graphical user interface. The evolving process allowed looksoftware to see where things work and where there were struggles. It is a constantly evolving process, with all the pieces now in place.
Profound was the first company to bring an RPG OA product to the IBM i market. Its DDS conversion tool became part of that company’s suite of application development tools in 2011. The progression of product enhancements has also been accomplished at a brisk and impressive pace. Profound also incorporated open source code and an open source interface framework along the way.
Both companies have the same goal of simplifying modern Web and mobile development and keeping control of that development in the hands of RPG developers using RPG skills.
As it made headway incorporating RPG OA into its products, looksoftware initiated the Open Access Metadata Open Standard (OAMOS). The standard took the architectural approach that looksoftware thought was best, but that differs from the architecture that Profound uses. A disagreement over this standard has ensued between looksoftware and Profound.
“The standard was devised around the idea of creating a sound architecture,” says Eamon Musallam, product marketing manager for looksoftware. “XML was chosen as an integral part of the architecture. It was proposed to IBM with Tim Rowe and Barbara Morris as the touch points and it was determined to be a good thing.”
“We think that storing things in an external file (XML) is a disadvantage,” says Alex Roytman, CEO and a lead developer at Profound. “The XML standard (OAMOS) does not put things into the standard display files that RPG programmers are accustom to using.”
There is a difference of opinion here, and this is not at all unusual in the IT community at large or in the IBM i community in particular. In fact, because RPG OA is open, it stands in stark contrast with the way a lot of OS/400 and IBM i technologies are given to customers: Usually, there is the IBM way. Period. The difference of opinion about how to use RPG OA was there before I came along. My belief is that closer examination leads to a clearer picture. Controversy in the wild is usually strengthened by misunderstanding.
So I asked Rowe for his opinion, knowing that he and others at IBM played a role in establishing the standard. The matter of endorsing the standard, and determining one way as superior to the other, was not entirely clear. Does endorsing the standard imply that products that don’t follow the standard are not endorsed?
“IBM endorses the standard. We try to promote a standard,” Rowe said, “but that doesn’t mean it’s the end of the story. My job is to promote open access, however it may be. If we can have a standard for the UI, that’s a bonus. Those that go forward outside of the standard are not taking the wrong path. That’s software design. That’s adding your own secret sauce. It’s been part of programming since the beginning of time. That’s what differentiates solutions.”
“I would never say this standard is the way it should be,” Rowe continued. “I say this is a way it could be. This is a standard that is open to be used if people want to use it. Is it the only way to do it? Absolutely not. Is there some stuff we are trying to do in the RPG language and the operating system to help make that solution better? Yes, there is. We haven’t done anything yet to help leverage tying that metadata file to an RPG object so they are not separate entities. We have ideas, but we haven’t done anything yet. The standard allows us to do something along those lines, but both options are good choices.”
Keep in mind there are other application modernization options that have nothing to do with RPG OA. They deserve your consideration as well.