Exploit the Power of Open Source Java from RPG
Presenter: Aaron Bartell
In this session you will learn how RPG's Java interface extensions can be used to exploit the wealth of Java Open Source applications. We will start by explaining the basic RPG syntax extensions and demonstrate how the interface works through practical examples. Examples will include:
• Interfacing with the Twitter API to easily send tweets (a.k.a. status updates) from your RPG programs
• Creating QR codes interfacing with Zxing API's from the community and Google
• Building pie charts, bar graphs, and more by interfacing to the JFree.org APIs
We will also discuss how the performance of such Java utilities can be improved through the use of server job and data queue interfaces.
Intro to PhoneGap for RPG Programmers
Presenter: Aaron Bartell
Level: Moderate (helpful to have understanding of HTML/JavaScript)
Writing native applications for the various mobile operating systems can be quite the task because you have to learn various languages (i.e. Java, Objective-C) and deal with the idiosyncrasies of each platform. But what if that wasn't the case? What if you could develop in a single language (i.e. JavaScript) and do your layout with HTML5+CSS3? With PhoneGap that becomes a reality.Attend this session to learn how to develop your first PhoneGap application that communicates in real-time with an RPG program on the IBM i.
RPG Chart Engine (Pie, Bar, and XY Line Charts)
Presenter: Aaron Bartell
Level: Intermediate/Advanced
Users always want more eye-candy in your deliverables to them. Learn how to easily create graphical charts using RPG and Java open source utilities—something with which you can gain immediate ROI as a take home for your shop. As we dive into the guts of RPG calling Java we will talk about the snail paced startup of Java applications incurred during JVM (Java Virtual Machine) initialization and address it by adding a data queue messaging layer between the RPG and Java. This creates an environment where the JVM startup occurs only once per machine allowing your Java to run entirely in batch!
RPG Droid – Developing Your First Android Application
Presenter: Aaron Bartell
Level: Beginner
I recently switched from a Blackberry to a Motorola Google Android (aka Droid) for my mobile device. While sitting in an airport waiting for a delayed flight I decided I would see how much work was involved in creating a simple Android application from scratch. Turns out it only took about 45 minutes and that included downloading the entire Android development environment! That got me excited because I realized I could not only develop something that ran on the Droid platform but also that it could easily communicate with RPG on IBM i using the OpenRPGUI free and open source framework.
This session will guide you through setting up the Droid development environment on your PC.
Then we will develop a “hello world” Droid application and run it in the provided emulator—this means you don't need to own a Droid phone to test this out! Lastly we will walk through a full working example showing how to have the Droid phone talk to OpenRPGUI via HTTP.
Why would you want to learn how to write Droid applications? Because the Google Android platform is fast becoming one of the most popular mobile device platforms in existence. More and more people are using their mobile devices for things normally done from a laptop or desktop. This means your customers or other internal employees (i.e., C-level executives) will soon start expecting you to offer them the capability to communicate with your data through mobile devices.
Software Development Methodologies with Agile, Scrum, etc.
Presenter: Don Denoncourt
In the mid-nineties the hot methodology was Extreme Programming. Then came Agile followed by Scrum and, more recently, Lean. Find out how these methodologies have come to replace the traditional Waterfall approach. Discover the basic philosophies of the various methodologies. And join in on an open discussion of why applications fail and why they succeed.
Power Programming with Regular ExpressionsPresenter: Don Denoncourt
Carpenters work with wood and programmers work with text so, as coders, we need tools that make us as efficient as possible when manipulating text in our source code. Learn how to use the powerful mini-language called Regular Expressions for text search-and-replace. With a little bit of understanding of Regular Expressions (RegEx) you can quickly make far sweeping changes to code. You can also use RegEx in your application for dynamic validation and formatting. Learn how to use regular expressions in your favorite IDE (such as WDSC, RAD, and Eclipse) and from a variety of free text editors.
Bye, Bye SEU – an Intro to Rational Developer
Presenter: Susan Gantner
Are you still using the same toolset you used 10+ years ago: SEU, PDM, SDA, RLU, etc? If so, this session is custom-made for you. If you have been wondering about any of the following questions, come to this session for guidance from someone who's been there:
• Should I consider using a Windows-based toolset to replace SEU, SDA, etc.?
• Why should I change? After all, I know SEU & SDA really well after all this time.
• How would such a change affect my productivity - both long and short-term?
• Which toolset should I use: WDSC, RDi or the latest RDP?
• What old habits should I be looking to break when I move to the new toolset?
See what you've been missing all these years and learn why you should kick your SEU habit. You’ll find out just how much more productive and fun your programming job can be!
Improve your RPG Calls with Prototypes
Presenter: Susan Gantner
Although Prototypes were introduced as part of the support for subprocedures, their utility goes way beyond that. Prototypes can protect you against parameter mis-matches and even provide for automatic conversion of parameter types and sizes. Prototyped calls are also the only way to do program calls in /Free format and therefore an essential tool for all modern RPG programmers. In this session we will show you how it all works and supply you with a number of working examples.
RPG Subprocedures Basics
Presenter: Susan Gantner
Using subprocedures, you can create your own callable functions to be as powerful as IBM's built-in functions. This session will introduce you to the basics of writing subprocedures so that you can begin to build more powerful, modular applications. We will introduce the syntax and coding techniques for subprocedures by converting an existing subroutine to a subprocedure. Then we’ll create a new subprocedure from scratch. Finally, we will look at how the syntax and coding techniques change slightly to externalize your subprocedures to make them more easily reusable via ILE Service Programs.
RPG Subprocedures - Beyond the Basics
Presenter: Susan Gantner
You know the basics of coding and using subprocedures. Now it is time to take the next step.
In this session we will discuss a number of topics ranging from:
• Making your subprocedures more useful through the use of parameter options such as VALUE, and CONST
• Defining and using optional (*NOPASS) parameters - and doing it safely!
• Using call-back processing to make your applications more versatile
• Leveraging subprocedures to mask complexity and simplify API usage
We will also touch on the exciting new subprocedure enhancements that were announced with the release of 6.1.
Using the RDP DDS Designer
Presenter: Susan Gantner
Rational Developer for Power Systems, a.k.a. RD Power or RDP, contains a new graphical DDS screen and report designer as part of the toolset. It is integrated with RSE (Remote System Explorer) so that you can use views that you use with RSE, such as Outline, Properties and the RSE source editor, while designing your DDS code. Focusing mostly on DDS screens, Susan will demonstrate how the graphical designer works and compare and contrast it with CODE Designer - the widely used graphical DDS designer that was available as part of WDSC.
From STRDBG to the RDP Debugger
Presenter: Charles Guarino
Making the decision to abandon the green screen development environment takes a lot of patience. Once you make the leap though, you’ll be very glad you did. This session examines our old comfort-zone friend STRDBG and shows the similarities, differences and productivity improvements in this new world of application debugging.
Learning Objectives:
1. Grow confidence in using the RDi/WDSc debugger
2. How to run, debug and control programs using the RDi/WDSc debugging environment
Audience: Programmers who have little or no knowledge using the new RDi debugger.
From STRPDM to RDP
Presenter: Charles Guarino
So you keep hearing about this great tool RDP (Rational Developer for Power Systems Software) but are somewhat intimidated by the prospect of learning it?
This session is a primer on RDP basics, including new terminology, connecting to the IBM i, and getting productive with its features, with a large focus on source code editing. The rich graphical environment far exceeds what PDM and SEU can do, and you will be glad you spent the time learning how to harness its power. The more you use this tool, the more you will want to use it. This session includes a live demonstration of the product.
From STRSDA and STRRLU to RDP
Presenter: Charles Guarino
Starting with Version 7.6, IBM now fully supports the graphical screen and report designers of RDP. Come hear and see for yourself how these tools are used, and how quickly a new screen or report can be created, from start to finish. You may never want to use the green screen versions again.
Learning Objectives: Understand how to navigate a graphical environment when designing a screen or report.
Audience: Application programmers who want to step up their full use of RDP for screen and report development.
Raising the Bar: Using SOAP Web Services in RPG with IBM’s Integrated Web Services
Presenter: Charles Guarino
This session will review the process of consuming a SOAP web services utilizing the IBM tool WSDL2RPG. This exciting new tool creates “stub” code which allows you to “point and click” at any SOAP web service and begin using its information quickly within RPG.
REST Web Services for Everyday RPG Consumption
Presenter: Charles Guarino
A web service extends your applications in a way that no traditional programming can. They allow you to get real time information for almost any requirement. We’ll discuss what web services are, how they function and how you can begin using them on your own system. Get step-by-step instructions on the entire Web service process from receiving an XML document to successfully parsing its information to a display or database file.
See working RPG code of an XML parsing program in and watch how we consume and parse a RESTful web service. This session includes source code to get started using dynamic Web services today!
Audience: RPG programmers who have attended Intro to XML and RPG session or possess basic XML knowledge.
Fast Free Applications for your IBM i
Presenter: Jon Paris
Are you tired of constantly exporting and importing data for "foreign" applications running on Windows or Unix/Linux servers? Do you wish there was an easy way to keep more applications on IBM i?
This session shows you two approaches that will help you to ensure that modern applications can be deployed on IBM i easily and without breaking the budget.
• Exploit the huge world of open source applications and tools that you can easily implement on your IBM i. And what's more, you can easily integrate these applications into your DB2/RPG universe.
• Create powerful browser-based database applications in minutes using readily available application frameworks - writing almost no code yourself. And all the data can be stored in DB2 so you can easily integrate these applications into your existing inventory.
Can it really be that cheap and easy to do? Yes, thanks to the ability to run PHP and MySQL on IBM i. In this session, Jon will discuss a number of open source applications and will also demonstrate a number of application frameworks to show just how quickly and easily new web-based applications can be deployed.
Keep your IBM i alive and vibrant and be a hero to your end users by responding quickly to requests for new web based applications. You do not need to be a PHP programmer to do this. Come find out how.
Giving Sex Appeal to Your Documentation
Presenter: Jon Paris
Documentation is rarely an RPG programmer's favorite task. We tend to view it as boring and a waste of our time. But there are ways to make documentation more interesting, usable and just plain FUN to produce. What's more, many of the tools you can use are available free or at very low cost.
In this session, we'll discuss some of the alternative approaches you might consider, including different ways of documenting your code and how tools can assist in the process. Items to be covered include the use of Wikis, better ways to handle screen shots, using simple video "How to" clips, and more. Demonstrations of many of the suggested tools will also be included.
Latest RPG Enhancements in V6 and V7
Presenter: Jon Paris
The V6R1 release of RPG IV introduces many powerful new features, once again demonstrating that RPG is alive and well and growing.
Features to be discussed include:
• The ability to define your own data types using the TEMPLATE keyword
• Support for larger fields and Data Structures
• Define and use local files in subprocedures
• Pass files as parameters
In this session Jon will introduce you to these new features and discuss how they can be utilized to power up your applications.
The V7 release of RPG introduced one of the most eagerly anticipated and hotly debated features ever to be added to the RPG language. Open Access for RPG. Open Access (OA) allows RPG programmers and 3rd party software houses to produce "Handlers" that allow RPG programmers to access modern interfaces such as browsers, XML streams, web services, and more - by using conventional op-codes such as READ, WRITE, CHAIN, EXFMT, etc. Although Open Access stole the headlines, there are a lot of other features to like in the V7 release of RPG. In this session Jon will introduce you to the latest features in the RPG language including:
• Sort and Search Data Structure Arrays
• Support for Alias Names
• New and Updated BIFs - Including Scan and Replace
• Optional Prototypes
• Performance improvements for large return values
• New options for XML-INTO
• Encryption of Debug Data
RPG IV Does XML - Exploiting RPG's XML Processing Capabilities
Presenter: Jon Paris
In this session we’ll look at RPG's native support for XML processing, including the recently announced (January 2011) updates. We’ll also include a brief overview of the Data Structure features added in V5R2 that are critical to understanding the XML support.
Whether you are using XML for web services or data interchange, dealing with XML in RPG can be challenging. V5R4 brought welcome relief in the form of new native RPG IV language support that greatly simplifies parsing XML within your RPG programs. In this session we'll discuss the two types of XML parsing support offered and the new operation codes that provide that support.
Simplify RPG Applications - SPECIAL Files and Open Access
Presenter: Jon Paris
This session introduces two coding techniques that can greatly simplify how your RPG programs interact with modern interfaces such as web services, the IFS, browsers and more. They allow you access to these interfaces through native RPG I/O operations (such as READ, WRITE, CHAIN, UPDATE, etc.).
We will begin with a brief introduction to RPG Special Files and walk through an example that produces a CSV (Comma Separated Values) file in the IFS. Next we will demonstrate how RPG's Open Access expands on the capability of Special Files and makes it easier to develop truly generic handler routines beginning with a more versatile version of our CSV routine.
We will also discuss an Open Access handler that provides a simple method of converting a report file program to output to the browser. Last, but not least, we’ll tell you about some of the exciting things that ISVs have done with Open Access - including web enablement of 5250 RPG applications.