Use Rational Developer for System z for simple, secure, and smart debugging

Key advantages of the Integrated Debugger

IBM Rational Developer for System z provides a built-in, integrated, and secure debugging tool to help you debug applications simply, securely, and cost-effectively. This Integrated Debugger includes support for code coverage so that you can verify that IBM System z applications are effectively tested.

Share:

Venkat Balabhadrapatruni (venkatu@us.ibm.com), Chief architect, Rational Enterprise Modernization, IBM

Author1 photoVenkat is the Chief architect for Rational Developer for System z family of products, and is responsible for the technical direction, vision and strategy. Venkat has over 13 years of experience in enterprise-level software design, development and delivery.



Derek Truong (trong@ca.ibm.com), Manager, debugger and common debug architecture development, IBM

Author1 photoDerek is the manager for the Debugger and Common Debug Architecture development team. His team is responsible for the development of debug and code coverage technologies for Rational products.



15 April 2014

Introduction

As technology changes and new trends emerge, enterprises have to re-think and adapt new paradigms to develop, test, and deliver quality software more frequently. With the right set of tools, application developers are more productive and can deliver new releases with high quality, faster.

IBM® Rational® Developer for System z® is an integrated development environment (IDE) that supports multiplatform, multilanguage, multiruntime application development. The role of an IDE is to keep application developers focused on the critical development tasks. An effective IDE provides core capabilities, ready for immediate use. It is easy to learn, simple to configure, and well structured, so that you can finish your day-to-day tasks efficiently.

This article explains how to use the Integrated Debugger in Rational Developer for System z, to debug applications simply, securely, and cost-effectively.


IntegratedDebugger

Rational Developer for System z helps developers be more productive and adapt to new practices in application development. Rational Developer for System z v9.0.1 includes the Integrated Debugger,which is a new debugging technology. It also provides a framework to support interactive code coverage, without requiring additional prerequisite software.

The Integrated Debugger is a GUI-based, multiplatform, multi-language, source-level debugger that makes it possible to debug programs running on z/OS, monitor and modify variables, set breakpoints, and inspect program memory by using the standard Debug perspective in Eclipse.

In the process of writing new code or fixing a bug, a developer:

  • Analyzes
  • Edits
  • Builds code
  • Verifies changes

The verification process can consist of two aspects: debugging and getting coverage information to ensure that all the changes and code paths are being tested. The Integrated Debugger supports the debugging of programs that are compiled and running in the following environments:

  • IBM® Enterprise COBOL v3.4, 4.x, and v5.1 batch
  • IBM® IMS™ batch
  • IBM® DB2® batch
  • IBM® CICS® Transaction Server v4.1, v4.2, and v5.1 applications

The core architecture of the Integrated Debugger, as shown in Figure 1, is workstation-centric. The engine handles computations such as breakpoints management, expression evaluation, etc. It runs on the workstation, uses the workstation CPU, and communicates through TCP/IP with a component called the agent, which runs on IBM® System z®. The agent has a small footprint and attaches itself to the System z application that is being debugged.

Figure 1.Integrated debugger architecture
Engine on workstation and agent on System z

Because this architecture uses less memory and fewer z/OS® cycles, it can scale easily. The Integrated Debugger can run on Windows, IBM® AIX®, Linux® running on IBM® Power Systems™, and x86 Linux.

The Rational Developer for System z client makes it possible to initiate the debug session from the workstation. For example, a debug session for a batch COBOL application can start by submitting an existing JCL script or by triggering a debug application action on a load module. The JCL triggers the application on z/OS to run in debug mode with the agent running in the same address space as the application itself. It starts to communicate with the Integrated Debugger engine and the user interface to kick off the debug session. This process involves user authentication and establishing the engine-to-agent communication securely. The user-interface layer reuses the standard Eclipse Debug perspective. Therefore, the user experience and behavior of the Integrated Debugger is the same when debugging a Java application, a COBOL application, or a JavaServer Pages (JSP) application that invokes a CICS COBOL module.


Secure debugging

The Integrated Debugger supports the security protocol SSL/TLS for communication between client and host. In addition, the Integrated Debugger invokes debugging and code coverage without having to specify the client IP address as part of the TEST runtime option.

Figure 2 shows an overview of how the technology works. A new component, the debug connection manager, orchestrates the process of establishing secure connections by using the existing, established security context through the Remote System Explorer (RSE), which Rational Developer for System z uses for client-to-z/OS communication.

Secure connections are established in two steps:

  1. You authenticate to the host using RSE. After this connection is established, this information is registered with the debug connection manager so that it can associate a user with the client address.
  2. By using this established relationship, the debug connection manager routes new debug communications to the right client when a debug session is requested, without explicitly needing to specify the IP address and port. The connection manager component handles the authentication of the incoming debug session, and once verified, handles the engine-to-agent communication throughout the debug session.
Figure 2. Debug connection manager flow
Connection manager components and flow

This approach simplifies and increases the security of the connection. It changes the direction of the connectivity from the traditional outbound connection to the client, to an inbound connection to the host. The debug connection manager is a host component. It is included with the Rational Developer for System z host component and is installed using the standard SMP/E install mechanism. The debug connection manager is included in the Rational Developer for System z v9.0.1.2 fix pack, which is now available for an upgrade or an initial install.


Conclusion

The Integrated Debugger in Rational Developer for System z provides simple, integrated, built-in support for critical application development activities in a secure way. With the Integrated Debugger, an application developer can debug code and assess code coverage to ensure that all the changes and code paths are being tested. With Rational Developer for System z you can perform intelligent editing, code analysis, unit testing, and now, with the Integrated Debugger, faster debugging. The Integrated Debugger helps your team work toward continuous integration, continuous testing, and continuous delivery of z/OS applications. You can deliver higher-quality software, faster and more frequently.

Resources

Learn

Get products and technologies

Discuss

Comments

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


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=968277
ArticleTitle=Use Rational Developer for System z for simple, secure, and smart debugging
publish-date=04152014