TEMBO Claims Non-Disruptive Migration of IBM i Apps to SQL Engine
May 1, 2012 Alex Woodie
TEMBO Technology Lab has chosen next week’s COMMON conference as a launch pad for AO Foundation, a new tool designed to automatically modify IBM i applications utilizing DB2/400’s native SQL engine without requiring a recompilation or using surrogates. AO Foundation is the first of several tools the South African company has in the works to help IBM i shops break up their monolithic code bases, rebuild with a multi-tier architecture, and increase the agility of companies in the process.
Most of the modernization tools on the IBM i market focus on building GUIs replete with the latest Web technology. This is nice, but it’s just “lipstick on the pig,” according to Marinus Van Sandwyk, the founder and chief technology officer of TEMBO Technology Lab (Pty), which is based in Johannesburg, South Africa.
“Most of the people, when they talk about application modernization, they are essentially focused on the user interface, which means they haven’t done anything for the fundamental constraints that are facing us at the moment,” Van Sandwyk tells IT Jungle in an exclusive media interview prior to next week’s launch in Anaheim, California.
Van Sandwyk’s ultimate goal is to re-engineer RPG and COBOL applications into componentized structures using the Model View Controller (MVC) framework. He wants to eliminate the huge monolithic code bases, which are home to extensive amounts of duplicate and conflicting code. Once these fundamental constraints are eliminated, the applications would become more agile and better able to interact with the outside world.
Get Thee to the SQL Engine
As Van Sandwyk delved deeper into the topic of application modernization, he realized the database was the focal point. “You have to start at the database level because that has been the basis since S/38 days,” he says. “Our whole philosophy and our whole roadmap, is to say, ‘Guys, first and foremost, you have to get onto the native SQL engine as soon as possible. You have to use the native SQL engine as the driver of the application.'”
Most RPG and COBOL applications today use so-called “native I/O” database access. That is, they use the ISAM (Indexed Sequential Access Method) engine to interact with the database. But IBM also offers the SQL engine, which is also native (but not so-called “native I/O”) and has been used with newer applications written for IBM i. But the vast majority of RPG and COBOL applications use the older ISAM method.
Using the SQL engine will bring numerous benefits to IBM i shops and software vendors, Van Sandwyk says. “Performance for all sequential processing, i.e. typical batch runs … there are huge performance gains there,” he says. “But more importantly in our mind is suddenly the database will present itself as modern to the outside world. That is one of the things that we believe has hurt us more than recognized.”
Adsero Optima (AO) Foundation takes an automated approach to migrating RPG and COBOL applications to use the SQL database engine. As Van Sandwyk explains it, the product works by extracting the metadata and metadata structure of the user’s existing ISAM-driven database and applying that data in the new SQL-driven database. AO Foundation keeps the two databases in sync during the testing process, and when the user is satisfied that the new SQL-powered database is working properly, the applications are redirected to use the new database.
TEMBO has done about 40 database migrations with AO Foundation over the past two years, according to Van Sandwyk, who says the typical migration process takes about six weeks. The bulk of that time is spent testing the application and “cleaning up the mess”–that is, eliminating all the redundancies that have built up in the typical RPG or COBOL application over the decades.
AO Foundation also makes use of IBM‘s Rational Open Access: RPG Edition technology to provide a pathway for UI development and standardization of output. TEMBO is also a partner of looksoftware, and recommends the use of that company’s tools to design UIs for all channels.
Level ID and Surrogates
The key consideration of AO Foundation, Van Sandwyk says, is that it achieves the initial migration of the bulk of the database into the native SQL engine with no Level ID change, and no use or surrogates.
Avoidance of Level ID changes is critical to this process. During a typical migration to SQL using existing tools available on the market, the Level IDs are changed, which means that the application must be recompiled. This is a security provision of the IBM i OS and its underlying microcode, and it ensures that the application accessing the database is indeed the one that was originally intended to access the data, Van Sandwyk says.
However, it is also a hurdle in traditional SQL engine migrations, because many companies don’t have access to the source code of their applications. And even if a company does have the source, it may have modified the application, which further complicates matters.
“The primary reason why recompilation is a huge issue is the fact that you’ve introduced two variables,” Van Sandwyk says. “If something doesn’t function, the question is ‘Does this have to do with the migration to the SQL engine, or does this have to do with the fact that you recompiled?’ You may have recompiled the wrong version of the code.”
The avoidance of surrogates in a migration to the SQL engine is another matter. Surrogates are used in an RPG or COBOL application to basically trick the application into thinking that it is accessing the old ISAM engine, when in fact it’s using the SQL engine. IBM recommends the use of surrogates, but Van Sandwyk disagrees with that approach.
“Our approach differs completely. What we say is go to the actual heart of the problem,” he says. “We don’t use surrogates because we don’t believe it’s a viable long-term strategy.”
Cleaning up the Mess
Part and parcel of the move to the SQL engine in TEMBO’s roadmap is “cleaning up the mess” of redundant and sometimes conflicting code.
“The way we coded historically, we actually had to code the relationships between the various files, and we had to code validation rules,” he says. “That’s why there’s a lot of nonsense that ended up within your database. It’s because programs don’t always enforce the rules exactly the same.”
Instead of coding these relationships and validations directly into the application, Van Sandwyk proposes adopting a modern programming method of building these into the database engine itself. “If you give it over to the database engine, it is a single trigger that is enforced automatically, so your program will no longer have to think about database relationship and database validations. The database engine will look after them,” he says.
Van Sandwyk says about 80 percent of the code in the typical RPG or COBOL application is devoted to the database validations. “If you can reduce the lines of code in an application by 80 percent, how much more agile would that organization be able to respond to changes in their business environment?”
Slow Jam the Change
Adopting the native SQL engine is the first step in TEMBO’s application modernization roadmap. While Van Sandwyk encourages customers to adopt the SQL engine as quickly as possible, he understands that people need to go at their own pace.
“What we recommend is people gradually start using the newer access methods, using embedded SQL to do joins, etc.” he says. “That is probably the most important message in terms of the entire roadmap–that this is a gradual, non-disruptive, iterative process where you get comfortable before you take the next step.”
Van Sandwyk’s enthusiasm–and his insistence that the way we develop and maintain RPG applications is not compatible with the long-term health of the applications, the companies that use them, and the platform as a whole–has ruffled a few feathers over the last two years, and undoubtedly will ruffle a few more as TEMBO ramps up its sales initiative.
But Van Sandwyk shows a passion for improving this thing called the IBM i platform, and this might just strike a chord with the legions of adherents to the platform who are looking for the best way to move forward.
“We’re a bunch of very proud IBM i bigots and RPG bigots. We know that there’s enormous value caught up within our systems. It’s just caught up in these huge monoliths, which makes it extremely difficult to respond to changes in the business environment,” he says. “We have absolutely no doubt in our mind that RPG will wipe the floor with any other language out there in terms of high volume transaction processing. You’ve bought the Rolls Royce of machines. You surely want to use the platform as a Rolls Royce.”
While Van Sandwyk didn’t share his entire roadmap with IT Jungle, it is clear that he has big plans, and that clustering and the cloud will play major roles. Van Sandwyk has extensive experience with IBM i clustering. Before he was forced into early retirement in 2001 due to health issues, he was the chief technology officer at IDION Technology Holding. (IDION, you will remember, owned Vision Solutions before it was acquired by Thoma Cressey Equity Partners.) Prior to that, Van Sandwyk was the founder and CTO of Silverlake Technology Solutions, which was sold to IDION in 1999. He largely developed the clustering capabilities of Vision’s ORION product. You can view his entire resume at www.linkedin.com/in/mbogo.
TEMBO is planning to launch the next products, AO Logic and AO Replay, near the end of the summer. For now, AO Foundation is generally available. The software works with applications running on i5/OS V5R4 and above. The company’s initial licensing plan calls for a conversion of 250 physical files and associated logicals using the SQL engine for $9,900 US. For more information, see www.tembotechlab.org.