Is An RPGOA-like Standard For HTML5 On The Horizon?
July 25, 2012 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 The enhancements being adopted and proposed into the HTML5 standard encompass HTML, CSS, and JavaScript. Although we refer to it as simply HTML5, most of the HTML5 demos I encounter online seem to contain a lot more CSS and JavaScript than HTML, and I think that’s where the power really is. Here are some features that I think are game-changing:
These are just some of the new capabilities provided by HTML5. Sure, we can still use HTML5 in the same old HTML4-way, but the real advantage comes from using some of the features described above in a programmatic way. And there are many tools and JavaScript libraries (including some IBM i and RPG-centric tools) being developed to take advantage of these new HTML5 features. 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. Model-Driven Views 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:
AngularJS Google recently published another project called AngularJS. AngularJS is an open source JavaScript library that is very different from any other library I have seen. You don’t call its functions, and it does not call your functions. Instead, it extends HTML with dynamic data, again making HTML very similar to display files on the IBM i. It is unclear whether Angular and MDV originated from the same team at Google, but they do appear to be almost identical in concept. Conclusion 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.
|