RPG, Database Top Enhancements In IBM i 7.1 Technology Release 7
October 7, 2013 Dan Burger
IBM i Technology Refresh 7 is bound to make some people bark. Any time you mention these three letters–RPG–the ears of the IBM midrange community perk up like a half sleeping dog that notices a cat cutting across his territory. And RPG is going to get some attention as people hear about TR7, which officially will be released tomorrow, October 8.
This all begins, simply enough, with new free format options being added to RPG IV. RPG free-form was introduced with i5/OS V5R4 in 2001. That’s more than 12 years ago. During that time IBM made free form its RPG development focus and brought many productivity advantages as it modernized the language. But the people who have seem the most programs from the widest variety of sources will pretty much agree that way too much old code exists and not nearly enough RPG programmers make use of modern, free form coding techniques.
So here we are at IBM i 7.1 TR7 and IBM is still trying to get this idea across.
In TR7, all specification lines are free format except for I/O, where the traditional cycle-based processing method remains. Free format C specifications are not new, but F specs and D specs are and that allows them to be turned into free form statements.
The benefit that IBM hopes will be recognized is another step toward making RPG more like Java and C++. The more similarity among these languages, the easier it is for programmers in those languages to understand RPG. This is an important aspect of IBM’s RPG initiative that was explained to me by IBM i product manager, Alison Butterill.
“This is a big difference in RPG IV,” Butterill says. “We have had numerous requests from both customer and ISV advisory councils, asking for a way that allows more developers to more easily learn RPG. This is a big step forward. RPG begins to look more like other languages when it’s not column-oriented and rules and restrictions have been eased.”
“There are fundamental differences in the way RPG operates. However, we [the IBM i development team] are going to grow RPG as a modern language. This is a good step forward. We look at this as a good way to attract young developers and it makes RPG more learnable for those who know a different modern language.”
Don’t expect RPG to become an object-oriented language on its way to being more modern and more Java-like. You might hear that kind of talk as the volume gets turned up in some discussions, but that’s not a likely scenario.
The idea of getting Java and C++ programmers comfortable in an RPG development environment is more than just a hope and a prayer. Butterill says IBM has been working with a couple of education providers and that courseware for teaching Java and C++ programmers how to code in RPG already exists. There is also a pilot program at a customer site with training under way.
This idea of making RPG easier to learn and creating a lesson plan for teaching RPG to Java and C++ developers indicates that some companies find that a better alternative than either training existing RPG developers in modern RPG or finding and hiring RPG developers with modern skills. Going back to the fact that free-form RPG has been around for 12 years and is not a widely acquired skill seems to be one reason a non-RPG skilled employee might be considered.
I suspect some differences of opinion might surface regarding who would make the best modern RPG programmer-someone who knows old RPG or someone who is getting a first look at RPG.
There’s one other piece that fits into this. How will companies deal with converting old RPG code to modern RPG? Modern RPG skills acquired by a Java or C++ programmer will not prepare those folks for old RPG.
Working on that piece of the puzzle are IBM Rational and IBM i ISV ARCAD Software. They’ve come up with a program that transforms column-based RPG into free form RPG. For the past six months, Butterill says, ARCAD and Rational have partnered on this project, with assistance from the RPG team in the Toronto Labs. The product name has not been nailed down yet–we have heard of it referred to as Transformer or Converter–and it will be available through both ARCAD and IBM. Butterill says it can convert 100 percent, column-based programs and programs that contain a mix of column-based code along with free form code. A more detailed look at this product will be featured in a future IT Jungle report.
TR7 More Than RPG
With each Technology Refresh that we’ve seen–and they have been arriving on a consistent twice-a-year schedule since i 7.1 debuted in 2010–there have been database enhancements. Even before Tech Refreshes were put into play, IBM had a habit of putting more database development meat into the IBM i stew than other ingredients. As everyone should know by now, IBM has steered DB2 for i in the direction of SQL for the same reasons it has modernized RPG–to make it more mainstream with the modern multi-platform, multi-device IT world.
DDS to DDL conversions have been the cornerstone of the modern DB2 for i database for years and the TR7 release solidifies that by allowing DDS keyword files to be converted to DDL for the first time.
Database security enhancements have also been added. These include SQL authorization catalogs that now cover all database object types. These catalogs have been released as PTFs for users of IBM i 6.1 and 7.1. Authorization list details and the capability to use SQL to query system security details have also been added. To dig deeper into these topics, check out the DB2 for i Technology Updates webpage at this developerWorks link.
Companies that are already tackling big data and finding they are bumping their heads on a data ceiling will find some help in TR7, too, because IBM has raised the internal limits in the database. IBM i shops that are running into this issue are few in number, but Butterill contends the number of shops that will benefit from this enhancement will grow fairly quickly.
“I expect more customers will need this kind of large database support as they move into the world of big data and unstructured data. We are just seeing the tip of the iceberg and the database team was quick to respond to that,” she says.
These requests were initiated by the influential large user group clients; however, Butterill notes that some midsize customers store more data than some members of the LUG.
Providing the room to grow, for example, means SQL indexes can expand to 1.7 TB. Automatic tracking and trending for growth rates of DB2 tables and indexes is another new feature. And the capability to move SQL tables and indexes to solid state drives can also be put on the list of new conveniences.
The database team has also added self-learning and self-managing aspects of the database, SQL query capabilities to the IFS journals, and the capability of embedding SQL in free form RPG.
TR7 Behind the Headlines
Companies running Java apps get some help as the Java class libraries have been updated to Java 7.1.
Application Runtime Expert, a separate licensed IBM program that does snapshot analysis of the application environment to provide clues to performance degradation, gets additional automation features that boost its problem determination benefits well beyond the manual alternatives that most companies struggle with.
In the area of open source language support, Ruby on Rails is now optimized for IBM i and support is offered by PowerRuby, a consortium headed by Aaron Bartell, a well-known IBM i advocate and member of the IBM Power Systems Champions club, and Anthony Avison, owner of Dancerace, a financial software company. We will be following up to get more on this development.
I/O hardware now supported by IBM i includes new SSDs with more IOPS capability and improved latency, larger capacity HDDs, and a refresh of the SAS storage adapter. We will dig into this all as information becomes available.