The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
Converting to the latest COBOL Compiler made simple with the right tools
1. Converting to the latest COBOL
Compiler made simple with the right
tools
Session: 6036 Russell Courtney
Technical Leader
IBM
rccourt@us.ibm.com
2. Please Note:
2
• IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole
discretion.
• Information regarding potential future products is intended to outline our general product direction and it should not be relied on in
making a purchasing decision.
• The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to
deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract.
• The development, release, and timing of any future features or functionality described for our products remains at our sole
discretion.
• Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual
throughput or performance that any user will experience will vary depending upon many factors, including considerations such as
the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload
processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
3. Being Agile and Responsive to Business Priorities
Rapid iterations
Develop Build Test Deploy Production
API
Catalog
Develop Build Test Deploy
Slower iterations
Production
Systems of
Interaction
Digital
Applications
Enterprise
ApplicationsSystems
of Record
Bottleneck!
Variable Speed IT – many factors slow down
development of Systems of Record applications.
DevOps outlines key areas for improving Agility and
Speed of software delivery involving Process, People
and Tools.
Typical challenges for COBOL application owners:
How to cope with the increased volume of
transactions while maintaining overall cost of
ownership as well as response time required?
How to make enhancements to complex
COBOL/mainframe applications built on decades
of incremental enhancements while ensuring
their QoS remains the same?
4. Why IBM Compilers?
Reduce CPU utilization by improving
performance of applications
Exploitation of z/Architecture
Advanced Optimization
Support next-generation Applications
Work with latest IBM Middleware
(CICS, IMS, DB2…)
Modernize business critical
applications to support new
applications (e.g. web and mobile
applications)
Improve Productivity
New programming features
New problem determination features Increased # of processor cores and reliance on parallel
processing technology to improve overall performance.
Need new compiler technology to take advantage of
new hardware instructions!
5. Success Story: Humana takes CICS to the next level
Background:
Modernization of Claims System - Large
batch and online environment which served
its purpose well for 30+ years and remains a
strategic solution to take Humana forward.
Challenges:
With current business growth, changes are
required for
High availability
Handle greater volume
More responsive and flexible to business
changes
Create a dynamic infrastructure
Maintaining focus on efficiency
Solution:
Multi-phase modernization project with
tangible benefits along the way.
COBOL Compiler Highlights:
• Selected as the first step in multi-phase project.
• Significant performance improvement:
# of transaction processed – Before: 18,471 After: 28,799 (56%
improvement)
CPU time – Before: 0.0283 After 0.0249 (12% improvement)
Risk/Complexity/Benefit Matrix
Source: Humana’s presentation at
2015 InterConnect conference
Usage of the latest compiler is considered low
risk, low complexity, and high benefit.
6. Agile and Lean Software Development 101
In the context of z/OS application development, the guiding
principle for Agile and Lean Software development is exactly
the same as any other platforms. They are:
1. Iterative & incremental changes delivered quickly.
2. Build quality in.
3. Short feedback loop.
The question is …
Do you have the right tools to help you practice those?
7. 1. Iterative & incremental changes delivered quickly
Problem:
Frequent build & test are the essential practice of Agile Software
Development methodology which results in “Shift-Left” behaviour where
defects are discovered earlier in development cycle.
More frequent build of COBOL programs may result in increased peak
workload which increases the cost of software license cost.
Solution:
Enterprise COBOL Value Unit Edition for z/OS V1.0 minimises the risk of
increased software license cost by leveraging zCap software pricing.
Rather than continuing with existing MLC payment option, you can purchase
OTC version of Enterprise COBOL V5.2 compiler which gives 10x headroom
for future growth as part of the initial software license fees.
Build & Test
frequently
Leverage
optimization
Improved
Agility
8. 1. Iterative & incremental changes delivered quickly
Problem:
COBOL programs are complex built on decades
of incremental enhancements. Multiple
developers were involved and not easy to
comprehend them and fully understand the
potential impact of the changes.
Solution:
The Program Control Flow view provides
alternate view of complex COBOL programs.
In addition to smart COBOL editor with many
features such as real-time syntax check and auto
complete features, the Program Control Flow
visualize the logical control flow of the selected
program.
Smart navigation is available in the Program
Control Flow view such as:
Search
Zoom-in / zoom-out
Show from to & from from the selection.
9. Problem:
Some statements are obsolete or no longer supported.
# of parameters don’t match between calling & called programs.
Solution:
Use code rules for identifying obsolete and unsupported
statements.
For selected files, Scan for Compatibility allows detection of
problems when # of parameters don’t match.
1. Iterative & incremental changes delivered quickly
10. Problem:
COBOL compiler enhancements (eg ARCH and OPT options) are not
supported by legacy problem diagnosis tools.
COBOL compiler enhancements for developer productivity improvement
(eg. DWARF side file format) are not supported by legacy problem
diagnosis tools.
Solution:
IBM tools ensure Day-1 exploitation of latest COBOL compiler as well
as hardware, compilers & middleware advancements. For example, IBM
Debug Tool allows interactive debugging of programs compiled with the
optimization option..
IBM tools take advantage of the new DWARF side file format to discover
diagnostic information they need without relying on users to specify the
location of compiler side files. One less step for end users as well as
avoiding the common side file mismatch problem.
Source
Load
module
Compiler
listing/sys
debug
Compiler
PD Tools
Source
Compiler
PD Tools
DWARF
Load
module
Before
COBOL V5 or V6
1. Iterative & incremental changes delivered quickly
11. 2. Build quality in
Problem:
Lack of tools to assist developers in writing code to perform
repeatable, self-checking unit tests.
Reliance on testers to perform testing means longer testing
cycle as well as bigger code change to validate.
xUnit framework is popular & available on other
platforms/environments.
Solution:
zUnit is an xUnit instance for z/OS applications.
zUnit allows developers to write code to perform repeatable,
self-checking unit tests.
Since they are developed by developers, it enables testing of
unit of code at much lower level than testers can perform.
Unit tests can be executed to ensure no regression but also
used in conjunction with Code Coverage feature to ensure
adequate level of unit test cases are written to cover the
modified program.
TESTCASE1
(...)
ADDTESTS2
(...)
TEST0012
(...)
TESTnnn2
(...)
SETUP2
(...)
TEARDOWN2
(...)
. . .
ZXUTCINI(...)
ZXUTCADD(...)
ZXUASTFM(...)
ZXUASTFA(...)
USER.ZUNIT(TESTCASE)
zUnit Test Runner API
Invoking the assertion APIs in the
SETUP, TEARDOWN, or active TEST
entry will fail the current Test.
1
Language-specific details:
In COBOL, this is the first program appearing in the Test Case source file and it will
be invoked by the Test Runner for Test Case initialization.
In PL/I, the is the procedure declared with option(fetchable) in the Test Case source
file and it will be invoked by the Test Runner for Test Case initialization.
2
Language-specific details:
In COBOL, these are expected to be subprograms (non-nested and therefore
compatible with FUNCTION-POINTER).
In PL/I, these are expected to be internal procedures that are declared at the
package level (non-nested).
12. 2. Build quality in
Problem:
Difficult to understand coverage of regression tests.
Unsure if newly created unit tests adequately covers
the section of code modified as well as affected
dependent areas.
Relies on testers’ experience to perform sanity tests.
Otherwise full regression test is required to feel
confidence in promoting change sets.
Solution:
The code coverage report shows the % of a program
being executed during a test run as well as exact
lines which were executed.
By looking at the report, it is simple for developers to
aim for 100% coverage for the section of code being
modified during enhancement/bug fixes.
The code coverage report can be exported as a PDF
document or reported in a browser to enable quality
champion to examine the adequacy of test coverage.
13. 2. Build quality in
Problem:
Preparation of test data is often difficult especially when
data is packed into complex data structure.
Sensitive information must be protected when choosing
to create test data from production system’s data.
Moving data between Dev/Test/Prod systems can be
error prone and time consuming.
DB2
IMS
Data Sets HFS
MQ
CICS
SMF data Hogan
data
3. Selective copy
2. Reformat copy
COPY types
1. Simple copy
(scramble)
(scramble)
(scramble)
or
DB2
IMS
Data Sets HFS
MQ
CICS
SMF data Hogan
data
Source data Scrambled data
Solution:
Protect sensitive information by scrambling production data
using random, repeatable, or translate algorithm provided. Or
extend the base function by writing your own algorithm or take
advantage of Optim Data Privacy Provider (ODPP) APIs.
Copy data between systems interactively or in batch by simply
specifying the remote system IP address and user credentials.
Scramble data, select subset of data, or reformat data layout
all in one step while copying data.
14. 2. Build quality in
Problem:
Any resource consumption increase by z/OS applications can
make a significant impact on monthly operational cost
especially true in high transaction volume environments.
Identification of performance problems is often left until too late
in production systems which leads to system downtime or
increased cost.
Solution:
As part of ongoing enhancement of a program, performance
characteristics of the program should be measured and
compared against historical data.
The variance report allows you to compare the difference of
two separate performance measurements and reports the
difference in resource consumption such as CPU time and
EXCP requests.
Remember: small % increase can mean a significant increase
in a high volume transaction environment.
15. 3. Short feedback loop
Problem:
Analysis of failing complex COBOL programs is not a
simple task especially for millennium developers.
Analysis of failing z/OS programs is increasingly more
complex due to mixture of legacy programs and new Java
workload even for most experience developers.
Re-creating a failure in test environment is difficult. The
relevant problem analysis information must be captured at
the time of failure in production system.
Solution:
Use low overhead problem analysis tool to capture failures.
The tool provides you with synopsis to pinpoint the root
cause of failure at application source code level.
Free developers from dealing with dumps, compiler side
files, various subsystem logs, and Java Virtual Machine
related diagnosis.
The same application failure analysis tool should be used
during development/test as well as failures in production
system to minimize the training required for developers.
16. 3. Short feedback loop
Problem:
Takes too long to analyze problems in production systems.
The tool for analyzing application failure is different from the tool used
by developers to step through the code.
The problem analysis tools do not allow specification of debugger
breakpoints for interactive analysis later.
Solution:
“Deferred breakpoints” allows a developer to specify breakpoints in
programs without necessarily starting a debug session for the
programs.
This features allows the developer to keep track of relevant sections
in programs to step through for detailed analysis of problem root
cause analysis.
Fault Analyzer report is enhanced so that deferred breakpoints can
be set directly while reading the analysis of application failures.
While a developer is analyzing the hot spots of a program, the
developer is able to set breakpoints in procedures/functions where
they are most commonly executed during the observation.
Analyse
Develop
/Fix
Unit Test
Observe
17. Do you need assistance with COBOL compiler migration?
Typical workflow for compiler
migration
1. CCCA –
migrate old
source
2. RDz –
complete
migration
3. Ensure no
regression!
Avoid
manual
conversion!
COBOL and CICS Command Level Conversion Aid for
OS/390 & MVS & (CCCA) helps you convert old COBOL
68 Standard and COBOL 74 Standard language in
source programs and copy books to COBOL 85
Standard language.
Using CCCA tool, you can avoid manual migration steps
using various compiler options as shown on the
workflow diagram.
Use RDz to complete source migration step when CCCA
tool cannot complete the migration.
Use PD Tools which provides Day-1 exploitation of new
compilers ensuring you can diagnose problems which
you encounter during the migration.
Enterprise COBOL Suite for z/OS provides comprehensive
tools for migrating old COBOL programs
18. Summary
IBM Enterprise COBOL Value Unit Edition for z/OS V1.0 (5697-ECV) and IBM
Enterprise COBOL Suite for z/OS V1.0 (5697-CDT) provide a comprehensive solution
for:
Migrating legacy COBOL programs to take advantage of latest hardware and
optimization technology enhancements.
Assists developers to comprehend complex COBOL programs built on decades of
incremental enhancements.
Assists developers to feel confidence in making enhancements to existing COBOL
programs while ensuring adequate level of testing is performed.
Problems are analyzed more efficiently using the same developer friendly tools during
development & test as well as problem analysis of failing applications in production
systems.
These products are essential for organizations who are looking to improve Business Agility
and discover increased value from their existing z Systems investment.
COBOL Suite for z/OS includes:
Application Performance Analyzer for z/OS V13.1
Debug Tool for z/OS V13.1
Fault Analyzer for z/OS V13.1
File Manager for z/OS V13.1
Rational Developer for z Systems V9.5
20. Control/DCD For Enterprise COBOL
20
• Control/DCD is a useful software tool for the Migration of existing COBOL applications to the
new Enterprise COBOL compilers.
• Control/DCD is the latest Version of the DCD product that was originally developed in 1975.
• Control/DCD runs in batch for one or all programs in a COBOL application.
21. Control/SE For Enterprise COBOL
21
• Control/SE is a useful software tool for the Migration of existing COBOL applications
to the new Enterprise COBOL compilers.
• Control/SE is an interactive subset of Control/DCD that process one program at a
time.
• It utilized the ISPF FIND Command.
22. The Case For Control/DCD/SE
22
• For many large organizations the continued use of the Mainframe platform and COBOL are
justified as a focal point of their computing environment.
• Based on several studies, including from IBM, there are 250-350 Billion lines of Mainframe
COBOL code worldwide.
• Mainframes account for more than 70% of the worldwide online transactions – MicroFocus.
• We find Mainframes still processing large batch jobs utilizing COBOL code that goes back
40-50 years. However the “Tribal Knowledge” is long gone.
23. The Case For Control/DCD/SE
23
• There are several obstacles in a migration because one cannot assume that a recompilation of a
program is going to be a one for one conversion.
• Recompiling an old COBOL program without the proper documentation can cause logic errors in the
business rules, as well as re-open old coding errors.
• Many large organizations outsource their COBOL development and maintenance to outside
contactors, mostly offshore.
• Studies show that the code coming back from offshore may be more CPU intensive than before
mediation. This can reduce some of the economic benefit of Enterprise COBOL.
24. The Case For Control/DCD/SE
24
• Both Control/DCD/SE provide a precompile analysis of the code. Therefore the extra CPU time (3-
12X) and CPU Memory (200M) needed to compile under COBOL 5.2 is bypassed.
• Both Control/DCD/SE produce an Alternate Compile Listing for the COBOL program which can than
edited.
• The ACL has a Data and Procedure Division Narrative.
• Control/DCD/SE provides for complete Perform Error checks as well as Perform Logic Error.
• Control/DCD/SE can diagnose potential data errors as well as highlight unused code.
25. The Case For Control/DCD/SE
25
• Utilizing Millennium Language Extensions?
• Older COBOL Syntax errors are highlighted.
• Some Data Formats not supported.
• VS COBOL II requires a lot of source code changes.
• LABEL Declaratives
• XML Parse
• For more details go to:
• file:///C:/Users/ADR3D/Downloads/COBOL%20V5%20Migration.pdf
• Tom Ross – Share (Boston) March 13, 2014.
26. Control/SE For Enterprise COBOL
26
• Control/SE Utilizes the Most Used Mainframe Editor: ISPF
• Control/SE Adds the & character when doing a FIND to activate it’s Key Words and produce a
program Narrative.
• Utilizes a Unique Set of Easy To Use Macro Operands.
• Returns COBOL errors in 80 Character format for easy screen viewing.
• Is fast and Efficient versus Compiling with COBOL 5.2.
27. The Case For Control/DCD
27
• Control/DCD is a batch COBOL Analyzer that can be used for multi- program analysis, JCL processing
and Data Field analysis.
• A tried and true product for regression testing and going forward for maintenance.
1. Control/DCD is a new version of our widely used DCD IV Software program
designed for Enterprise COBOL migrations.
2. Control/DCD has all new ISPF viewing and editing capabilities.
3. Produces Program Narratives and Data Analysis as well as Management Reports.
4. Produces the Alternative Compile Listing with it’s own pre-compiler.
5. Highlights Enterprise COBOL syntax errors.
6. Easy to learn and use. If you know COBOL you know Control/DCD.
28. The Case For Control/SE
28
• Entry Level Version of Control/DCD
• Interactive for a single COBOL Program
• Simple to Learn - Uses ISPF’s FIND Command.
• The Control/SE Format is: Find &[Operand].
• Operands are Macros That Analyze COBOL Code.
• Provides For Management Reports.
29. The Case For Control/SE
29
• A Few of the ISPF Interface Commands:
• Find &(PERFORM-ANALYSIS)
• Find &(FIELD-NAME)
• Find &(PERFORM-ERRORS)
• Find &(CODE-NOT-USED)
• Find &(FORWARD-TRACING)
• Find &(HELP)
32. The Case For Control/SE
32
Find &FORWARD-TRACING
33. The Case For Control/SE
33
Find &PERFORM-ANALYSIS
34. The Case For Control/DCD/SE
34
• Error Prone versus Error Free
• Reduces Migration Project Time.
• Does Not Require the Enterprise COBOL Compiler.
• An Active Quick Solution For Fixing Regression Testing Errors.
• Helps Clean Up Old and Unused Code.
• Finds Hidden Error – Logic as Well as Data.
• Highlights Syntactical Problems.
• Batch or Online – Process an Entire Application in One Job.
36. Notices and Disclaimers Con’t.
36
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not
tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products.
Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the
ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT
NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The provision of the information contained h erein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual
property right.
IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®,
FileNet®, Global Business Services ®, Global Technology Services ®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG,
Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®,
PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®,
StoredIQ, Tealeaf®, Tivoli®, Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business
Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM
trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
37. Thank You
Your Feedback is Important!
Access the InterConnect 2016 Conference Attendee
Portal to complete your session surveys from your
smartphone,
laptop or conference kiosk.