SlideShare a Scribd company logo
1 of 56
Download to read offline
www.strongback.us
About Us: Strongback Consulting
• IBM Advanced Business Partner
– Rational, WebSphere, Lotus, Information Management SVP certified
– Strongly focused on Enterprise Modernization and application lifecycle management
– Key Industries Served: Finance, Insurance, Healthcare, Manufacturing, Government
– Rational Design Partner for HATS and other Rational enterprise modernization technologies
Discover us at:
http://www.strongback.us
Subscribe to us at
http://feeds.feedburner.com/StrongbackConsulting
Socialize with us on Facebook & LinkedIn
http://www.facebook.com/StrongbackConsulting
http://www.linkedin.com/company/290754
www.strongback.us
Agenda
• The view from the programmer analyst
• How to conduct archaeology on your source code
• Analytic tooling within Rational Developer for System z
3
www.strongback.us 4
A day in the life of a software archaeologist
www.strongback.us
What the code reminds you of….
5
www.strongback.us
Definition: White Elephant
6
A white elephant is an idiom
for a valuable but burdensome
possession of which its owner
cannot dispose and whose cost
(particularly cost of upkeep) is
out of proportion to its
usefulness or worth.
Source: wikipedia.org
www.strongback.us
The white elephant: 12,000 lines of spaghetti
• Where do you start?
• Unpredictable abends
• Hard to navigate
• Difficult to create a “mental map”
• Potentially lots of dead code
• Out of date comments
7
www.strongback.us 8
www.strongback.us
Rational Developer for System z v9.0
The modern development environment for the modern mainframe
“Working across several source code files and copy books– and
debugging at the same time!– is game changing.”
COBOL Application Programmer
9
Modern IDE features to pull-in new developers to
System z application development with rich, modern
development for COBOL, PL/I, Java, JCL, CICS, IMS,
Batch, Stored Procedure
Powerful, easy to use editors with immediate, inline
assistance and navigation of host-based resources
Build & debug across complex application layers and
boundaries
Design, code, build, test, and deploy mobile apps that
run on a wide variety of mobile platforms; Quickly
refactor and extend existing back-end services and data
to new mobile UIs
Code analysis that warns you about poorly written
code
What’s new:
•Support for CICS TS 5.1 & optimized COBOL v5
compiler
•Enhanced JCL editing
•Automate unit testing with zUnit
•Headless code review and code coverage
www.strongback.us 10
Modern application development across platforms
Upgrade to modern Eclipse-based tools to develop and maintain
enterprise applications spanning multiple platforms, languages and technologies
 Rational Developer for System z
 Rational Developer for zEnterprise Increase Productivity
 Eclipse-based open source IDE
 More attractive to recent university hires than
legacy
z/OS tooling
 More relevant information is readily available
 Speeds development with specialized editors and code
generation wizards
 Code assist, syntax highlighting, quick fixes, outline view
 Accelerate application modernization
 Enable CICS and IMS appls for Web Services / SOA
 Lower skill requirements for new hires to code to
complex architectures (e.g. Web 2.0)
 Reduce Training Costs in adopting System z
environment
 Provides interactive access to z/OS for
development, debug, job generation, job
submission, monitoring and command execution
 Free up mainframe for production workload
 Workstation syntax checking reduces host workload
 Unit Test feature offloads additional workload
10
www.strongback.us 11
IDE Efficiency Benchmarks
 An IBM productivity study concluded that RDz significantly improves productivity as compared to
