App Development
2019 Sessions will include:

  • RPG! It’s Alive with New Treasures! 
  • RDi and Git, The Basics
  • Configuring RDi for RPG Development 
  • The “Best Stuff” of Advanced RDi topics 
  • Debugging with RDi From the On Ramp to the Cruising Lane 
  • IBM i SQL Stored Procedures and Application Modernization 
  • RPG Talks to Watson 
  • Programming RPG with Style 
  • Modernization - What, Why, Where, When & How 
  • How Does RPG Talk to a Browser 
  • Handling the Weird Stuff in RPG Programs 
  • Accessing External Databases from RPG 
  • Working with JSON in RPG 
  • The World of Node.js on IBM i 
  • Mobile RPG with PhoneGap 
  • Consuming Web Services from RPG with HTTPAPI 
  • Updating our IBM i Modernization Mindset 
  • Fun!(damental) and Fun!(ctional) Table-driven Programming 
  • Refactoring RPG: What, Why and How 
  • Easily Modify Report Programs (Because You Have Better Things to Do) 
  • Programming with Assertions

 RPG! It’s Alive with New Treasures!       Charlie Guarino

“New” RPG Free Form enhancements? Well sure, but that happened at 7.1. Time marches on and so do the enhancements. Today’s RPG is living, vibrant and ever-evolving, keeping pace and meeting the requirements and needs of TODAY’S programming community. If you haven’t been keeping up you are missing out on the many new treasures that will not only improved the readability of your code but also the reliability. Long live RPG!

RDi and Git, The Basics       Charlie Guarino

What are the steps to getting your source code stored in a Git repository, be it on IBM i or externally, such as on GitHub? We will go through the entire process step by step and get you on your way. Attend this session and you will see how to implement RDi and Git - The Easy Way!

Configuring RDi for RPG Development   Charlie Guarino

RDi is the most versatile application development tools available today. It provides more and more functionality with each update, and the results are obvious. This session focuses on the particular attributes of enhancing your RPG development. How many of these features are you already using?


The “Best Stuff” of Advanced RDi topics             Charlie Guarino

Once you have a solid basic understanding of RDi you will want to attend this advanced session that demonstrates many of the finer points of application development. Here is where you can truly customize RDi to watch your development time shrink and performance soar.

Debugging with RDi From the On Ramp to the Cruising Lane      

Charlie Guarino

Displaying active variables? Check. Breakpoints? Yep, we got those too. Conditional and watch breakpoints? Sure thing. But what about service entry points, which allow us to debug another user’s job without having to use STRSRVJOB? Debug configurations to save multiple debug settings? Code coverage that shows each line of code executed when a program has completed? This is only the start of how the graphical RDi debugger exceeds the capabilities to the green screen version.

Learning Objectives:

1. Grow confidence in using the Rational Developer for i debugger

2. How to run, debug and control programs using the debugging environment and perspective.


Programmers who have little or no knowledge using the new RDi debugger.

RPG Talks to Watson    Paul Tuohy


  Programming RPG with Style    Paul Tuohy



Modernization - What, Why, Where, When & How           Paul Tuohy

The world of business applications has become a fast moving, ever changing environment. The web, mobile computing and the cloud have quickly followed the impact of graphical interfaces. Who knows what will be next on the list? The i community is facing an ever-changing environment and it must ensure that applications may be easily enhanced and maintained when dealing with these environments.


The need to modernize legacy applications is now an urgent requirement for most i shops.


Modernization means different things to different people. In this session, Paul discusses what modernization might mean for you and different approaches to modernization - regardless of whether you are a one person or one hundred person shop!


Topics covered include:

  • What is Modernization?
  • Approaches to Modernization
  • The Need for Modernization
  • The Need for Database Modernization
  • The Need for Interface Modernization
  • The Need for Program Modernization
  • The Benefits of Modernization
  • Where are You Starting From?
  • The Challenges
  • Laying the Ground Rules
  • That is a Modern Application?
  • The Roadblocks


How Does RPG Talk to a Browser                     Paul Tuohy

How is it possible for an RPG program to be called from a web browser? How can an RPG program output to a web page? What is a HTTP server? What is CGI? This session explains how it works with easy to understand examples.


In this session, learn:

  • How to configure a HTTP Server
  • The basics of CGI
  • The CGI APIs


Handling the Weird Stuff in RPG Programs        Paul Tuohy

In this session, Paul offers a practical guide to handling some of the more esoteric problems in RPG programs (whether using native I/O and Embedded SQL) such as:

  • Messaging in a multi client environment
  • Trigger Failures
  • Nulls
  • Constraint Violations
  • Commitment Control
  • And other bits and pieces...


Accessing External Databases from RPG                       Scott Klement

