ASNA Mobile RPG (MR) is a design-time/run-time environment that lets RPG programmers create and deploy mobile applications for smartphones and tablets.

Mobile RPG includes a Windows-based Mobile RPG Design Aid that lets programmers create mobile user interfaces with a drag-and-drop model. This mobile interface is then exported to the IBM i as a display file (actually just the data definition of a display). The programmer then creates a new RPG program against this display file data definition. At compile-time the RPG program references the IBM i hosted display file data definition; at runtime it references, and is rendered with, the Mobile RPG Windows-based display file.

The user interface is created with a drag-and-drop user designer. The user interface components (buttons, fields, maps, images, etc.) are provided as “controls.” These controls are dragged from a “palette” to the Mobile RPG UI design surface. Mobile RPG’s controls have a special affinity for the RPG display file model (ie, they are indicator-aware and able to bind to fields in the underlying RPG program). These controls provide a superb look and feel and are implicitly bound to fields and indicators in the underlying RPG program.

Display panels, buttons, fields, checkboxes, radio buttons, navigational bars, data grids, collapsible navigation lists, images, graphs, signature capture, and maps are among the controls provided. See this article for more information.

Several of Mobile RPG’s controls are presented to the RPG program (through the exported display file data definition) as subfiles. For example, the graph control’s data is presented as a very simple subfile to the RPG program. The rows and columns are ultimately presented to the graph control as its data to graph.

Mobile RPG works through IBM’s Open Access (OA) API. This API redirects RPG file data to an alternative destination. In the case of Mobile RPG, the RPG program’s workstation file data is redirected. It is sent to and from the RPG program, through the Open Access API, directly to the Mobile RPG user interface through an IBM i object called the Mobile RPG OA Handler. The display file used at compile time is ignored at runtime. Wings uses OA to intercept workstation file IO. This interception is transparent to the RPG program; it is essentially oblivious to the fact that its workstation file data is being routed to an alternative browser-based UI.

IBM’s Rational Open Access RPG Edition (OA) is an IBM i API that enables ILE RPG program file input/output to be intercepted directly from an RPG program. OA works with IBM i V6 R1 and up. Read more about Open Access.

The Mobile RPG display file is contained in a Microsoft ASP.NET HTML5 browser-based application. This application is hosted on a Windows Web server running Microsoft’s Web server, Internet Information Server (IIS). This Web server is connected through TCP/IP to your IBM i on the same local network as the Web server. At runtime, the RPG program’s workstation file data is sent across this TCP/IP connection to the Mobile RPG user interface. The mobile device connects to the Web server to access the application. For devices using a telephone carrier’s network, the connection is done thru the Internet.

No, Mobile RPG does require a Windows Web server. We think this is a good thing. By using this external server, you’re able to easily ensure that your line-of-business IBM i is protected from the direct exposure of the Internet. Remember, too, that we aren’t suggesting you rip and replace whatever Web servers you may have deployed. The Windows Web server that MR requires is simply a focused application server for your mobile applications; it coexists nicely with whatever servers you have in your network. This Windows Server is generally a, comparatively low-cost device. If you already have a Windows server, it’s quite likely MR can simply use that server; if you don’t, you can get a great Windows Server for less than $3,000.

The logic and database access exists solely in the underlying RPG program. There is no logic in the Mobile RPG user interface; it is simply a very attractive, mobile-aware virtual device for the RPG program’s workstation file to connect to. Your RPG program can use any facilities you need it to, including features such as embedded SQL, other IBM i APIs, and program calls. The only limitation is that if this RPG program calls an interactive RPG program that isn’t using a Mobile RPG display file, a terminal emulator will be shown on the mobile device. This emulator is not very practical for mobile devices that have small screen dimensions—but is quite useable on tablets.

IBM’s Open Access only works with ILE RPG; so therefore Mobile RPG only works with ILE RPG. 

No. Because of its OA dependence, MR only works with ILE RPG.

No. The Mobile RPG controls are 100% self-contained and provide the HTML, JavaScript, and CSS they need internally. You never need to manually write any HTML, JavaScript, or CSS with Mobile RPG.

There isn’t much to learn with Mobile RPG. It requires no programming coding of HTML, JavaScript, or CSS. The RPG programs that you write for Mobile RPG use provide the logic and database access—so as long as you are an RPG programmer with just a little subfile experience (and MR uses very simple subfiles), there is no RPG learning curve. You write the RPG any way you want without needing to use any obtuse APIs. You should allow a day or two to learn how to use MR’s Mobile Design Aid for creating its user interfaces. We expect that a typical RPG programmer can be productive with Mobile RPG in a day or two—not the months generally required to create an effective mobile application.

MR supports Apple’s iPhones and iPads, and Android-based smartphones and tables.

Mobile RPG produces HTML5 applications. HTML5 offers several advantages over native, including: Distribution to end users: With HTML5, users don’t have to keep anything current on their device—they are always using the latest deployed version of your mobile application. There is no need to install proprietary viewers or players on the end-user’s machine to access the application.

While HTML5 doesn’t provide access to every device feature like some native applications do, it provides access to enough features (such as the camera, geo data, and a smartphone’s telephony features) to build great business applications. Cross platform capable: MR applications run on Apple iPhones, iPads, Android devices, and Windows Phones without modification.