If you are out and about this weekend you may encounter a parade or some people acting very festive while dressed in green. While your first thought might be that the latest update for IBM Developer for z Systems (IDz) has lead to quite a celebration, I felt I should remind you that March 17th is Saint Patrick's Day
. Since IDz version 14.1.6 contains many enhancements specifically requested by our users, I am sure this new and noteworthy blog will cause joy for several RFE submitters and their colleagues. However, I do understand that any celebrations that result, will pale in comparison to the world wide festivities taking place in remembrance of Ireland's foremost saint.
Since many of our users are adopting DevOps
practices such as Shift Left testing, the feature of IDz with the most enhancements is zUnit, the z/OS Automated Unit Testing Framework. At the end of last year I blogged
about our Technology Preview of zUnit support for CICS. Over the past few months we have added this support to the zUnit feature so that it is no longer a technology preview. When developers create unit tests for their mainframe applications they can uncover coding bugs early in the development process. The sooner these bugs are discovered, the quicker they can be fixed. Unit testing not only improves the quality of code but also reduces waste by minimizing delays due to hand-offs and re-work.
The new zUnit support for CICS allows developers to record interactions with a CICS program, capture the data used by the program and then stub out all the EXEC CICS commands in the program. This approach allows the newly generated zUnit test case to run the CICS application program outside of the CICS environment. By doing so it allows the COBOL logic in the program to be tested rapidly and repeatedly as part of an automated DevOps pipeline.
Creating a Unit Test Case
In addition to the new CICS support, there were several other user requested enhancements delivered as part of zUnit in IDz 14.1.6. A new preference was added to allow overriding the prefix used for naming test cases. This provides an easy way to adhere to organizational naming standards. A new zUnit Test Case Templates preference page was created which provides an easy way to customize the setup and teardown portions of a test case. If your application requires some unique allocation of resources (e.g., memory, connections, etc) prior to a test being run, and then subsequent release of those resources after test execution, this new page can be used to quickly add that capability. Once added, each test case generated afterward will include this customization.
zUnit Test Case Templates Preference
Other Requests For Enhancement we have added to zUnit in this release include support for application programs which have File Definitions in a subprogram call and not in the main program. The toolbar for the Test Data Entry Editor now includes buttons for adding, editing and removing input and output File Definitions in support of this scenario. Also developers will now see the z/OS Automated Unit Testing Framework (zUnit) menu actions available from within an edit session. This is especially convenient for organizations that make use of the preprocessor support in IDz editors. By first choosing the identify using configured preprocessors action and then choosing the zUnit > Generate Test Case menu action, test cases can be generated from the original source files. This new capability should save developers time as they no longer need to find the preprocessor results file themselves and use it for generating test cases.
Another area of significant interest from our user community is using Git for z/OS
and IBM Dependency Based Build (DBB)
. For enterprises who have chosen Git as their strategic SCM, developers can access and build traditional mainframe applications artifacts such as COBOL, PL/I and Assembler source code in the same way as the rest of the developers in their company. The DBB User Build feature in IBM Developer for z Systems Enterprise Edition (IDz EE) provides developers a simple way to compile before doing a commit. IDz EE 14.1.6 enhances this capability in several ways.
- The menu item for starting a User Build is now available from within an edit session with a simple right click. Previously the action was only available by selecting the file in the z/OS Projects view.
- During a dependency based user build, a list of files is presented to the user in order to decide what should be uploaded to the host system for use during a build. A check box is present that when selected will pre-select include files regardless of whether the source file has been edited previously or not.
- A new Build Defaults preference page has been added that provides an easy means of configuring common settings. Of course these settings can be overridden if an individual file requires unique values.
If you are interested in learning more about the use cases for IBM Dependency Based Build then I would suggest having a look at the video located here
and this whitepaper
In addition to the features mentioned above, other areas where Requests for Enhancements were delivered in IDz 14.1.6 include our editors, refactoring, DCLGEN, and RTC user build. The list below describes some of these user requested enhancements:
- Unreachable code is now automatically highlighted with a warning. If for some reason you do not want this behavior, set the Unreachable Code preference to Ignore on the COBOL > Real-Time Syntax Checking preference page
- Double clicking on white space between two language constructs selects the entire area
- The PL/I Formatter preference page was re-designed to improve readability and ease of use
- Refactoring preview mode improvements
- Refactoring support for creating a single program interface for CICS programs
- DCLGEN availability for Views now, in addition to Tables
- More flexibility on the RTC user build job name preference
- SYSLIB simplification for the generate property group feature of RTC EE when the Use For Syntax Check option is specified on a Translator
Refactoring preview mode
Finally I wanted to mention just a couple other items which are not enhancements, but certainly a cause for celebration to the subset of our user population they impact.
- A new feature named Code Review for Rational Programming Patterns (RPP) was added to the Installation Manager Features panel. Selecting this feature will allow RPP to be installed with IDz 14.1.6
- The Host Connection Emulator has been updated to support macOS 10.14 (Mojave)
As you can see a significant amount of what we deliver is driven by discussions we have with our users. Some of those discussions take place virtually through the RFE Community and our Sponsor User program, and others occur at face to face events and on-site visits. Over the next few months you can find my colleagues and I at events like SHARE, GSE, zTech University, and our annual North America User Group meeting. Don't be shy! Let us know how we can continue to help you increase productivity, and code quality, while maintaining and enhancing your mainframe applications.
To paraphrase an old Irish saying, May the road rise to meet you on your DevOps journey.