ISPF
• 100 common (daily) ISPF tasks used during maintenance and support assignments
– ISPF workflow translated (click-for-click) to RDz development
– Project participants believed they were trying to find gaps between RDz and ISPF functionality
• Mix of experienced (veteran) ISPF programmers and new-hire developers
• Assumption was that only new-hire developers would be more productive
– This turned out to be false
% less time to complete System z application development tasks using RDz vs. ISPF
Inexperienced ISPF Users Experienced ISPF Users
Similar results
achieved by
Financial Services
customers
www.strongback.us 12
12
RD z – More than just a pretty editor,
Its an Integrated Development Environment
• Rich Functionality
– Sophisticated application analysis and quality governance
– Extensive programming assists and wizards
– Seamless access to ISPF and eclipse-style editors
– Operational navigation between the integrated components
• Extensive functional integration
– Application Lifecycle Management solution - ISDz
– Problem Determination tools
– Mainframe security facilities
– Source Control Management products
– Any 3rd Party/OEM tools on the Eclipse platform
• World-wide partners and extensive Eco-system
www.strongback.us 13
www.strongback.us 14
www.strongback.us
Viewing down into the pit
Program Control Flow
Diagram:
• Birds Eye view of source
• Treat it like a blueprint
• Navigable and linked to
source
• Export and save for
documentation
15
www.strongback.us
Digging sideways – Performance Hierarchy
16
Conditional
Statements
Perform Until
Statements
Potential
program
fall thru
www.strongback.us
Finding nuggets of information
17
www.strongback.us
Navigation with Outline View
18
Sort
alphabetically
Hide
Divisions
Click on a
paragraph to
navigate to it
in source
view
www.strongback.us
Find Dialog
• CTRL + F to bring up
dialog
• Can search case
sensitive, forward,
backward, on all code,
or just that selected.
• Regular expressions
– Content assist available
to help build a search
query
19
www.strongback.us
Format source automagically
20
You are no longer limited to tedious ISPF functions for indenting code!
Makes maintenance easier for all who follow you.
www.strongback.us
Identify Unreachable Code
• Finds Dead Code
– Source → Find Unreachable Code
• Results mark lines or paragraphs
that will never get called
• Mark them out with Source→
Toggle Comments, then delete
when confirmed
21
www.strongback.us 22
www.strongback.us 23
www.strongback.us
Editing Source Code
• System z LPEX Editor
– Can emulate ISPF line commands & functions
– Generic editor for all source
• Specific source editors to give a richer feel
– COBOL, PL/I
– C/C++
– JCL
24
www.strongback.us
Hovers
• Hover mouse over a variable, or perform statement
• Popup displays the declaration
• Press F2 to make the window retain focus
25
www.strongback.us
Hover over a Copy Statement
• Hold down CNTL key and hover over the copybook name
• Copybook name becomes a hyperlink
– click to open
– Also opens a hover window showing the contents of the window
26
SYSLIB property
group must be set for
this to work
www.strongback.us
Content Assist
• Shows list of valid variables, or language structures
• Intelligence to suggest SQL within an EXEC statement
27
www.strongback.us
Quick Fix
• Margin area shows warnings and errors
• Quick fix suggestions show as a light bulb
• Parser is able to suggest fixes when clicked
• Click on the suggestion to make the change
28
www.strongback.us
• Enable against
COBOL 4.2, or 5.1
(the latest version)
• Make checks for
EXEC statements
29
Real Time Syntax Checking
www.strongback.us
Refactoring
30
Refactoring: make system-wide code changes without affecting the behavior of the
program.
Refactoring commands are available from the context menus of several views (e.g. Project
Explorer, Outline) and editors. Many "apparently simple" commands, such as Move and Rename,
are actually refactoring operations, since moving and renaming elements often require changes in
dependent files.
• Extract a function, constant or local variable
• Rename a method, variable or class
• Hide a method signature
Operations can be previewed for all of the changes resulting from a
refactoring action before you choose to carry them out.
www.strongback.us
Extract Constant (C/C++)
• Improve performance, and avoid duplicate strings
31
www.strongback.us
Renaming Variables
• Easily rename a variable throughout your code
– More accurate than find/replace
– Make variables easier to understand
32
www.strongback.us
Source Actions
33
Use the Source menu to perform many actions to modify, remove or
generate code automatically.
• Toggle a line or block as a comment; on or off.
• Format entire source files or fragments.
• Correct Indentation
• Implement getters & setters
• Sort lines
The Source menu can be accessed from many context views such as in the
COBOL, and C/C++ editor.
www.strongback.us
Toggle Commenting on and off
• Toggle single line to comment on/off
• Toggle a block of lines to comment on/off
34
www.strongback.us
Sorting Lines (C/C++)
• Make content easier to read by alphabetizing your
fields
35
www.strongback.us
Surround With
• Easily move source into a conditional statement
– for loop
– do/while
– if/else
– try/catch
• Highlight the desired code, right click -> Surround With
– also ATL+SHIFT+Z
www.strongback.us 37
www.strongback.us 38
www.strongback.us
Searching
• Multiple different types of search in the product
– Remote z/OS Search
– Data Model Search
– File system search (local)
– language based search (C/C++, Java, COBOL, etc)
• Called from the search bar
• Search from the context menu
• Or a keyboard shortcut CNTL + H
www.strongback.us
Remote z/OS Search
• Remote z/OS Search uses the
RDz daemon on the server to
scan MVS assets
• Can scan through specific filters
• Can scan selected PDS’s and
members
• Can also scan offline & migrated
datasets
40
www.strongback.us
Search Types
• By Partitioned Dataset Name
– search by name of the PDS only
• By Sequential Dataset
– Can search by name, or within the content
• By Dataset member
– Can search by name, or within the content
– Within name or content, can also search using regular expressions
41
www.strongback.us
Search Contexts
• Searches only within a single LPAR (does not cross multiple systems)
• Search on existing filters
• Search within selected contexts
– Could be a filter, a dataset, a sequential dataset, or multiple selected datasets
42
www.strongback.us
Using Regular Expressions to Search
• For example
custRec|tranRec
• This will search and find any line in the search context that has either
custRec, or tranRec
– The pipe symbol ‘|’ acts as an “or” statement
• Another example
intsw*s=
• This will find all integer instantiations with in the search context
– w* = any word char repeated more than once
– s = any whitespace character
– int and = are treated as normal characters
43
www.strongback.us
Sub-setting search results
• Sort columns ascending or descending
• Expand source members to see lines where text was found
• Filter result list within the client
44
www.strongback.us
Search Results
45
Sortable
Columns
Source
Member
Lines in
source
where text
was found
Filter to sub
set results
Expand /
Collapse
results
Save results
to Favorites
Stop Search Edit query
parameters
View
Menu
Remove
matches
from view
www.strongback.us
The My Favorites Folder
• Shows saved search queries
– Great for ready access to frequently searched phrases
• Save the search from the view menu
• Saved searches can be edited, and run again
46
www.strongback.us 47
www.strongback.us 48
www.strongback.us
What is Software /Analyzer Code Review?
• Provides a means for you to enforce shop coding standards
and best practices
• Available for COBOL programs opened from:
– Remote Systems Explorer
– Local Workstation Projects – including a PDS downloaded to a local project
– z/OS Projects/MVS Subprojects
• Easy to use:
– Context-menu accessible - Create custom rule sets configuration based on in-the-box COBOL rules
– More requirements (from customers) are encouraged/gladly accepted
www.strongback.us
Features
• Somewhat customizable:
– In-the-box rules customizable through Preferences/Configurations for
rules
• Application Code Review
– Expands on existing Java code review
– Check for COBOL standards deviations in the editor
– Run reports on standards compliance and trends
– Improve application quality and compliance
50
www.strongback.us
COBOL & PL/I Rules
• Industry standard best practices
– Naming
– Performance
– Structure of programs
51
www.strongback.us 52
Results
• Depending on which kind of analysis you are doing, the results view may differ. Some
results views, like the one provided by Java code review, support viewing results in
more than one format (a table or a tree, for example).
• If you right-click on a result, you can perform special tasks, such as viewing the source
code where the problem occurred or "quick fixing" the problem with an automatic
result.
www.strongback.us 53
www.strongback.us
Resources
• Check out all our links for our presentations, including this one
• http://delicious.com/strongback/rdz
54
www.strongback.us 55
Questions?
www.strongback.us
Socialize with us on Facebook & LinkedIn
http://www.facebook.com/StrongbackConsulting
http://www.linkedin.com/company/290754
Subscribe to us at
http://feeds.feedburner.com/StrongbackConsulting
Discover us at:
http://www.strongback.us
Watch Us at Youtube http://www.youtube.com/user/strongbackconsulting
https://vimeo.com/user7519232
Call us at: 386-232-8746