RPGers often need to access data from 3rd party databases, such as Microsoft SQL Server, Oracle, MySQL and DB2 on other platforms. One way to do this is by using Java database (JDBC) drivers. Scott will share his experience in using this technique and show you how you can access non-i5OS databases from your RPG programs.


Working with JSON in RPG                       Scott Klement

JSON (JavaScript Object Notation) is quickly becoming an important document format for business data interchange, so what's the best way to process it from RPG? JSON provides the same benefits as XML, but is smaller (and so transmits over a network more quickly) and is much more efficient than XML to work with in web applications. Naturally, this means that your RPG business applications need to learn how to speak JSON in order to talk to many of the newer web services or exchange data with many tech-savvy business partners.

In this session, Scott will explain how the open source YAJL tool can be used from an RPG program to process or generate JSON in an efficient manner.


The World of Node.js on IBM i               Scott Klement

Node.js is just getting started, but it is very hot! Everyone seems interested in getting started with this language today, and it may very well represent the future of Application Development on IBM i. In this session, we'll look at Node.js, discuss how it works and how to write simple applications. Then, we'll take a look at the Node Package Manager (npm) and the power it brings to the Node.js environment.


Mobile RPG with PhoneGap       Scott Klement

Mobile applications have become crucial to businesses. This presentation discusses how to use the open source PhoneGap/Cordova enviroment to create mobile apps, this is the best way for businesses to create them! It will also show you how to integrate your PhoneGap app with an RPG program running on IBM i, and introduces using a PhoneGap plugin to use your phone's camera to scan a barcode.

Consuming Web Services from RPG with HTTPAPI        Scott Klement

One of the coolest technologies to emerge in the past 15 years are web services.  Did you know that you can consume them from RPG programs? Yes! Today's RPG can call any type of web service, including both REST and SOAP, and can handle modern document formats like XML and JSON.  In this presentation Scott introduces web services and shows you how to call three different types.  Scott will also demonstrate processing both JSON and XML.  The HTTP communications use the (free!) open source HTTPAPI package.


RPG and the IFS                       Scott Klement

How to get started using the Integrated File System from your RPG programs. The IFS is typically used for reading and writing "PC-style" files on the iSeries, and is an important tool for integrating with other computers or business partners.


Updating our IBM i Modernization Mindset          Steve Pitcher

Make modernization a strategy baked into your everyday processes. Learn about the upgrade challenges and costs of IT environments that have stagnated for a number of years. Set your self up for success by planning projects with modernization in mind rather than planning a modernization project.


Fun!(damental) and Fun!(ctional) Table-driven Programming       Ted Holt

In table-driven programming, a programmer specifies program logic in an array (also known as a table) instead of coding procedural control statements.  In this presentation, Ted Holt  begins by contrasting procedural and table-driven programming. Next he walks through an example that demonstrates that table-driven programming can solve problems that procedural programming can’t. Finally, Ted illustrates the power of table-driven programming by sharing a utility he developed using table-driven techniques.

Programmers who attend this session will be exposed to new ideas and techniques that will augment their tool chests.  Managers will be challenged to think of new ways to develop applications that support end users.


Refactoring RPG: What, Why and How   Ted Holt

Refactoring is rewriting source code in such a way that the new code behaves as the current code does, but is easier to read, understand, modify, enhance and debug. Refactored code takes advantage of features that were not available, or were ignored, when the code was written. This presentation, which is geared toward the RPG programmer, is given by Ted Holt, who has been writing RPG programs since 1982 and has programmed in RPG II and every version since then. Ted explains what refactoring is and is not, why you should refactor, when you should not refactor, and how to refactor RPG. If you have old RPG code in your shop (and who doesn't?), this presentation is for you.


Easily Modify Report Programs (Because You Have Better Things to Do) 

Ted Holt

No matter how much hardware and software technologies change, some things always stay the same. A prime example is the generation of columnar reports. Whereas columnar reports were once printed on green-bar paper, nowadays they show up in spreadsheets, PDF files, and web browsers.

You have challenging work that needs to be done, so why spend hours making simple modifications to report programs? Let Ted Holt show you how to write report programs that are quickly and easily modified as requirements change.


Programming with Assertions    Ted Holt

An assertion is a routine that checks the validity of an assumption and stops execution if it finds the assumption to be false. When used during program development and maintenance, assertions save time and effort by pointing out errors. Each problem that an assertion brings to light is a problem you don't have to search for. Assertions also work well in production, where you can use them to cancel programs before errors can occur.

Assertions have long been used in the Unix world. Now they are available in the world of i for business, and Ted Holt shows you how to put them to work for you. Attend this presentation and add a powerful tool to your programming toolbox.