The Leading Educational Resource for IT Professionals
RPG

Book Review: Advanced Integrated RPG

0 Comments

Isn't it about time somebody told us how to integrate RPG and Java?

Written by Joe Pluta 

Tom Snyder's first foray into RPG programming books, Advanced Integrated RPG, is an auspicious beginning. The book is ostensibly about three specific examples of integration between RPG and Java: accessing Excel spreadsheets, creating PDF documents, and sending email. And while the book presents these topics quite well, it's the larger view of the book that really makes it special.

To properly take advantage of the Java capabilities of RPG, you must use the Integrated Language Environment (ILE) version of RPG. Since not all of us are ILE experts, a book introducing the integration of Java and RPG should by necessity cover the concepts of ILE, especially as they apply to using the two languages together. And while that makes a lot of theoretical sense, practically speaking, a thorough treatise on ILE programming would be larger than this book's 400 pages.

Somehow, though, Tom has managed to incorporate a functional introduction to ILE programming in about 70 pages and provide a corresponding treatment (I hesitate to call it an overview because it's quite exhaustive) of Java integration in another 80 pages. The ILE section alone is worth the price of the book to a traditional RPG programmer trying to make sense of ILE.

After that, Tom gets right into the meat of the book, providing practical examples of how to use RPG to take advantage of Java code, particularly existing open-source Java code. He starts by tackling what must be one of today's most prevalent issues in real-world companies: making the data on your i work and play nicely with Excel. Many techniques are being used today with varying levels of success. The simplest is the comma-delimited file, also known as comma-separated values (CSVs). Another is to automate the System i Access plug-ins for Excel, which allow uploading and downloading. But the most straightforward way is to be able to directly access and update an Excel spreadsheet. An open-source project for this exists at the Apache Web site. The project is called POI-HSSF, which stands for Poor Obfuscation Implementation, Horrible SpreadSheet Format (nobody refers to the full names anymore, including the Apache project itself, but I think they give you a flavor of the irreverent nature of open-source code). POI-HSSF is a relatively robust API for accessing the data in an Excel spreadsheet, but because it's written in Java, it isn't particularly useful for the average RPG programmer. That's why this book is so important: it shows you all the steps needed to use a complex Java API like HSSF-POI from within a standard ILE RPG program.

This is the largest portion of the book and for a good reason: accessing and manipulating Excel spreadsheets is a complex subject. This is especially true with HSSF-POI because unlike the other methods I mentioned above, which deal primarily with just the data, HSSF-POI lets you manipulate down to the tiniest detail the actual formatting of the spreadsheet, even including some rudimentary support for graphs and images.

The book continues with two more powerful examples. The first uses the tremendously popular iText package to create PDF documents. iText is a great package that is in use in many common  packages, including Eclipse's Business Intelligence and Reporting Tool (BIRT) and Jasper Reports. iText provides an API that allows people to create and manipulate PDF documents without having to understand the complex PDF structure. This is a huge convenience; when I wrote my CPYSPLFPDF function many years ago, I had to learn quite a bit about the internal structure of PDF documents. A library like this would have made this task a lot easier.

The final section of the book deals with the JavaMail API from Sun. JavaMail allows Java programs to send and receive email from a mail server. This can be a little confusing; JavaMail does not actually send mail; it only sends an email message to your mail server. It's up to your mail server to then send the message on to its destination. If you don't have access to a mail server, the API doesn't do you a lot of good, but since all corporations and most home users have email, this shouldn't be an insoluble hurdle.

The book is rounded out with a brief few pages of pertinent tables and references—refreshingly few, in fact, for a book of its size. That's not surprising, given the amount of information stuffed between the covers. I hope you get the time to take a look at Advanced Integrated RPG; if you want to make your i a more integral component of your corporate network, you'll be sure to find this book useful.





Also in Book Reviews

Book Review: Extract, Transform, and Load with SSIS

0 Comments

This book could easily be used as a teaching tool for students, interns, or even as a reliable resource for experienced SSIS developers to consult when they need an ETL refresher.

Continue Reading →

RPG
Book Review: 21st Century RPG: /Free, ILE, and MVC

0 Comments

Dave touches all the important buttons, and you’ll learn a lot with this book—even if you’re stuck in the 1980s RPG III world!

Continue Reading →

Book Review: Developing Business Applications for the Web--With HTML, CSS, JSP, PHP, ASP.NET, and JavaScript

0 Comments

The book breaks down the topic of business Web application development into three main sections. The first section covers static Web pages and the techniques used to develop these pages. The second section covers four popular programming languages in use today: JavaScript, PHP, ASP.NET, and JavaServer Pages (JSP). The third section covers topics that a Web developer needs to understand to develop successful Web applications.

Continue Reading →