More Related Content

What's hot

Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKSPhil Reay
 
Streams in Parallel Development by Sven Erik Knop
Streams in Parallel Development by Sven Erik KnopStreams in Parallel Development by Sven Erik Knop
Streams in Parallel Development by Sven Erik KnopPerforce
 
How to Migrate Applications Off a Mainframe
How to Migrate Applications Off a MainframeHow to Migrate Applications Off a Mainframe
How to Migrate Applications Off a MainframeVMware Tanzu
 
Data as a Strategic Asset
Data as a Strategic AssetData as a Strategic Asset
Data as a Strategic AssetTamrMarketing
 
What's New in the Streams Console in IBM Streams V4.1
What's New in the Streams Console in IBM Streams V4.1What's New in the Streams Console in IBM Streams V4.1
What's New in the Streams Console in IBM Streams V4.1lisanl
 
Using Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT ChallengesUsing Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT ChallengesIBM UrbanCode Products
 
Troubleshooting App Health and Performance with PCF Metrics 1.2
Troubleshooting App Health and Performance with PCF Metrics 1.2Troubleshooting App Health and Performance with PCF Metrics 1.2
Troubleshooting App Health and Performance with PCF Metrics 1.2VMware Tanzu
 
Red Hat Container Strategy
Red Hat Container StrategyRed Hat Container Strategy
Red Hat Container StrategyRed Hat Events
 

What's hot (9)

Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
 
Streams in Parallel Development by Sven Erik Knop
Streams in Parallel Development by Sven Erik KnopStreams in Parallel Development by Sven Erik Knop
Streams in Parallel Development by Sven Erik Knop
 
How to Migrate Applications Off a Mainframe
How to Migrate Applications Off a MainframeHow to Migrate Applications Off a Mainframe
How to Migrate Applications Off a Mainframe
 
Data as a Strategic Asset
Data as a Strategic AssetData as a Strategic Asset
Data as a Strategic Asset
 
What's New in the Streams Console in IBM Streams V4.1
What's New in the Streams Console in IBM Streams V4.1What's New in the Streams Console in IBM Streams V4.1
What's New in the Streams Console in IBM Streams V4.1
 
MichaelReilly_Resume
MichaelReilly_ResumeMichaelReilly_Resume
MichaelReilly_Resume
 
Using Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT ChallengesUsing Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT Challenges
 
Troubleshooting App Health and Performance with PCF Metrics 1.2
Troubleshooting App Health and Performance with PCF Metrics 1.2Troubleshooting App Health and Performance with PCF Metrics 1.2
Troubleshooting App Health and Performance with PCF Metrics 1.2
 
Red Hat Container Strategy
Red Hat Container StrategyRed Hat Container Strategy
Red Hat Container Strategy
 

Viewers also liked

EGL Conference 2011 - Keynote
EGL Conference 2011 - KeynoteEGL Conference 2011 - Keynote
EGL Conference 2011 - KeynoteWill Smythe
 
RDZ for Cobol Programmers slides 7 14 Debugger deep dive final2
RDZ for Cobol Programmers slides 7 14 Debugger deep dive final2RDZ for Cobol Programmers slides 7 14 Debugger deep dive final2
RDZ for Cobol Programmers slides 7 14 Debugger deep dive final2Susan Yoskin
 
Making Rational HATS a Strategic Investment
Making Rational HATS a Strategic InvestmentMaking Rational HATS a Strategic Investment
Making Rational HATS a Strategic InvestmentStrongback Consulting
 
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDzRDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDzSusan Yoskin
 
Effective presentation skills
Effective presentation skillsEffective presentation skills
Effective presentation skillsAshish Srivastava
 
Rdz vs moodle [mode de compatibilité]
Rdz vs moodle [mode de compatibilité]Rdz vs moodle [mode de compatibilité]
Rdz vs moodle [mode de compatibilité]Emilie Bouvrand
 
How to make effective presentation
How to make effective presentationHow to make effective presentation
How to make effective presentationSatyajeet Singh
 

Viewers also liked (10)

EGL Conference 2011 - Keynote
EGL Conference 2011 - KeynoteEGL Conference 2011 - Keynote
EGL Conference 2011 - Keynote
 
