Is An RPGOA-like Standard For HTML5 On The Horizon?
Published: July 25, 2012
by Alex Roytman
There is a lot of talk lately about HTML5. But do most people understand what HTML5 really is? One way to define it is to say it's the next version of HTML; basically an update to HTML4.
But is it more than that? Perhaps it's not just an update, but a new thing altogether, a new way to build Web and mobile applications.
To me, HTML5 signifies a different paradigm, where Web applications are built as true applications, not just as Web pages.
More Than Just HTML
Here are some features that I think are game-changing:
- Canvas elements allowing you to render just about anything in the browser.
- Simple session and local storage, including a built-in SQL database.
- Reading and processing local files.
- Offline application caching, which allows you launch and use an application even when you have no access to the server.
- Built-in drag and drop, including dragging files from other windows or the desktop.
- Powerful audio and video support.
- Workers for multi-threading in the browser (similar to submitted jobs on the IBM i).
- Web sockets for two-way TCP communications between the server and browser; the server can push messages to the client at any time (it's like AJAX on steroids).
These are just some of the new capabilities provided by HTML5.
HTML5 Is Still Being Defined
While today's browsers are starting to implement many HTML5 features, the HTML5 standard is still being defined. The World Wide Web Consortium (W3C) is collecting, organizing, and standardizing proposals from its members and the public on how to make the Web better.
One participant that has contributed a lot is Google, a company that certainly has a lot vested in the World Wide Web. Google has worked on a number of frameworks and ideas on how applications should be built with HTML5.
What are those ideas? Some of you may be surprised, and perhaps thrilled, to find out that their ideas are very similar in concept to display-file programming that RPG developers are so intimately familiar with. Nowadays, RPG also provides RPG Open Access, which can extend the display file programming paradigm to Web and mobile applications.
RPGOA Is All About Records
Display files are organized into record formats, which do a tremendous job of separating the display portion of any application from the core logic. The idea is that you bind variables to certain portions of the display and allow your RPG code to control or read those variables. The RPG code only controls the display through a set of variables or indicators in the record format--never directly!
This design, in which different aspects of an application are well separated, is also known by the term MVC (Model-View-Controller). RPGOA automatically separates the view from the model and controller in this case. If you chose to do it, you can also detach the model from the controller by creating ILE service programs to house separate business logic.
With RPGOA and display files, the separation is built in. However, this is not the case with most other types of Web application development. While other Web developers strive toward this separation, they have to work much harder to achieve it.
Google is looking to improve upon this by extending the capabilities of HTML and making HTML work more like a display file.
Developers at Google are proposing something called MDV (Model-Driven Views). They define it like this:
Model-Driven Views (MDV): A proposal for extending HTML to support a sensible dynamic separation between page display and the data which drives it. Updates to the data are reflected in the page, and user input into the page is immediately assigned to the data.
I ran into the concept as it was being discussed on the W3C forums. It sounded a lot like a display file when I first read about it, and upon further research, my suspicions were confirmed.
If you find this just as fascinating as I do, here are some relevant links:
It is unclear whether Angular and MDV originated from the same team at Google, but they do appear to be almost identical in concept.
HTML5, the new way to develop Web and Mobile applications, is here now and evolving at a rapid pace. Fortunately, RPGOA is positioned well to take advantage of what the architects of the HTML5 standard may have in mind for it. The simplicity is brilliant: to display a screen, we simply write the screen's data, and everything else is taken care of automatically.
Many have criticized Open Access in the past. The concept of display files and ExFmt/Write/Read RPG style of development is so old; it can't be good, right? But those that embraced it have seen that this style of programming for Web applications is more reliable and easier to work with compared to the traditional ways. Companies like Google are validating the concept as well.
Alex Roytman is an innovator in the field of legacy application modernization, with a concentration on creating rich browser interfaces on the IBM i (iSeries/AS400) system. His company, Profound Logic Software, provides an innovative graphical user interface platform for ILE RPG developers on the IBM i. Profound Logic has facilitated the modernization of many millions of lines of legacy RPG code, and serviced thousands of customers, including prominent enterprises such as Nintendo, Disney, Nike, Pepsi, FedEx, Volvo, Sony, General Electric, and Warner Brothers. Most recently, Alex and his team have worked closely with IBM to define a new era for the IBM i platform--an era where a graphical user interface is native to the system. Through a joint offering (RPG OA from IBM and Profound UI from Profound Logic), developers can use sophisticated design tools to create native IBM i user interface objects to modernize and extend existing legacy code. This new approach has proven to be 10 to 20 times more effective compared to traditional application modernization.
Post this story to del.icio.us
Post this story to Digg
Post this story to Slashdot