Note: This article has been updated. See the latest information Extend existing RPG assets to a web service-based approach.
IBM® Rational® Developer for System i for SOA Construction is a new software bundle that will be available in the first quarter of 2008. It combines IBM® Rational® Developer for System i and IBM® Rational® Business Developer. This combination offers a complete solution for modern Web development and use of Web services to rapidly extend existing RPG and COBOL applications to a Web or service-oriented architecture (SOA) environment.
This article describes a scenario where the use of this Rational software combination for SOA development can reduce time to market and reduce risk by taking advantage of existing RPG assets to transition to a services-based approach for delivery of key business functions.
Example: IT modernization scenario
Challenge: An emerging Asian bank needed to consolidate and restructure its operating environment or risk its ability to compete.
Scenario: Faced with challenges on various fronts, the staff of this bank recognized that they had to change the way they used IT to support their business. After forming following the merger of four institutions, the bank was saddled with numerous redundant systems.
There are several ways that this Asian bank could modernize their existing applications. IBM Rational teams and IBM Rational Business Partners work with i5/OS customers to provide assistance in building the modernization roadmap for every customer situation.
Proposed solution: After careful investigation and analysis, the bank concluded that the most effective way to achieve its business objectives, in the shortest possible time and with minimum risk, was to implement a common system for a bank-wide application by using a services-based approach that can quickly expose core RPG transactions as services and allow development of new, ad hoc services.
Key features of Rational Developer for System i for SOA Construction
IBM Rational Developer for System i for SOA Construction can help companies update and extend mission-critical applications as services, thereby applying their core values in new ways. It provides tools that can be used to accelerate adoption of modern architectures and technologies. For these reasons, the bank chose it as their development tool for their modernization project.
The first step in this modernization project is to determine what assets they currently have and how their application functions.
The bank will use the enhanced Application Diagram function in Rational Developer as a key tool to get a better understanding of their existing RPG and COBOL applications and to help prepare for modernization of their application architecture. The Application Diagram function provides a graphical view of the different resources in an i5/OS 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 (Integrated Language Environment) RPG and ILE COBOL and CL (Command Language) source as input and displays a call graph that shows subroutine, procedure, and program 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.
A zoom feature in the Application Diagram view shows 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 aggregated relationships (subroutine, procedure and program call) between them. As Figure 1 shows, 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. Application Diagram view of an application
If a deeper discovery and understanding of the bank's i5/OS application or the application contains non-ILE RPG and COBOL, they might want to consider working with vendor tools, such as the X-Analysis tool from Databorough, an IBM Rational Business Partner. Databorough also has a tool called X-Migrate, which they can use to refactor legacy RPG and COBOL programs. (See Resources for a link to learn more about these tools.)
After they have identified the RPG and COBOL service programs and service program procedures as candidates to be used as Web Services, the bank's IT department can use Rational Developer for System i for SOA Construction wizards to create Web services.
Web services development tools included
Web services are self-contained, modular business functions that can be described, published, located, and invoked over a network, 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 and scalability, to lower overhead costs, and hence, to improve business growth. The architecture involves a relationship between service providers, brokers, and requesters. More specifically, service requesters submit a request to a service broker, which finds the right service from a service provider. Web services development tools enable you to 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 i5/OS. The Web service 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 System i for SOA Construction also includes a Program Call wizard that generates a PCML (Program Call Markup Language) file and Java™Beans technology to call any i5/OS program object or service program procedure, such as one written in ILE RPG, ILE C, or OPM COBOL. When calling an i5/OS program or service program procedure from a Java application, the wizard prompts for information about program or service program objects, along with the parameters for the objects, and then creates the JavaBeans and PCML file to handle the call.
For some of their applications, the Asian bank's developers choose to use the i5/OS Web development tools that are included in this Rational SOA Construction software to create new Web applications that use a Web-based frontend to communicate with the business logic in an ILE or non-ILE language program on an i5/OS server. By using these tools, the they can build a Web application from scratch and control everything about the applications' behavior and appearance, with many options for customization. The developers can create the high-level design of their Web site 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 Java™ Server Pages™ (JSP) files. They can also add i5/OS Web components to their pages, such as Web equivalents of i5/OS command keys, input fields that accept only particular types of data, or a Web component that provides subfile-like support. The i5/OS Web tools given them the benefit of using open standards, greater flexibility, and the ability to tie into their existing applications with Web services wizards to help them write applications that are portable across platforms.
For most of their development needs, the developers choose to use the Enterprise Generation Language (EGL). IBM Rational Business Developer, which is part of this SOA bundle, provides an Eclipse integrated development environment (IDE) for EGL. (EGL is a modern language designed to shield i5/OS application programmers from the technical complexities of Web and SOA middleware and standards.)
EGL provides a simpler and more high-level development paradigm to help accelerate development of robust and sophisticated Web applications and service-oriented solutions. EGL allows enables the bank's developers to embrace and leverage the strengths of Java™ and Java™ 2 Platform, Enterprise Edition (J2EE) technology without forcing their entire team of developers to learn and master the low-level intricacies of these technologies. Rational Business Developer includes state-of-the-art tools that help simplify creation and debugging of EGL applications and services. It includes an EGL compiler that transforms the EGL source code into modules that can be deployed to either a Java runtime or and ILE environment. By handling the details of the runtime platforms and associated middleware, EGL frees the developer to focus on the business problems, rather than on the underlying implementation technologies. The Asian bank's developers who have little or no experience with Java and Web technologies can use EGL to create enterprise-class services and applications.
EGL is designed to aid development of this full spectrum of business application requirements (also see Figure 2):
- 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 Java™Server 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.
- Reports. EGL integration with BIRT (Business Intelligence and Reporting Tools ), 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 i5/OS 5250 transactional applications. EGL includes language constructs. IBM Rational Business Developer includes tools to support the development of 5250 character-based dialogs and relative business logic.
Figure 2. EGL is designed to address a full spectrum of business application requirements
IBM Rational Business Developer also provides several ways for developers to increase their productivity for i5/OS application development:
- Abstraction. EGL provides concise and powerful notations that help to 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 with a data item trigger validation to be run whenever the item is used in a Web page or a 5250 screen.
- Language. 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, as well as seamless invocation of RPG or COBOL programs or any ILE procedures.
- Tools. 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 of Create/Read/Update/Delete (CRUD) applications from Unified Modeling Language (UML) models or from data schemas.
- SOA. 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. You can 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).
The next release of IBM Rational Business Developer will include the following enhancements for building modern, business-critical i5/OS 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 i5/OS Integrated Application Server
- IDE productivity enhancements: formatting, dynamic error markers, and debugger hot swapping
- Improved Web services development
- Ability to invoke EGL programs from Java tools
Benefits of this solution
By using the Rational Developer for System i for SOA Construction bundle, the staff of this Asian bank changed the way that they use IT to support the business. They built a modernization roadmap that enabled them to move to a more flexible application architecture. As a result, they could still use their inventory of RPG programs and procedures as services, yet exploit new Web technologies.
- Visit the Databorough Web site, for more information about their X-Analysis and X-Migrate tools.
- Visit the Rational software area on developerWorks for technical resources and best practices for Rational Software Delivery Platform products.
- Visit the Rational Business Developer Extension product page on developerWorks to learn more about this powerful workbench for EGL development, an innovative end-to-end rapid development approach. You will find technical resources and best practices for delivering cross-platform Web and service-oriented applications.
- Explore Rational computer and Web-based courses. Hone your skills and learn more about Rational tools with these courses, which range from introductory to advanced. The courses on this catalog are available for purchase through Computer Based Training and Web Based Training as indicated. Additionally, some "Getting Started" courses are available free of charge.
- Subscribe to the IBM developerWorks newsletter, a weekly update on the best of developerWorks tutorials, articles, downloads, community activities, webcasts and events.
- Subscribe to the developerWorks Rational zone newsletter. Keep up with developerWorks Rational content. Every other week, you'll receive updates on the latest technical resources and best practices for the Rational Software Delivery Platform.
- Subscribe to the Rational Edge newsletter for articles on the concepts behind effective software development.
- Browse the technology bookstore for books on these and other technical topics.
Get products and technologies
- Download trial versions of IBM Rational software.
- Download these IBM product evaluation versions and get your hands on application development tools and middleware products from DB2®, Lotus®, Tivoli®, and WebSphere®.
Dig deeper into Rational software on developerWorks
Experiment with new directions in software development.
Read and subscribe for the best and latest technical info to help you deal with your development challenges.
Software development in the cloud. Register today and get free private projects through 2014.
Evaluate IBM software and solutions, and transform challenges into opportunities.