Harnessing RPGUI Patterns

Continued development means a new name, website and features


First, I want to tell you that the RPGUI tooling now has a new name, OpenRPGUI, and a permanent website. The website design was donated by Krengel Technology, so many thanks to them for supporting this effort. I’ve also released a new version of OpenRPGUI, which you can find on the downloads page. The features are numerous and I’ll share some of them in this article. Now, let’s talk about the very exciting topic of OpenRPGUI pattern development!

In my first two OpenRPGUI articles, “Exploring RPG and Ext JS” and “Exploring More RPGUI,” I introduced the Ext JS and OpenRPGUI frameworks to give you an idea of how things work. Since then, I’ve done several projects for customers and am finding many ways to make the OpenRPGUI framework better.

Past Experience Impacts Now

For example, let me tell you about a project that changed my client-server perspective forever—in a good way. About four years ago, I was contracting with a law firm in downtown Minneapolis that needed to scan, print and copy documents using a MFD (multifunctional device—a high-end scanner, printer and copier) and have them accordingly charged to a customer account on their back-end database. The MFD was quite the machine and it had a big graphical touch screen on it to allow a developer to write custom applications for it.

My part of the project was to accomplish the client-side UI coding in Java, using the SDK (software development kit) provided by the manufacturer. Because of the MFD’s memory and processing limitations, my entire application—including all supporting .jar files from the open-source community—couldn’t be more than 10MB in size. This taught me to be very cognizant of how “fat” I wrote my code and subsequently produced a very streamlined, small-footprint application.

To make things even more complicated, this particular MFD manufacturer had a drawn-out application verification process you must complete before you could get a production key for the device. It could take months to get re-verified once you had a code change ready to put into production. Thus, we determined we’d have only one chance to produce a very generic application that was configurable remotely.

So I wrote a generic Internet browser of sorts for the MFD client side. It only knew how to render an XML-configured screen definition received from the Apache server and subsequently send user events (i.e., button click) back to the server. I’ve provided this example because that Java framework was wrought with many patterns that aren’t language specific and can be shared within other technologies and scenarios, and I’ve been able to bring some of the concepts to the next version of OpenRPGUI.


Aaron Bartell is Director of IBM i Innovation for Krengel Technology Inc. and an IBM Champion.



2018 Solutions Edition

A Comprehensive Online Buyer's Guide to Solutions, Services and Education.

New and Improved XML-INTO

Namespace support makes the opcode a viable option

Authenticating on the Web

The finer points of OpenRPGUI, Part 1

The Microphone is Open

Add your voice: Should IBM i include open-source RPG tools?

IBM Systems Magazine Subscribe Box Read Now Link Subscribe Now Link iPad App Google Play Store
IBMi News Sign Up Today! Past News Letters