Skip to main content

Mainframe application modernization: Don’t start until you do this first

Tivoli software

From CCR2: The voice of System z software for more than 30 years

Vol. 6, issue 9 – 03 Sep 2008

Helen CarterBy Michelle Cordes
IBM Rational Ecosystem Team

Before you begin a mainframe applications modernization effort, there’s a lot to do in preparation. IBM Rational Asset Analyzer can supply information that can influence modernization decisions, speed development and reduce risk to the business. This article will address how an application development manager, a project leader and a developer can each benefit from the information provided by IBM Rational Asset Analyzer.

Cautious first steps

Many companies are talking about modernizing their mainframe applications, perhaps prematurely. There is much to do before starting a modernization effort. Consider: Are your company’s Web applications integrated with your existing COBOL or PL/I code? Do you have a firm grasp of how tightly intertwined your mainframe and distributed applications are?

Even the most knowledgeable developer couldn’t be expected to know all the interactions in the complex application infrastructures typical of most IT shops, but with the right tools you can quickly find this information. Upfront analysis can help you update your existing mainframe application assets faster and with lower risk, as well as reduce your long-term maintenance costs.

The newest addition to the IBM Rational Enterprise Modernization for System z portfolio, IBM Rational Asset Analyzer, can help. Rational Asset Analyzer provides project leaders, developers, and management teams with detailed reports and graphics that allow for an in-depth understanding of existing applications for the mainframe and distributed platforms. Rational Asset Analyzer can identify application dependencies for programs written in COBOL, PL/I, Java Enterprise Edition (Java EE), and various text formats, including HTML and XML.

After Rational Asset Analyzer scans the application code and loads the information into a DB2 database, you can view it in a browser interface and use the information in a range of tasks – from understanding applications to determining all the assets that could be affected by a proposed program change.

Making application development decisions

Rational Asset Analyzer supplies several metrics and a framework that lets you add your own metrics. Here’s how the IBM-supplied metrics might be used by an application development manager.

A manager might start at the Rational Asset Analyzer metrics dashboard to get an overall view of the amount of code in the targeted applications, as well as indications as to the mix of programming languages, and overall application complexity. The metrics dashboard displays a pie chart with information including file size, number of comment lines and number of lines in the file (Figure 1).

The metrics dashboard gives management an overall view of the code within an application portfolio
Figure 1: The metrics dashboard gives management an overall view of the code within an application portfolio.
In addition, the manager could drill down to see details about a specific program and its associated metrics – for example, using the IBM-supplied cyclomatic complexity metric for COBOL programs, and essential complexity and the Halstead effort metrics for COBOL and PL/I programs. (See Figure 2.)

Cyclomatic complexity - Cyclomatic complexity directly measures the number of paths through a program's source code. Programs with lower cyclomatic complexity are easier to understand and less risky to modify. A manager reviewing an application portfolio would have cause for concern if the greater proportion of the programs had a cyclomatic complexity measurement greater than 50.

Essential complexity - Essential complexity is a measurement of the number of entry points, termination points, and unstructured exits from blocks of COBOL and PL/I code, and is used to determine how well structured is a program. The closer to 1 this value is, the better the structure of the program, and the easier it is to maintain.

Halstead effort - The Halstead effort measures the complexity of a COBOL or PL/I program to determine the mental effort required to develop or maintain a program. The lower the value of this measure, the simpler the program would be to change.

In addition to the dashboard, you can drill down to see the detailed metrics of each program file. Here we see details about several COBOL programs, including file size, number of lines in the program, as well as the previously described complexity metrics.
Figure 2: In addition to the dashboard, you can drill down to see the detailed metrics of each program file. Here we see details about several COBOL programs, including file size, number of lines in the program, as well as the previously described complexity metrics.

Preparing for a change

A project leader might use Rational Asset Analyzer differently. For example, let’s say that a project leader has been informed of a need to make changes to a VSAM file, perhaps increasing several of its fields.

First, the project leader has to discover what assets use the VSAM file. The powerful impact analysis feature of Rational Asset Analyzer can help to determine all the artifacts that could be affected by a change to the file.

Next, the project leader can view a detailed file list (Figure 3) and see that a change to this VSAM file would affect specific distributed and mainframe applications. This list could also help estimate the effort required to implement the subsequent changes required to support the file change.

Finally, the list could help explain to the various development groups what changes would be required and how much time they could take.

Rational Asset Analyzer's impact analysis feature provides a detailed list of artifacts affected by a change. Here is a portion of the detailed list from the VSAM file change example.
Figure 3: Rational Asset Analyzer's impact analysis feature provides a detailed list of artifacts affected by a change. Here is a portion of the detailed list from the VSAM file change example.

What’s in it for the developer?

The tool’s Web browser interface allows many types of users to access the information inside the Rational Asset Analyzer repository. Through interactive textual and graphical reports, developers can understand MVS and Java applications and their relationships. A developer who recently received responsibility for an application’s maintenance might start analyzing a specific program within the application and drill down to understand its structure, find out if it is used in any batch jobs, and identify which files or tables it uses (Figure 4).

The run unit diagram shows the developer any programs called by the program, as well as the basic mapping support (BMS) maps and data files it uses.
Figure 4: The run unit diagram shows the developer any programs called by the program, as well as the basic mapping support (BMS) maps and data files it uses.
A run unit is the logical collection of all programs that can be reached via a call or transfer of control when a batch job or a transaction runs. The developer could drill down in Rational Asset Analyzer to view the program’s run unit details and see if it calls another program, and to determine what files and BMS maps it uses. The developer could also delve into the program to see if it reads or writes a specific file.

Drilling down to the details of a specific data element will also reveal the source code and can identify any dead code.

Rational Asset Analyzer can provide mainframe developers a great deal of information to help understand an application and how it relates to other applications.

First things first

To begin any successful application modernization initiative a development organization needs deep insight into its existing applications. IBM Rational Asset Analyzer provides this insight, which greatly improves IT staff productivity and reduces maintenance costs by eliminating the need to individually research, catalog and assemble information for each service request.

Learn more

Related links

We're here to help

live-assistance

Easy ways to get the answers you need.


Or call us at:
877-426-3774
Priority code:
104CBW62

Featured offer

A green strategy for your entire organization

Go green from the inside out.


Featured community

.

Leverage and contribute to the collective wisdom around Tivoli


Mainstream

System z information

The Mainstream e-newsletter, business journal for the System z community