DevOps workshops at EDGE 2016
DevOps workshops at EDGE 2016DevOps workshops at EDGE 2016
DevOps workshops at EDGE 2016
 
RDZ for Cobol Programmers slides 7 14 Debugger deep dive final2
RDZ for Cobol Programmers slides 7 14 Debugger deep dive final2RDZ for Cobol Programmers slides 7 14 Debugger deep dive final2
RDZ for Cobol Programmers slides 7 14 Debugger deep dive final2
 
IBM Application Delivery Foundation for z Systems
IBM Application Delivery Foundation for z SystemsIBM Application Delivery Foundation for z Systems
IBM Application Delivery Foundation for z Systems
 
Making Rational HATS a Strategic Investment
Making Rational HATS a Strategic InvestmentMaking Rational HATS a Strategic Investment
Making Rational HATS a Strategic Investment
 
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDzRDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
 
Effective presentation skills
Effective presentation skillsEffective presentation skills
Effective presentation skills
 
Effective presentation skills
Effective presentation skillsEffective presentation skills
Effective presentation skills
 
Rdz vs moodle [mode de compatibilité]
Rdz vs moodle [mode de compatibilité]Rdz vs moodle [mode de compatibilité]
Rdz vs moodle [mode de compatibilité]
 
How to make effective presentation
How to make effective presentationHow to make effective presentation
How to make effective presentation
 

Similar to Software Archaeology and Code Refactoring with Rational Developer for System z (RDz)

How to become a Rational Developer for IBM i Power User
How to become a Rational Developer for IBM i Power UserHow to become a Rational Developer for IBM i Power User
How to become a Rational Developer for IBM i Power UserStrongback Consulting
 
Whats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product SuiteWhats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product SuiteMicro Focus
 
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...Vadym Kazulkin
 
Clone Clone Make: a better way to build
Clone Clone Make: a better way to buildClone Clone Make: a better way to build
Clone Clone Make: a better way to buildDanHeidinga
 
DevOps LA Meetup Intro to Habitat
DevOps LA Meetup Intro to HabitatDevOps LA Meetup Intro to Habitat
DevOps LA Meetup Intro to HabitatJessica DeVita
 
How Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.comHow Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.comSalesforce Engineering
 
Agile ALM with Traceability: Release of codeBeamer 5.5
Agile ALM with Traceability: Release of codeBeamer 5.5 Agile ALM with Traceability: Release of codeBeamer 5.5
Agile ALM with Traceability: Release of codeBeamer 5.5 Intland Software GmbH
 
Apex Enterprise Patterns Galore - Boston, MA dev group meeting 062719
Apex Enterprise Patterns Galore - Boston, MA dev group meeting 062719Apex Enterprise Patterns Galore - Boston, MA dev group meeting 062719
Apex Enterprise Patterns Galore - Boston, MA dev group meeting 062719BingWang77
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science PlatformDecision Science Community
 
[2016/2017] Modern development paradigms
[2016/2017] Modern development paradigms [2016/2017] Modern development paradigms
[2016/2017] Modern development paradigms Ivano Malavolta
 
Introduction to Bluemix and Watson
Introduction to Bluemix and WatsonIntroduction to Bluemix and Watson
Introduction to Bluemix and WatsonJake Peyser
 
Webinar: How and Why to Containerize Your Legacy Applications
Webinar: How and Why to Containerize Your Legacy ApplicationsWebinar: How and Why to Containerize Your Legacy Applications
Webinar: How and Why to Containerize Your Legacy ApplicationsStorage Switzerland
 
Boost Business Objects life cycle management and backup & recovery best pract...
Boost Business Objects life cycle management and backup & recovery best pract...Boost Business Objects life cycle management and backup & recovery best pract...
Boost Business Objects life cycle management and backup & recovery best pract...Sebastien Goiffon
 
IBM Connect 2014 KEY102
IBM Connect 2014 KEY102IBM Connect 2014 KEY102
IBM Connect 2014 KEY102Scott Souder
 
Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016Stormy Peters
 
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with Concourse
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with ConcourseContinuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with Concourse
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with ConcourseVMware Tanzu
 
OpenShift: Devops Made Easy
OpenShift: Devops Made EasyOpenShift: Devops Made Easy
OpenShift: Devops Made EasyBent Terp
 
Partner Connect APAC - 2022 - April
Partner Connect APAC - 2022 - AprilPartner Connect APAC - 2022 - April
Partner Connect APAC - 2022 - Aprilconfluent
 
DevOps for Enterprise Systems : Innovate like a Startup
DevOps for Enterprise Systems : Innovate like a StartupDevOps for Enterprise Systems : Innovate like a Startup
DevOps for Enterprise Systems : Innovate like a StartupDevOps for Enterprise Systems
 
Being Smart about C/C++ Development on AIX and Linux
Being Smart about C/C++ Development on AIX and Linux Being Smart about C/C++ Development on AIX and Linux
Being Smart about C/C++ Development on AIX and Linux Strongback Consulting
 

Similar to Software Archaeology and Code Refactoring with Rational Developer for System z (RDz) (20)

How to become a Rational Developer for IBM i Power User
How to become a Rational Developer for IBM i Power UserHow to become a Rational Developer for IBM i Power User
How to become a Rational Developer for IBM i Power User
 
Whats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product SuiteWhats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product Suite
 
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
 
Clone Clone Make: a better way to build
Clone Clone Make: a better way to buildClone Clone Make: a better way to build
Clone Clone Make: a better way to build
 
