Extend existing RPG assets to a web service-based approach

Rational Developer for i for SOA Construction provides the tools

IBM® Rational® Developer for i for SOA Construction (sometimes referred to as RDi SOA) is a software bundle for IBM® System i® developers. Because it combines Rational® Developer for Power Systems Software™, RPG and COBOL development tools for IBM i (RD Power) and Rational® Business Developer, it offers a complete solution to rapidly extend existing RPG and COBOL applications to a web or SOA environment. This article describes a scenario where RDi SOA is used to leverage existing RPG assets and transition to a services-based approach for delivery of key business functions.


Linda B Cole (lcole@ca.ibm.com), Sales Enablement Manager, Rational Enterprise Modernization, IBM

Linda Cole’s current assignment is with the IBM Toronto Lab as a sales enablement manager for Rational Enterprise Modernization, as part of the Ecosystem Team. Linda supports the Rational software portfolio for IBM Power Systems. Most recently, she was a marketing manager working with more than 120 IBM Business Partners in the IBM System i Tools Initiatives for Innovation Program. She spent the previous six years with the Toronto Lab in several WebSphere iSeries technical and marketing positions. In her 30 years with IBM, she has had a variety of assignments, including technical support, education, consulting, sales, and marketing roles. Linda has an extensive background in iSeries and AS400 products, dating back to 1988 when she specialized in WebSphere, application development, and business intelligence offerings. She is a frequent speaker at COMMON, users groups, and technical conferences.

04 October 2011 (First published 26 April 2011)

Also available in Chinese

IBM® Rational® Developer for i for SOA Construction Version 8.0.3 provides comprehensive development tools. (It is sometimes called RDi SOA informally, or referred to as Rational Developer hereafter). It combines these products:

  • IBM® Rational® Developer for Power Systems Software™, Version 8.0.3, which includes RPG and COBOL development tools for IBM® System i®
  • IBM® Rational® Business Developer, Version
  • IBM® Rational® Host Access Transformation Services Toolkit, Version 8

Thus, System i web development teams can use it to rapidly extend existing RPG and COBOL applications to a web or SOA environment.

There are several ways that this bank's staff could modernize existing applications. Rational software teams and business partners work with IBM Power Systems IBM i customers to assist them in building the right roadmap for their particular situation.

This article describes a scenario where using Rational® Developer for i for SOA Construction used existing RPG assets to transition to a services-based approach for delivery of key business functions.


Faced with challenges on various fronts, leaders at emerging Asian bank recognized that they had to change the way that they used IT to support the business. Because it was formed by the merger of four institutions, the bank was hampered with numerous redundant systems.

The IT team needed to consolidate and restructure the bank's operating environment, because their ability to compete with more modernized companies was in jeopardy.

Proposed solution
After careful investigation and analysis, the bank executives concluded that the most effective means to achieve their business objectives, in the shortest possible time and with minimum risk, was to implement a bank-wide service-based approach. This method can quickly expose core RPG transactions as services and allow development of new ad hoc services.

Rational Developer for i for SOA Construction overview

IBM Rational Developer for i for SOA Construction can help companies to update and extend mission-critical applications as services, thereby leveraging their core business rules in new ways. This software provides tools that help accelerate adoption of more modern architectures and technologies. For these reasons, the decision-makers at Asian Bank chose Rational Developer as their development tool for their modernization project.

The first step in their modernization project is to determine what assets they currently have and how their applications function.

They will use the enhanced Application Diagram function as a key tool to get a better understanding of their existing RPG and COBOL applications, so they can prepare for modernization of their application architecture. The Application Diagram provides a graphical view of the different resources in an IBM System i native application and their relationships to each other.

There are two different diagrams that can be used in the Application Diagram view:

  • Source Call Diagram
  • Program Structure Diagram

The Source Call Diagram takes ILE RPG and ILE COBOL source files as input and displays a call graph that shows subroutine and procedure calls.

The Program Structure Diagram takes program and service program objects as input and displays the binding relationships between them, as well as the modules bound into each program and service program.

The Application Diagram (see Figure 1) will also show program calls for ILE RPG, ILE COBOL, and CL source code. A new functional zoom feature in the diagram will graphically show subroutines and subprocedures within their source members. The diagram initially opens showing only source members, programs, and service programs, along with any direct relationships (copybooks and bindings) and indirect (procedure and program call) relationships between them. Then you can expand the source members to see the lower level details. Expanding a source member shows the call graph for that source member within the graphical representation of the source member in the diagram.

Figure 1. An Application Diagram view of an application
screen capture of the diagram

Larger view of Figure 1.

After RPG and COBOL service programs or service program procedures are identified as candidates to be used as web services, the Asian Bank team can use Rational Developer wizards to create a web service from their programs or procedures.

Web services development tools included

Web services are self-contained, modular applications that can be described, published, located and invoked over a network, such as the Internet, or within a server, employing "just-in-time' integration of services. Web services tackle the problem of inefficient distributed computing, because system components need to be loosely coupled and dynamically bound to provide greater flexibility, scalability, lower overhead costs, and hence, better business growth.

The architecture involves a relationship between service providers, brokers, and requesters. More specifically, a service requester submits a request to a service broker, which finds the right service from a service provider. Web service development tools help you develop this service.

The Web Service wizard in this Rational Developer tool creates a web service to call one or more RPG or COBOL server programs or service program procedures that are running on the IBM i system. The wizard works in the context of a Web Project and allows for creation, deployment, testing, generation of a proxy, and publication to a Universal Description, Discovery, and Integration (UDDI) registry of web services.

