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 126.96.36.199
- 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.
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
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
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
- 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
- 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.
- Visit the Rational Developer for i for SOA Construction overview page. Also check the Rational Business Developer overview and the Rational Developer for Power Systems overview, plus the features and benefits web pages, for more details.
- Visit the Rational software area on developerWorks for technical resources and best practices for Rational Software Delivery Platform products.
- Stay current with developerWorks technical events and webcasts focused on a variety of IBM products and IT industry topics.
- Improve your skills. Check the Rational training and certification catalog, which includes many types of courses on a wide range of topics. You can take some of them anywhere, any time, and many of the "Getting Started" ones are free.
Get products and technologies
- Download and try Rational Developer for i for SOA Construction, free.
- Evaluate IBM software in
the way that suits you best: Download it for a trial, try it online, use it in a
Spend a few hours in the SOA Sandbox learning how to implement service-oriented architecture efficiently.
- Get hands-on experience the Enterprise Modernization Sandbox, too.
- Join the Enterprise Architecture and Business Architecture forum or the HATS HotSpot forum to ask questions and participate in discussions.
- Share your knowledge and help others who use Rational software by writing a developerWorks article. You'll get worldwide exposure, RSS syndication, a byline and a bio, and the benefit of professional editing and production on the developerWorks Rational website.
- Follow Rational software on Facebook and Twitter (@ibmrational), and add your comments and requests.
- Ask and answer questions and increase your expertise when you get involved in the Rational forums, cafés, and wikis.
- Connect with others who share your interests by joining the developerWorks community and responding to the developer-driven blogs.
Dig deeper into Rational software on developerWorks
Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.
Experiment with new directions in software development.
Software development in the cloud. Register today to create a project.
Evaluate IBM software and solutions, and transform challenges into opportunities.