Introduced in 2003, The IBM® Rational® Developer for System z® solution, the IBM Corporation's z/OS Eclipse-based software development integrated development environment (IDE) for the 21st century has been around and in widespread use.
In that time, Developer for System z solution has made the professional lives of z/OS programmers doing traditional application maintenance as well as "enterprise modernization" simpler and better. The tool has helped make developers more productive (see "Benchmarking z/OS Development Tasks: Comparing Programmer Productivity using Rational Developer for System z and ISPF" in the Resources section) and aided their companies in saving money.
The Developer for System z tool does this by streamlining and refactoring z/OS development processes into a structured, efficient analysis, editing and testing operations, sustained by modern graphical user interface (GUI) tools (Eclipse-based), wizards and menus – making it perfect for new-to the-mainframe twenty and thirty-something developers.
The Developer for System z environment also empowers veteran time sharing option (TSO) developers through faithful interactive system productivity facility (ISPF)-emulation and exceptional tooling for tough everyday z/OS software maintenance and support tasks (data flow analysis, control flow analysis, etc.). Via its powerful, simple GUI tools the Rational Developer for System z tool has helped refurbished the skill sets of veteran TSO developers, growing them into effective, contributing project staff for today's application requirements, such as:
- Service Oriented Architecture (SOA)
- J2EE Component Architecture (JCA)
- Unified Modeling Language™ (UML)
In each release since 2003, the Rational Developer for System z solution has been delivering incremental benefits — including the mantra of today's z/OS shops "Development MIPS reduction" — without having to offload your sprawling and complex applications, including (but not limited to) data-file and database offloading — often such a time-consuming, complex and daunting premise that it is impractical to address.
What makes the Rational Developer for System z solution a preferred IDE for z/OS enterprise computing? If you are already using Rational Developer for System z it is clear to you the advancements that this tool has made in your industry, because you are able to leverage these advantages every day.
If you're using the same TSO/ISPF green screen development environment used for PL/I, COBOL, and assembler work since the mid 1970s, the new environment will help you improve your workflow and productivity. In fairness, the ISPF tools were, in the 1970s, considered state-of-the-art. As we close in 2011, they are adequate for many of the tasks that percolate in the life of today's z/OS programmer. Unfortunately, today's software design needs cannot be met with "adequate" tools.
Today's business climate demands development technology that provides functionality and coverage for modern requirements such as wizards for developing XML parsing routines, for developing and testing web services and stored procedures, etc., while at the same time shortening the maintenance, support and development lifecycles. This is achieved by eliminating routine tasks, significantly lowering the number of keystrokes needed to work effectively, and make better use of screen "real estate" than the 3270 interface.
By substantially reducing the amount of typing (for everything). using dedicated wizards (see Figure 6) and by making better use of screen real estate (see Figure 1) via advanced Eclipse tooling and by interlocking with other IBM and non-IBM Eclipse-based tools, the Rational Developer for System z solution is the IDE for business application development. It's the Rational Developer for System z solution’s automated features, efficiency tools and improved workflows that streamlines your project development; this is how we define getting into the "groove".
Figure 1.The Rational Developer for System z tool's Eclipse-driven optimized screen
Developer productivity for the Rational Developer for System z product versus ISPF was established by the IBM Corporation in an IDE Efficiency Benchmark completed in Q1 of 2010. The benchmark compared Rational Developer for System z Version 7.6.1 against ISPF version 6 across a set of over one hundred traditional z/OS application maintenance tasks (to see the presentation, see "Benchmarking z/OS Development Tasks: Comparing Programmer Productivity using Rational Developer for System z and ISPF" in the Resources section).
In Version 8.0.0, the Rational Developer for System z product helps take established productivity and return on investment (ROI) benefits to new levels. The tool does this by focusing on three key productivity areas:
- Product installation and enterprise rollout management.
- New (or enhanced) developer productivity features.
- Code management and restructuring.
Installing the Rational Developer for System z client has always been straightforward, managed via automated software configuration tools such as IBM's Installation Manager. However, the Rational Developer for System z server is a mainframe process, and in order to integrate with your company's host systems' unique infrastructure, security and software taxonomy (combination of z/OS tools and customizations, system exits etc. applied) the Rational Developer for System z server must be installed and configured by systems programmers.
The IBM Rational development team has been fine-tuning documentation and has recently added ISPF Host-Install panels in order to simplify and expedite this process. This release saw considerable work and improvements in this area.
Continuing with the theme that every mainframe shop is unique, as you propagate the Rational Developer for System z client across your development organization, finding consistency and economies of scale to developer preferences and system definitions is important. The Rational Developer for System z Version 8.0 provides options to define and share a single set of Eclipse and system definitions across a team. These definitions include:
- Eclipse preferences, including options for everything from look and feel to connections and behavior (how many rows to allow download in one step from DB2 for editing, etc.).
- Remote system connections.
- z/OS File System Mappings: these allow you to associate file extensions with dataset patterns.
- Property groups: used to define compilation datasets and other program settings.
Beginning in Version 8.0, you can configure Rational Developer for System z solution to automatically distribute product updates and updates to configuration files, preference settings, and remote system connections when client workstations connect to a remote system. The Rational Developer for System z tool can distribute the following types of updates:
- Product installation updates.
- Product configuration updates.
In Rational Developer for System z Version 8.0, the new offering is focused on providing intuitive software development productivity features.
For traditional (veteran) developers used to ISPF style dataset access, the new Rational Developer for System z solution has extended its existing smart dataset access features with a Retrieve Dataset option (Figure 2) that not only provides immediate access to your files similar to ISPF's "DSLIST" panel (=3.4), but it remembers which files you've opened and provides a combo-box populated with links to them for even easier retrieval. This feature also provides fast, combo-box based retrieval for batch jobs output.
Figure 2. Rational Developer for System z Version 8.0 fast dataset retrieval options
Content Assist for embedded SQL statements
The System z LPEX editor, COBOL Editor, and PL/I Editor now provide content assist and improved real-time syntax checking for EXEC SQL statements in COBOL and PL/I programs.
When a database connection is available, the proposals provided take into account the actual database elements being used (referenced) by the program including table names, columns, and schemas
The Rational Developer for System z file compare features has been enhanced (see Figure 3) to better when comparing the content of remote MVS files including comparing against versions in your source code management system. The new compare emphasizes syntax highlighted source, and allows you to drill down into the sections. The File Compare works with CARMA, Endevor, IBM Rational Team Concert and IBM Rational ClearCase® solutions, and basic Sequential files and dataset members.
Figure 3. New file compare functionality
The BMS Editor functionality has been extended to include these capabilities:
- The ability to set auxiliary alignment hairlines – for easier and more precise visual editing, grouping, moving and aligning lists of controls.
- This enhancement also provides the addition of guides to the design page. The guides can be created vertically or horizontally, by simply clicking on the vertical or horizontal ruler.
- The fields can then be attached to these guides, so that the fields can be aligned.
- The guides can be moved along the design page, this causes all the fields attached to the guide to move along with it.
C/C++ editing support
The following improvements have been made for IBM C/C++:
- Support for the xlc compiler has now been added to the Target Environments for z/OS® UNIX subprojects.
- Default Build Option sets for the xlc compiler are available for both debug and non-debug compilation.
- Show dependencies support has been added to MVS subprojects for C/C++ file in order to ensure that all necessary files are available to offline projects.
- System z LPEX Editor now supports Ctrl+O for Quick Outline when using the HLAsm and C/C++ parsers.
- Remote C/C++ Editor and System z LPEX Editor now supports source code formatting (Ctrl+F) for C/C++ files. Define formatting options, or use one of the pre-configured code styles to make C/C++ code easier to read.
Remote makefile editor
The Remote makefile Editor supports Open, included to open nested makefiles.
COBOL and PL/I editor
The COBOL and PL/I editor is enhanced to include these new capabilities:
- New COBOL and new PL/I editors are available and are built off of the Eclipse framework, in addition to the existing LPEX editor framework.
- These new editors offer an extensible template mechanism (see Figures 4 and 5) and faster content-assist and real-time parsing.
- The new editors look and behave like eclipse-Java style editors. They are aimed at simplifying the on-ramp to COBOL and PL/I for the next generation of developers who are used to the look & feel of Java™-Eclipse.
- You can share preferences between the LPEX and new editors.
Figure 4. New COBOL editor with customizable templates and an Eclipse-Java look and feel
Figure 5. New PL/I editor, with customize-able templates and an Eclipse-Java look and feel
The Rational Developer for System z toolset has been enhanced to include several usage-simplification enhancements. In order to improve productivity and shorten the learning curve, there are a substantial amount of menu reordering options, including adding hot-keys and wizard simplification. Included in this effort is "Runtime-focused options", where based on the property page assigned to your project, IMS or CICS options will appear — or not — in menus.
Measured improvement integration
The IDE now offers a Measured Improvement integration feature. The new version has implemented techniques that allow you to track Rational Developer for System z solution events, such as local syntax checks. This can help calculate productivity improvements as well as MIPS savings you're getting by performing development functions locally by using the Developer for System z environment.
Remote Systems Explorer
The latest version of the Developer for System z product extends new Remote Systems Explorer (RSE) enhancements. RSE is used to access mainframe resources through a Microsoft® Windows® development metaphor (folders, drag & drop, wizard functionality, etc.). New in the Version 8.0 toolset:
- You can copy a load module from one library to another within the same remote system.
- You can add menus and actions created by using Menu Manager to the Remote Systems view.
- The Properties view for the MVS Files subsystem indicates whether or not SSL is in use for the remote system connection.
- Remote Index Search:
- The Remote Index Search view now has been reengineered and extended for increased usability.
- Shortcut keys have been added for many zIDE functions to help improve usability and efficiency.
- A new tutorial teaches you how to assemble, link, and compile the Global Auto Mart Sample, one of the sample applications delivered with Rational Developer for System z.
The Menu Manager has been improved to provide greater efficiencies. A Rational Developer for System z feature that provides a simple method for integrating useful mainframe processes into the Developer for System z solution. In the new version, Menu Manager supports menu creation for Linux on System z projects and z/OS® UNIX files in Remote Systems Explorer.
Projects and subprojects
Projects and subprojects have been enhanced to offer these features:
- You can associate an MVS subproject with a particular runtime environment so that runtime-specific actions are appropriately enabled or disabled for the subproject. Supported runtime environments are Batch, CICS®, and IMS.
- A new setting in the z/OS system configuration file allows you to disable the Delete command on the pop-up menu for MVS subprojects. This configuration setting helps prevent users from inadvertently deleting remote system resources when their intention is only to remove a data set from a subproject.
The Common Access Repository Manager now has new features to improve its performance. CARMA is used to integrate the Developer for System z tool with mainframe source control management systems such as: CA-Endevor, Serena Changeman, CA-Panvalet, CA-Librarian, etc. These enhancements include:
- In Rational Developer for System z v8.0.1, new tutorials have been added to the documentation for the Common Access Repository Manager (CARMA).
- These tutorials demonstrate customization users can create for CARMA by creating plug-ins that make use a various extension points.
In particular, the two exercises in this tutorial showcase three new extension points for CARMA users, including ActionValidator, ParameterValidator and CustomActionControl.
The Endevor support: Related to CARMA-access but specific to support for CA-Endevor, a new simple DISPLAY (View) wizard is now available. Also new to Version 8.0 for Endevor are these new capabilities:
- Sorting source members by type.
- Hiding empty subsystems/types.
Compiler language debugger
In the compiled language debugger, new features are available to drive debugging productivity:
- In the Breakpoints view, you can now import and export breakpoints.
- In the Debug editor, when you hover over the name of a variable, the compiled language debugger displays a small window and the structure of the variable.
- For variables that have a complex structure, the window displays the structure as a tree with nodes that you can collapse and expand.
- The help for the compiled language debugger has been updated to include a new "Getting Started" topic, plus quick access to the User's Guide and Reference and Messages.
Enterprise service tools
The Rational Developer for System z V8.0.1 Enterprise Service Tools component contains new features for both single-service projects and service-flow projects.
The single-service project tools and the service-flow project tools run on the Linux operating system, with a few limitations. For single-service projects:
- A new top-down feature generates an Enterprise PL/I-based IMS™ web service provider program, supporting multiple operations from a single, multi-operation WSDL file.
- Coupled with this feature, four new APIs are introduced to simplify the task of sending and receiving the SOAP Header language structure in the IMS Message Queue (IRZQGETS, IRZQSETS, IRZXGETS, IRZXSETS).
For Enterprise PL/I, compiled conversions, enhancements to mapping XML to Enterprise PL/I have been made, including:
- The type xsd: Boolean is mapped to PL/I BIT(1) ALIGNED.
- Enterprise PL/I IEEE decimal floating point format is supported.
- The types xsd:float and xsd:double are mapped to PL/I IEEE DFP (decimal floating point).
- For PL/I: The maximum size of the buffer (XML structure) that a generated conversion program can use for sending or receiving data is increased to one gigabyte - 1 (that is, 230 - 1 or 1,073,741,823 bytes).
The performance of generated XML to COBOL conversion programs is improved.
Figure 6. Enterprise Service Tools – used to generate web service artifacts
SCLM Developer toolkit
A new SCLM Developer toolkit is now available. The toolkit includes a set of Rational Developer for System z features and facilities for integrating your Developer for System z desktop client with your mainframe Software Configuration and Library Management facility (SCLM) (for more information, see the Resources section).
The following enhancements have been made to Version 8.0.0 of the IBM SCLM Developer Toolkit:
- Additional member account information is now displayed in the properties window when you click a member residing in the SCLM views. This additional and reformatted account information is also available when you right click a member and select 'View / refresh SCLM status'.
- In the SCLM member view, you can now tailor your own display preferences with additional key account information.
- Performance improvements have been made on various function requests, especially on 'populate project filter view', resulting in quicker response times.
- In the SCLM repository view, you may now tailor your view. This may help with ease of identifying project filter selection with multiple project views.
In the Version 8.0, Linux Environment Support - zIDE contains these new features:
- Support for Linux platforms: The Rational® Developer for System z solution now provides client and server components that operate on the following operating systems:
- SuSE Linux Enterprise Desktop (SLED) 10 and 11 (32-bit).
- Red Hat Desktop Linux 5 and 6.
- Red Hat Enterprise Linux (RHEL) 5 and 6 (Only 32-bit).
- SuSE Linux Enterprise Server (SLES) 10 and 11 (Only 32-bit).
Another new Rational Developer for System z Version 8.0 editor feature is the ability to select contiguous lines of source code and direct the IDE to build a paragraph out of the code (see Figure 7).This structured programming and modularization direction helps create deep support for business rules mining.
Figure 7. Refactor and Extract Paragraph functionality
The Rational Developer for System z solution's groove – that is, using automated features, efficiency tools and improved workflows that help streamline your project development are great reasons for exploring the product if you're not yet a Rational Developer for System z user. If you're already a Rational Developer for System z developer, enjoy the numerous labor saving and streamlining features designed to make your software development process easier and more intuitive.
- Read Benchmarking z/OS Development Tasks: Comparing Programmer Productivity using RDz and ISPF (Benchmarking IDE Efficiency.pdf) by Jon Sayles.
- Learn about ISPF Software Configuration and Library Manager facility (SCLM).
- Find out more about Rational Developer for System z features and benefits:
- Visit the product page and the developerWorks page, which is a great starting place to find articles and other technical information.
- Read through the Information Center, and explore the Rational Developer for System z plug-in for the IBM Education assistant, which includes multimedia modules to watch.
- 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.
- Attend a free developerWorks Live! briefing to get up-to-speed quickly on IBM products and tools, as well as IT industry trends.
- Follow developerWorks on Twitter.
- Watch developerWorks on-demand demos, ranging from product installation and setup demos for beginners to advanced functionality for experienced developers.
- Explore Rational computer-based, Web-based, and instructor-led online 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 or Web-based training. Additionally, some "Getting Started" courses are available free of charge.
Get products and technologies
- Download a free trial of Rational Developer for System z.
- Evaluate IBM software in the way that suits you best: Download it for a trial, try it online, use it in a cloud environment, or spend a few hours in the SOA Sandbox learning how to implement service-oriented architecture efficiently.
- Ask and answer technical questions and exchange information with your peers in the Rational Developer for System z forum and the community hub at the IBM Rational COBOL Café.
- Get involved in the My developerWorks community. Connect with other developerWorks users while exploring the developer-driven blogs, forums, groups such as the Rational Café, and wikis.
Jonathan Sayles is a technical sales specialist at IBM® Rational® Software, where he conducts presentations, seminars and training courses, and produces educational materials. Sayles has more than 30 years in the IT education and computer industries, encompassing work within both academic and corporate organizations. Sayles is also engaged as a software developer/designer/consultant, educator and author, with a focus on relational database, IDE, and object technologies.