DevOps LA Meetup Intro to Habitat
DevOps LA Meetup Intro to HabitatDevOps LA Meetup Intro to Habitat
DevOps LA Meetup Intro to Habitat
 
How Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.comHow Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.com
 
Agile ALM with Traceability: Release of codeBeamer 5.5
Agile ALM with Traceability: Release of codeBeamer 5.5 Agile ALM with Traceability: Release of codeBeamer 5.5
Agile ALM with Traceability: Release of codeBeamer 5.5
 
Apex Enterprise Patterns Galore - Boston, MA dev group meeting 062719
Apex Enterprise Patterns Galore - Boston, MA dev group meeting 062719Apex Enterprise Patterns Galore - Boston, MA dev group meeting 062719
Apex Enterprise Patterns Galore - Boston, MA dev group meeting 062719
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
 
[2016/2017] Modern development paradigms
[2016/2017] Modern development paradigms [2016/2017] Modern development paradigms
[2016/2017] Modern development paradigms
 
Introduction to Bluemix and Watson
Introduction to Bluemix and WatsonIntroduction to Bluemix and Watson
Introduction to Bluemix and Watson
 
Webinar: How and Why to Containerize Your Legacy Applications
Webinar: How and Why to Containerize Your Legacy ApplicationsWebinar: How and Why to Containerize Your Legacy Applications
Webinar: How and Why to Containerize Your Legacy Applications
 
Boost Business Objects life cycle management and backup & recovery best pract...
Boost Business Objects life cycle management and backup & recovery best pract...Boost Business Objects life cycle management and backup & recovery best pract...
Boost Business Objects life cycle management and backup & recovery best pract...
 
IBM Connect 2014 KEY102
IBM Connect 2014 KEY102IBM Connect 2014 KEY102
IBM Connect 2014 KEY102
 
Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016
 
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with Concourse
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with ConcourseContinuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with Concourse
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with Concourse
 
OpenShift: Devops Made Easy
OpenShift: Devops Made EasyOpenShift: Devops Made Easy
OpenShift: Devops Made Easy
 
Partner Connect APAC - 2022 - April
Partner Connect APAC - 2022 - AprilPartner Connect APAC - 2022 - April
Partner Connect APAC - 2022 - April
 
DevOps for Enterprise Systems : Innovate like a Startup
DevOps for Enterprise Systems : Innovate like a StartupDevOps for Enterprise Systems : Innovate like a Startup
DevOps for Enterprise Systems : Innovate like a Startup
 
Being Smart about C/C++ Development on AIX and Linux
Being Smart about C/C++ Development on AIX and Linux Being Smart about C/C++ Development on AIX and Linux
Being Smart about C/C++ Development on AIX and Linux
 

More from Strongback Consulting

IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6Strongback Consulting
 
Tips for Developing and Testing IBM HATS Applications
Tips for Developing and Testing IBM HATS ApplicationsTips for Developing and Testing IBM HATS Applications
Tips for Developing and Testing IBM HATS ApplicationsStrongback Consulting
 
Patterns and Antipatterns for Adopting IBM DevOps Tools
Patterns and Antipatterns for Adopting IBM DevOps ToolsPatterns and Antipatterns for Adopting IBM DevOps Tools
Patterns and Antipatterns for Adopting IBM DevOps ToolsStrongback Consulting
 
How Arcad Skipper pack works for the IBM i
How Arcad Skipper pack works for the IBM iHow Arcad Skipper pack works for the IBM i
How Arcad Skipper pack works for the IBM iStrongback Consulting
 
Software Archaeology with RDz and RAA
Software Archaeology with RDz and RAASoftware Archaeology with RDz and RAA
Software Archaeology with RDz and RAAStrongback Consulting
 
Teaching old dogs new tricks with Rational Developer for System i
Teaching old dogs new tricks with Rational Developer for System iTeaching old dogs new tricks with Rational Developer for System i
Teaching old dogs new tricks with Rational Developer for System iStrongback Consulting
 
IBM Innovate 2013: Making Rational HATS a Strategic Investment
IBM Innovate 2013: Making Rational HATS a Strategic InvestmentIBM Innovate 2013: Making Rational HATS a Strategic Investment
IBM Innovate 2013: Making Rational HATS a Strategic InvestmentStrongback Consulting
 
How a tactical HATS solution became a strategic asset - A Customer Story
How a tactical HATS solution became a strategic asset - A Customer StoryHow a tactical HATS solution became a strategic asset - A Customer Story
How a tactical HATS solution became a strategic asset - A Customer StoryStrongback Consulting
 
Rational collaborative-lifecycle-management-2012
Rational collaborative-lifecycle-management-2012Rational collaborative-lifecycle-management-2012
Rational collaborative-lifecycle-management-2012Strongback Consulting
 
Build Smarter User Interfaces for Legacy Applications with IBM Rational Host ...
Build Smarter User Interfaces for Legacy Applications with IBM Rational Host ...Build Smarter User Interfaces for Legacy Applications with IBM Rational Host ...
Build Smarter User Interfaces for Legacy Applications with IBM Rational Host ...Strongback Consulting
 
Collaborative Lifecycle Managmenent - an Introduction
Collaborative Lifecycle Managmenent - an IntroductionCollaborative Lifecycle Managmenent - an Introduction
Collaborative Lifecycle Managmenent - an IntroductionStrongback Consulting
 
IBM Innovate 2011- What every System i Developer Needs to Know
IBM Innovate 2011- What every System i Developer Needs to KnowIBM Innovate 2011- What every System i Developer Needs to Know
IBM Innovate 2011- What every System i Developer Needs to KnowStrongback Consulting
 
