How to use legacy code for e-business

E-business does not necessarily mean you will have to chuck out your old AS400 apps. Lindsay Nicolle finds out how you can...

E-business does not necessarily mean you will have to chuck out your old AS400 apps. Lindsay Nicolle finds out how you can breathe new life into RPG applications.

Some of today's computer science students are more likely to think that RPG stands for "rocket-propelled grenades" than the less exciting Report Program Generator, which anyone who has ever used an AS/400 will be a little more familiar with.

Users of IBM's maturing AS400 mid-range family, a range recently reborn as the iSeries, could be forgiven for wondering what the future holds for their legacy applications. RPG, the platform's mainstay language for enterprise resource planning applications, barely gets a mention on computer science curricula nowadays.

Nevertheless, there are still some 700,000 AS400 systems humming away around the world and approximately 85% of these are running RPG legacy code, served by about 250,000 RPG programmers. There are also 500,000 operational iSeries servers out there, and rising. Not surprisingly, there is a growing RPG skills shortage - demand for RPG400 has trebled over the past year, according to the latest SSP/Computer Weekly Quarterly Survey of Appointments Data and Trends.

There has been massive investment in RPG-based applications by users around the world since the AS400 arrived in 1988. With re-engineering and refinement down the years, many of these applications are still fundamental to the success of some of today's biggest businesses, including Coca-Cola, Debenhams and Woolworths. Consequently, few want to change or chuck out their old code, especially in these times of budget cutbacks.

However, users need to move forward, and that means embracing e-business. Technology-wise, this means a move from procedural to component-style programming, supporting Internet and intranet access and GUIs, and using languages such as Java and C++.

So, the question is: how can AS400/iSeries users exploit their existing RPG resources - both skills and code, including the latest version of RPG, RPG ILE (integrated language environment) - while moving their businesses forward?

IBM wants users to adopt its Websphere Development Tools, open, standards-based products that support all the languages available on AS/400 using the Application Development Tool Set (ADTS), ILE RPG, ILE Cobol and ILE C/C++. But there are plenty of alternative solutions on the market.

One option is to employ integration technology from the likes of Lansa and Geac to deliver new applications using RPG at the back-end and Java or XHTML (Extensible Hypertext Markup Language) for the front-end. Or you could breathe new life into existing systems by using bridging technology. This removes the data description specification (DDS), which defines the green-screen interface, and replaces it with Java or XHTML.

A third approach is to phase in a whole new development environment for the RPG world - write fresh RPG code and build an interface that removes all of the constraints of the dumb-terminal, green-screen layout by presenting the legacy application as Java classes. Technologies such as the Jacada Interface Server enable this. As well as delivering directly to Java, XHTML or XML, legacy integration and Web solutions specialist Jacada can redeliver an existing application so that it integrates into business systems such as Siebel or MQ Series.

"It is critical to keep legacy RPG code for most businesses today," says Pete Isaksson, US vice-president of product marketing at Jacada. "Business rules that preserve and protect the integrity of your information base are all built into that RPG code - to replace that code with SQL or some other raw data access is simply exposing your data unnecessarily and is a wasted investment. We feel that RPG still has great value on the host, but with Java as the graphical front-end."

Tim Jennings, research director at analyst firm Butler Group, rates Jacada, along with Web services solutions from legacy extension and integration specialist Seagull, as options for users looking to do more than just access their RPG legacy applications.

"There are many suppliers providing straight Web-to-host access for legacy applications but it is significant that many of them are moving into the integration space," he says. "There is definitely a focus on helping users get value for money out of what they've got. Users have plenty of 'renew, replace and renovate' options to choose from - they don't have to choose IBM's solution."

Nevertheless, IBM's Websphere offering is comprehensive and includes tools to help RPG programmers learn more complex server-side Java skills gradually, for example Code 400, which enables development on a PC, and the Web Facing Tool, which converts the green-screen interface to a browser interface.

Bruce Wassell, consulting IT specialist at IBM UK's Enterprise Systems Group, says, "I am aware of some very major development activity underway on the iSeries which is using RPG, but I think that as we come out of this current downturn in the industry we will see more companies moving towards e-business and an acceleration in demand for Java development skills. There is no question that IBM will continue to support RPG while there is an iSeries server, but in the future RPG will share the platform with Java."

Technologies for extending the life of RPG applications
  • Advanced Systems Concepts (ASC)
    RPG Into Objects (Rio) translates RPG source into Java classes or C++ programs.

  • Asna (Amalgamated Software of North America)
    Asna Visual RPG (AVR) is an integrated development environment providing cross-platform database access.

  • Business Computer Design International (BCD)
    Progen Plus develops RPG/400 and ILE RPG subfiles, reports, window and batch. Progen Java creates Java application programs and browser applets for the Web.

  • Crossworks
    Cross400 is a compiler and development tool that allows RPG applications to be platform-independent.

  • Jacada
    Jacada Interface Server automates the delivery of Java, HTML, XHTML, XML, Enterprise Java Beans, ActiveX and Visual Basic solutions.

  • Lansa
    Lansa for the AS/400 v 7.8 is a development environment.
    Visual Lansa is a graphical, component-based development tool.
    Lansa Open v.4.0 is a middleware integration tool.

  • Linoma Software
    CVTileRPG allows the conversion of RPG source code to ILE RPG IV, and enhances existing RPG IV source code.

  • Magic Software Enterprises
    Magic/400 integrates Web functionality into business applications.

  • Seagull
    Jaywalk, Tiger Ray, Wireless-to-host and Transidiom are Web-host connectivity tools.

Case Study: AIT worldwide logistics
Air freight services provider AIT Worldwide Logistics runs a core transportation system, developed using Synon tools, to process an enormous volume of transactional data on iSeries servers.

Traditionally, customers dialled into the RPG application over dedicated lines to create shipments, view billing details, and even generate "bills of lading" for their own internal accounting. But AIT wanted to offer them more enhanced Internet capabilities, such as real-time tracking of shipments, as well as reduce its own operational costs.

To this end, the company dramatically re-engineered the iSeries screen navigational workflow using the Jacada Interface Server. This breathed new life into the legacy application, and today AIT's customers can track shipment delays on their own systems in real-time, enabling more effective supply chain management.

Read more on Business applications