Rational Developer for i for SOA Construction also includes the use of a Program Call wizard that generates a PCML (Program Call Markup Language) file and JavaBeans technology to call any IBM System i program object or service program procedure, such as one written in ILE RPG, ILE C, or OPM COBOL. When calling an IBM System i program or service program procedure from a Java application, the wizard prompts you for information about the objects, along with the parameters for them, and then creates the JavaBeans and PCML file to handle the call.

For some of their applications the Asian Bank team chooses to use the IBM System i Web development tools that are included in Rational Developer for i for SOA Construction to create new web applications that use a web-based front end to communicate with the business logic in an ILE or non-ILE language program that resides on an IBM i server. By using these tools, they can build a web application from scratch and control everything about the application's behavior and appearance, with many options for customization. The developers can create a high-level design of their website and apply page templates by using web site designer.

Then they can use the Web Interaction wizard to create the individual pages with the Page Designer feature or generate input and output JavaServer Pages (JSP) files. They can also add IBM i web components to their pages, such as, web equivalents of IBM i command keys, input fields that accept only particular types of data, or a web component that provides subfile-like support. The IBM System i web tools provide open standards, greater flexibility, and the ability to tie into the bank's existing applications with web services wizards to help their developers write applications that are portable across platforms.

Advantages of EGL

The Asian Bank developers had little or no experience with Java and web technologies, so they can use Enterprise Generation Language (EGL) to create enterprise-class services and applications. EGL is a modern language that hides the details of the runtime platforms and associated middleware. Thus it shields the IBM i application programmers from the technical complexities of web and SOA middleware and frees the developer to focus on the business problems rather than on the underlying implementation technologies. IBM Rational Business Developer, which is part of the SOA bundle, provides an Eclipse integrated development environment (IDE) for EGL.

By using it, the Asian Bank team also leverages the strengths of Java without forcing their entire team of developers to learn and master the low-level intricacies. Rational Business Developer includes tools that help simplify creating and debugging EGL applications and services. It has an EGL compiler that transforms the EGL source code into modules that can be deployed to either a Java runtime platform or to ILE.

EGL addresses a full spectrum of business application requirements for development of the following:

Business services
The language built-in notion of service enables the creation and use of services in a simplified and straight-forward way.
Web applications
Tight integration of EGL with the JavaServer Faces (JSF) framework and tooling enables the creation of web applications without the need to know either Java or the details of the JSF framework.
EGL integration with BIRT, an open source reporting engine, allows the creation of professional reports.
Batch systems
The language includes the notion of batch program, which can be generated to run without end user interaction (for example, to produce reports or to batch database or files loads and updates).
Traditional IBM i 5250 transactional applications
EGL includes language constructs. IBM Rational Business Developer includes tools to support the development of 5250 display character-based dialogs and relative business logic.

In addition, Rational Business Developer (RDi SOA) empowers the Asian Bank developers to increase their productivity for IBM System i application development through these ways:

EGL provides concise and powerful notations that help eliminate the tight coupling. It reduces the amount of coding required to interface systems and middleware. This abstraction simplifies and speeds up development work.
Declarative programming
EGL includes a certain level of declarative specifications to help reduce repetitive and error-prone coding. For example, validation rules associated to a data item trigger validation to be executed whenever the item is used, in a web page or a 5250 screen.
EGL is a comprehensive but easy to learn language. It is modern, modular and readable. It has a rich library of built-in functions to boost your productivity for commonly required operations, such as date and time math, string manipulation, and so forth. In addition, the language is extensible and offers full interoperability with other languages, including EGL interfaces to native Java, and seamless invocation of RPG COBOL programs or any ILE procedures.
IBM Rational Business Developer contains a rich set of Eclipse-based capabilities, including EGL source level debugging, powerful smart editing, visual construction, graphical navigation, and automated generation for Create/Read/Update/Delete applications from Unified Modeling Language (UML) models or from data schemas.
EGL is designed to facilitate services development and deployment. A simplified SOA development paradigm is built into the language itself and complemented with the tools. Create services without the need to know web service protocols and standards such as Web Services Description Language (WSDL), Simple Object Access Protocol (SOAP), or Extensible Markup Language (XML).

IBM Rational Business Developer includes the following capabilities that will enable the bank to build modern, business-critical IBM i solutions:

  • EGL support for accessing Data Queues and Data Areas
  • Ability to create portlets in EGL
  • Message queuing (MQ) support through EGL language abstractions
  • Invocation of ILE procedures
  • Ability to create web applications for deployment to the IBM® i5/OS® Integrated Application Server
  • JSF enhancements (for example, Ajax, type ahead, and security)
  • IDE productivity enhancements: formatting, dynamic error markers, and debugger hot swapping
  • Improved web services development
  • Ability to invoke EGL programs from Java technology

Outcome and benefits

By using the Rational Developer for i for SOA Construction bundle, the staff of this Asian Bank was able to change the way they used IT to support the bank's business. They built a modernization roadmap that allowed them to move to more flexible application architecture by leveraging their inventory of RPG programs and procedures as services and by exploiting new web technologies. They accomplished all of this with their existing business-knowledgeable developers.



Get products and technologies



developerWorks: Sign in

Required fields are indicated with an asterisk (*).

Need an IBM ID?
Forgot your IBM ID?

Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.


All information submitted is secure.

Dig deeper into Rational software on developerWorks

Zone=Rational, IBM i, DevOps
ArticleTitle=Extend existing RPG assets to a web service-based approach