Using Dojo Javascript Framework with Rational HATS
Using Dojo Javascript Framework with Rational HATSUsing Dojo Javascript Framework with Rational HATS
Using Dojo Javascript Framework with Rational HATSStrongback Consulting
 
What's New in Rational Software for POWER Systems
What's New in Rational Software for POWER SystemsWhat's New in Rational Software for POWER Systems
What's New in Rational Software for POWER SystemsStrongback Consulting
 
Rational Team Concertfor Power Customer Presentation02 09 10
Rational Team Concertfor Power Customer Presentation02 09 10Rational Team Concertfor Power Customer Presentation02 09 10
Rational Team Concertfor Power Customer Presentation02 09 10Strongback Consulting
 

More from Strongback Consulting (20)

IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6
 
Tips for Developing and Testing IBM HATS Applications
Tips for Developing and Testing IBM HATS ApplicationsTips for Developing and Testing IBM HATS Applications
Tips for Developing and Testing IBM HATS Applications
 
Patterns and Antipatterns for Adopting IBM DevOps Tools
Patterns and Antipatterns for Adopting IBM DevOps ToolsPatterns and Antipatterns for Adopting IBM DevOps Tools
Patterns and Antipatterns for Adopting IBM DevOps Tools
 
How Arcad Skipper pack works for the IBM i
How Arcad Skipper pack works for the IBM iHow Arcad Skipper pack works for the IBM i
How Arcad Skipper pack works for the IBM i
 
Software Archaeology with RDz and RAA
Software Archaeology with RDz and RAASoftware Archaeology with RDz and RAA
Software Archaeology with RDz and RAA
 
IBM Rational HATS Overview 2013
IBM Rational HATS Overview 2013IBM Rational HATS Overview 2013
IBM Rational HATS Overview 2013
 
Teaching old dogs new tricks with Rational Developer for System i
Teaching old dogs new tricks with Rational Developer for System iTeaching old dogs new tricks with Rational Developer for System i
Teaching old dogs new tricks with Rational Developer for System i
 
IBM Innovate 2013: Making Rational HATS a Strategic Investment
IBM Innovate 2013: Making Rational HATS a Strategic InvestmentIBM Innovate 2013: Making Rational HATS a Strategic Investment
IBM Innovate 2013: Making Rational HATS a Strategic Investment
 
Linux 101
Linux 101Linux 101
Linux 101
 
How a tactical HATS solution became a strategic asset - A Customer Story
How a tactical HATS solution became a strategic asset - A Customer StoryHow a tactical HATS solution became a strategic asset - A Customer Story
How a tactical HATS solution became a strategic asset - A Customer Story
 
Rational collaborative-lifecycle-management-2012
Rational collaborative-lifecycle-management-2012Rational collaborative-lifecycle-management-2012
Rational collaborative-lifecycle-management-2012
 
Build Smarter User Interfaces for Legacy Applications with IBM Rational Host ...
Build Smarter User Interfaces for Legacy Applications with IBM Rational Host ...Build Smarter User Interfaces for Legacy Applications with IBM Rational Host ...
Build Smarter User Interfaces for Legacy Applications with IBM Rational Host ...
 
Collaborative Quality Management
Collaborative Quality ManagementCollaborative Quality Management
Collaborative Quality Management
 
Rational HATS and HIS v8 Overview
Rational HATS and HIS v8 OverviewRational HATS and HIS v8 Overview
Rational HATS and HIS v8 Overview
 
Collaborative Lifecycle Managmenent - an Introduction
Collaborative Lifecycle Managmenent - an IntroductionCollaborative Lifecycle Managmenent - an Introduction
Collaborative Lifecycle Managmenent - an Introduction
 
IBM Innovate 2011- What every System i Developer Needs to Know
IBM Innovate 2011- What every System i Developer Needs to KnowIBM Innovate 2011- What every System i Developer Needs to Know
IBM Innovate 2011- What every System i Developer Needs to Know
 
Rational HATS overview 7.5.1
Rational HATS overview 7.5.1Rational HATS overview 7.5.1
Rational HATS overview 7.5.1
 
Using Dojo Javascript Framework with Rational HATS
Using Dojo Javascript Framework with Rational HATSUsing Dojo Javascript Framework with Rational HATS
Using Dojo Javascript Framework with Rational HATS
 
What's New in Rational Software for POWER Systems
What's New in Rational Software for POWER SystemsWhat's New in Rational Software for POWER Systems
What's New in Rational Software for POWER Systems
 
Rational Team Concertfor Power Customer Presentation02 09 10
Rational Team Concertfor Power Customer Presentation02 09 10Rational Team Concertfor Power Customer Presentation02 09 10
Rational Team Concertfor Power Customer Presentation02 09 10
 

Recently uploaded

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 

Software Archaeology and Code Refactoring with Rational Developer for System z (RDz)

  • 1.
  • 2. www.strongback.us About Us: Strongback Consulting • IBM Advanced Business Partner – Rational, WebSphere, Lotus, Information Management SVP certified – Strongly focused on Enterprise Modernization and application lifecycle management – Key Industries Served: Finance, Insurance, Healthcare, Manufacturing, Government – Rational Design Partner for HATS and other Rational enterprise modernization technologies Discover us at: http://www.strongback.us Subscribe to us at http://feeds.feedburner.com/StrongbackConsulting Socialize with us on Facebook & LinkedIn http://www.facebook.com/StrongbackConsulting http://www.linkedin.com/company/290754
  • 3. www.strongback.us Agenda • The view from the programmer analyst • How to conduct archaeology on your source code • Analytic tooling within Rational Developer for System z 3
  • 4. www.strongback.us 4 A day in the life of a software archaeologist
  • 5. www.strongback.us What the code reminds you of…. 5
  • 6. www.strongback.us Definition: White Elephant 6 A white elephant is an idiom for a valuable but burdensome possession of which its owner cannot dispose and whose cost (particularly cost of upkeep) is out of proportion to its usefulness or worth. Source: wikipedia.org
  • 7. www.strongback.us The white elephant: 12,000 lines of spaghetti • Where do you start? • Unpredictable abends • Hard to navigate • Difficult to create a “mental map” • Potentially lots of dead code • Out of date comments 7
  • 9. www.strongback.us Rational Developer for System z v9.0 The modern development environment for the modern mainframe “Working across several source code files and copy books– and debugging at the same time!– is game changing.” COBOL Application Programmer 9 Modern IDE features to pull-in new developers to System z application development with rich, modern development for COBOL, PL/I, Java, JCL, CICS, IMS, Batch, Stored Procedure Powerful, easy to use editors with immediate, inline assistance and navigation of host-based resources Build & debug across complex application layers and boundaries Design, code, build, test, and deploy mobile apps that run on a wide variety of mobile platforms; Quickly refactor and extend existing back-end services and data to new mobile UIs Code analysis that warns you about poorly written code What’s new: •Support for CICS TS 5.1 & optimized COBOL v5 compiler •Enhanced JCL editing •Automate unit testing with zUnit •Headless code review and code coverage
  • 10. www.strongback.us 10 Modern application development across platforms Upgrade to modern Eclipse-based tools to develop and maintain enterprise applications spanning multiple platforms, languages and technologies  Rational Developer for System z  Rational Developer for zEnterprise Increase Productivity  Eclipse-based open source IDE  More attractive to recent university hires than legacy z/OS tooling  More relevant information is readily available  Speeds development with specialized editors and code generation wizards  Code assist, syntax highlighting, quick fixes, outline view  Accelerate application modernization  Enable CICS and IMS appls for Web Services / SOA  Lower skill requirements for new hires to code to complex architectures (e.g. Web 2.0)  Reduce Training Costs in adopting System z environment  Provides interactive access to z/OS for development, debug, job generation, job submission, monitoring and command execution  Free up mainframe for production workload  Workstation syntax checking reduces host workload  Unit Test feature offloads additional workload 10
  • 11. www.strongback.us 11 IDE Efficiency Benchmarks  An IBM productivity study concluded that RDz significantly improves productivity as compared to ISPF • 100 common (daily) ISPF tasks used during maintenance and support assignments – ISPF workflow translated (click-for-click) to RDz development – Project participants believed they were trying to find gaps between RDz and ISPF functionality • Mix of experienced (veteran) ISPF programmers and new-hire developers • Assumption was that only new-hire developers would be more productive – This turned out to be false % less time to complete System z application development tasks using RDz vs. ISPF Inexperienced ISPF Users Experienced ISPF Users Similar results achieved by Financial Services customers
  • 12. www.strongback.us 12 12 RD z – More than just a pretty editor, Its an Integrated Development Environment • Rich Functionality – Sophisticated application analysis and quality governance – Extensive programming assists and wizards – Seamless access to ISPF and eclipse-style editors – Operational navigation between the integrated components • Extensive functional integration – Application Lifecycle Management solution - ISDz – Problem Determination tools – Mainframe security facilities – Source Control Management products – Any 3rd Party/OEM tools on the Eclipse platform • World-wide partners and extensive Eco-system
  • 15. www.strongback.us Viewing down into the pit Program Control Flow Diagram: • Birds Eye view of source • Treat it like a blueprint • Navigable and linked to source • Export and save for documentation 15
  • 16. www.strongback.us Digging sideways – Performance Hierarchy 16 Conditional Statements Perform Until Statements Potential program fall thru
  • 18. www.strongback.us Navigation with Outline View 18 Sort alphabetically Hide Divisions Click on a paragraph to navigate to it in source view
  • 19. www.strongback.us Find Dialog • CTRL + F to bring up dialog • Can search case sensitive, forward, backward, on all code, or just that selected. • Regular expressions – Content assist available to help build a search query 19
  • 20. www.strongback.us Format source automagically 20 You are no longer limited to tedious ISPF functions for indenting code! Makes maintenance easier for all who follow you.
  • 21. www.strongback.us Identify Unreachable Code • Finds Dead Code – Source → Find Unreachable Code • Results mark lines or paragraphs that will never get called • Mark them out with Source→ Toggle Comments, then delete when confirmed 21
  • 24. www.strongback.us Editing Source Code • System z LPEX Editor – Can emulate ISPF line commands & functions – Generic editor for all source • Specific source editors to give a richer feel – COBOL, PL/I – C/C++ – JCL 24
  • 25. www.strongback.us Hovers • Hover mouse over a variable, or perform statement • Popup displays the declaration • Press F2 to make the window retain focus 25
  • 26. www.strongback.us Hover over a Copy Statement • Hold down CNTL key and hover over the copybook name • Copybook name becomes a hyperlink – click to open – Also opens a hover window showing the contents of the window 26 SYSLIB property group must be set for this to work
  • 27. www.strongback.us Content Assist • Shows list of valid variables, or language structures • Intelligence to suggest SQL within an EXEC statement 27
  • 28. www.strongback.us Quick Fix • Margin area shows warnings and errors • Quick fix suggestions show as a light bulb • Parser is able to suggest fixes when clicked • Click on the suggestion to make the change 28
  • 29. www.strongback.us • Enable against COBOL 4.2, or 5.1 (the latest version) • Make checks for EXEC statements 29 Real Time Syntax Checking
  • 30. www.strongback.us Refactoring 30 Refactoring: make system-wide code changes without affecting the behavior of the program. Refactoring commands are available from the context menus of several views (e.g. Project Explorer, Outline) and editors. Many "apparently simple" commands, such as Move and Rename, are actually refactoring operations, since moving and renaming elements often require changes in dependent files. • Extract a function, constant or local variable • Rename a method, variable or class • Hide a method signature Operations can be previewed for all of the changes resulting from a refactoring action before you choose to carry them out.
  • 31. www.strongback.us Extract Constant (C/C++) • Improve performance, and avoid duplicate strings 31
  • 32. www.strongback.us Renaming Variables • Easily rename a variable throughout your code – More accurate than find/replace – Make variables easier to understand 32
  • 33. www.strongback.us Source Actions 33 Use the Source menu to perform many actions to modify, remove or generate code automatically. • Toggle a line or block as a comment; on or off. • Format entire source files or fragments. • Correct Indentation • Implement getters & setters • Sort lines The Source menu can be accessed from many context views such as in the COBOL, and C/C++ editor.
  • 34. www.strongback.us Toggle Commenting on and off • Toggle single line to comment on/off • Toggle a block of lines to comment on/off 34
  • 35. www.strongback.us Sorting Lines (C/C++) • Make content easier to read by alphabetizing your fields 35
  • 36. www.strongback.us Surround With • Easily move source into a conditional statement – for loop – do/while – if/else – try/catch • Highlight the desired code, right click -> Surround With – also ATL+SHIFT+Z
  • 39. www.strongback.us Searching • Multiple different types of search in the product – Remote z/OS Search – Data Model Search – File system search (local) – language based search (C/C++, Java, COBOL, etc) • Called from the search bar • Search from the context menu • Or a keyboard shortcut CNTL + H
  • 40. www.strongback.us Remote z/OS Search • Remote z/OS Search uses the RDz daemon on the server to scan MVS assets • Can scan through specific filters • Can scan selected PDS’s and members • Can also scan offline & migrated datasets 40
  • 41. www.strongback.us Search Types • By Partitioned Dataset Name – search by name of the PDS only • By Sequential Dataset – Can search by name, or within the content • By Dataset member – Can search by name, or within the content – Within name or content, can also search using regular expressions 41
  • 42. www.strongback.us Search Contexts • Searches only within a single LPAR (does not cross multiple systems) • Search on existing filters • Search within selected contexts – Could be a filter, a dataset, a sequential dataset, or multiple selected datasets 42
  • 43. www.strongback.us Using Regular Expressions to Search • For example custRec|tranRec • This will search and find any line in the search context that has either custRec, or tranRec – The pipe symbol ‘|’ acts as an “or” statement • Another example intsw*s= • This will find all integer instantiations with in the search context – w* = any word char repeated more than once – s = any whitespace character – int and = are treated as normal characters 43
  • 44. www.strongback.us Sub-setting search results • Sort columns ascending or descending • Expand source members to see lines where text was found • Filter result list within the client 44
  • 45. www.strongback.us Search Results 45 Sortable Columns Source Member Lines in source where text was found Filter to sub set results Expand / Collapse results Save results to Favorites Stop Search Edit query parameters View Menu Remove matches from view
  • 46. www.strongback.us The My Favorites Folder • Shows saved search queries – Great for ready access to frequently searched phrases • Save the search from the view menu • Saved searches can be edited, and run again 46
  • 49. www.strongback.us What is Software /Analyzer Code Review? • Provides a means for you to enforce shop coding standards and best practices • Available for COBOL programs opened from: – Remote Systems Explorer – Local Workstation Projects – including a PDS downloaded to a local project – z/OS Projects/MVS Subprojects • Easy to use: – Context-menu accessible - Create custom rule sets configuration based on in-the-box COBOL rules – More requirements (from customers) are encouraged/gladly accepted
  • 50. www.strongback.us Features • Somewhat customizable: – In-the-box rules customizable through Preferences/Configurations for rules • Application Code Review – Expands on existing Java code review – Check for COBOL standards deviations in the editor – Run reports on standards compliance and trends – Improve application quality and compliance 50
  • 51. www.strongback.us COBOL & PL/I Rules • Industry standard best practices – Naming – Performance – Structure of programs 51
  • 52. www.strongback.us 52 Results • Depending on which kind of analysis you are doing, the results view may differ. Some results views, like the one provided by Java code review, support viewing results in more than one format (a table or a tree, for example). • If you right-click on a result, you can perform special tasks, such as viewing the source code where the problem occurred or "quick fixing" the problem with an automatic result.
  • 54. www.strongback.us Resources • Check out all our links for our presentations, including this one • http://delicious.com/strongback/rdz 54
  • 56. www.strongback.us Socialize with us on Facebook & LinkedIn http://www.facebook.com/StrongbackConsulting http://www.linkedin.com/company/290754 Subscribe to us at http://feeds.feedburner.com/StrongbackConsulting Discover us at: http://www.strongback.us Watch Us at Youtube http://www.youtube.com/user/strongbackconsulting https://vimeo.com/user7519232 Call us at: 386-232-8746