SlideShare a Scribd company logo
1 of 38
Software Archaeology with RDz and RAA
- discovering what you've
forgotten, knowing what you've inherited
Christopher Sayles
Consultant, Strongback Consulting
christopher.sayles@strongback.us
Ujjwal Sinha
Product Manager, Rational Asset Analyzer
Ujjwal.sinha@in.ibm.com
Session Z-1573

© 2013 IBM Corporation
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
Agenda

 The business challenge from the view of the IT manager or executive
 Viewing the big picture with Rational Asset Analyzer
 RAA Features
 New features in RAA 6.1
 The view from the programmer analyst
 How to conduct archaeology on your source code
 RAA and RDz integration
 Analytic tooling within Rational Developer for System z

3
The Executive’s Business Challenge
 Manage complexity
– Control expenses associated with large, old, brittle application carrying costs

 Manage risk
– Increased complexity drives up production defect rates with corresponding
business impact
– Developers who understand the semantics of these systems are close to
retirement – assuming the Wall Street gods don't repeat 2007/2008 follies

 Leverage production application value
– Operational drivers for business are your Enterprise Systems
– Exploit the processing in working production code by coupling it with mobile
and distributed application access – through:
* SOA
* Business Rules Mining
4
 Using old 3270-based tools
– TSO/ISPF … introduced circa ~1974
100% manual/character-based tooling
- Error-prone
- Labor-intensive

Application Complexity

How is z/OS application work done?

Application Shelf Life

 Even "no tools"
– Given the limitations of the ISPF environment for large-application
maintenance, support and development, many programmers and programmer/analysts
actually prefer to use sticky-pads and paper clips with source listings for source analysis
tasks
(if you think we're kidding ask them)

 The above nets out to an extreme*** curve for application maintenance, production
support and development process
 How do you flatten "Application Carrying Costs"?
5

*** Euphemism for expensive


RAA is a static code analysis tool



It stores the semantics of your applications in a
repository and exposes the operational flow details
of your Enterprise Systems:
–

Graphically

–

Through hyper-linked relationships

–

As Business Rules

Reducing complexity and associated cost/risk for:
–

Application discovery

–

Program analysis

–

Data flow analysis

–

Impact analysis



RDz is a modern development IDE



It leverages the technological advances over the
last forty years and provides:
–

Integrated: Edit/Analyze/Syntax Check
* Integrated within the product and with RAA
* Integration with SCM and green-screen tooling

–

Eclipse-style development functionality

–

Complete development/maintenance/production
support lifecycle coverage

Application Complexity

Flatten Application Carrying Costs using RAA + RDz

Application Shelf Life
Your world

 Composed of:
– Systems
• Applications
– Application elements
– Relationships among application
elements

 The semantics of your application
are buried in:
– Source code
– Documentation – which is only as good
as it is current and accurate
Your world through the lens of RAA
Transaction Diagram

Composite
Load Module

 Application meta-data elements
and relationships among
elements graphically exposed
through hyper-links stored in a
relational repository
– Up-to-date

Batch Job Diagram

– Precise
Your programs exposed through the lens of RAA
 Program meta-data, elements
and relationships among
elements graphically exposed
through hyper-links stored in a
relational repository
– Always up-to-date
– Precise

Repository "meta-data" on COBOL programs

Program flow
RAA + RDz Benefits


Lowered application Carrying Costs
through:
–

Decreased analysis time & effort:
* Application semantics rendered
graphically and hyper-linked across
all elements and relationships in
the application repository

–

Decreased development time & effort:
* Modern integrated graphical tools
* Integrated graphical workbench

–

Improved testing facilities

* Code Coverage
* Automated unit testing framework
More RAA + RDz Benefits



Lowered risk:
–

Application semantics – normally only understood by SMEs captured in the RAA Repository

–

Improved application quality through code review rules which expose potential performance
and maintenance improvements risks and improvements



Simplified application governance through RAA's metrics and high-level application
dashboard



Satisfies the development cravings of Generations X, Y and Z
–

11

Eclipse-based contemporary workbench
Rational Asset Analyzer’s role in Enterprise and Enterprise
Modernization
 Software artifact inventory

Traditional
View

 Business rules artifacts inventory
 Application understanding
 Change impact analysis
 COBOL Business Rules Mining
 Collaboration platform for all

 Persistence platform for human knowledge about your apps
New View

 Provides a common language for Business, Dev & Ops to share
 Cloud ready
 Language agnostic capability

RAA provides Common Language
Business
Owners

Development/
Test

Operations/
Production

Monitor and Optimize

Customers

Develop and Test

Release and
Deploy

Continuous Innovation, Feedback and Improvements

12
What is new in RAA 6.1
 Code Review for COBOL
 Language Agnostic Business Rules
 RTC Integration – scanning files from
RTC with RAA
 Usability & Currency
RAA - Surfacing Code Review for COBOL
 Code Review for COBOL gives focus when clients have hundreds (or thousands) of programs to improve
 Gives the enterprise view allowing to identify programs that should be actually looked at RDz
 Its static set of 19 rules
 Can be automatically run during inventory, identify statements consistent with the rules
 The results are:
 persisted for use in Custom Queries or sophisticated analysis using 3rd party reporting or visualization
tools
 highlighted in Related source view line-gutter
 summarized in Program summary page tab
 itemized in Program details page tab
Language Agnostic Business Rules
Provides selected rule mining functionality for any file, crating a
platform for capturing, persisting and sharing human knowledge.
 Use in concert with, also language agnostic, symbol scanning
 With new detail page actions and new user dialogs any text file can participate in
business rule rules inventory and impact analysis.
 Functions include:
 Relate any file to a business rule
 Relate range of lines in a file to a business rule
 Related files appear in new section on Business rule details page

 Rule relationships are highlighted in a new Related source view line-gutter
 Impact analysis may be run on rule assets to determine their relationship to other enterprise
assets
Language Agnostic Business Rules
Relate any file, or range of lines in a file, to a business rule
Language Agnostic Business Rules
Related files appear in new section on Business rule details page
Language Agnostic Business Rules
Rule relationships are highlighted in a new Related source view line-gutter
Language Agnostic Business Rules
Impact analysis may be run on rule assets to determine their relationship to other
enterprise assets
Scanning Rational Team Concert stored files with RAA
 The solution developed by IBM Integrated Solution for System z Development team
 Adopted and enhanced by RAA team to help in RAA development by scanning RAA files from RTC
with RAA itself.
 The value of two product working together is more than a simple sum; added value:
Each RAA scans is recorded ad RTC build
Scan history available in RTC as build results page
The log files from RAA scans are published to RTC as build scans and made available directly
from RTC interface
Usability and Currency
 Usability
– Exporting diagrams in SVG
– Printing Diagrams
– Export of UI table content to CSV
– View logs on the menu

– Hashsum based incremental scanning

 Currency
– DB2 v9 & 10 syntax in embedded SQL
– Eclipse 4.2 support for RAA plugin for RDz
– Many documentation updates and improvement
Usability - Exporting diagrams in SVG

Usability - Printing Diagrams
Usability - Export of UI table content to CSV

Usability - View logs on the menu (with sort also by timestamp)
Usability - Hashsum based incremental scanning
 Works for all distributed files and scanning COBOL/PL/I on workstation

 Content based (not file name and not timestamp based)
 Not yet enabled for scanning PDSes on z/OS
 Ability to explicitly force rescan (checkbox to Inventory wizard)
 Following action will force rescan implicitly
– Queue container for analysis
– Queue selected
– REST request for analysis
– RAA plugin - scans are on save after file changed or explicitly requested by the user
RAA on Windows - Installation simplifications
 The only mandatory pre-req remaining on Windows is DB2
 The option to use an embedded application server instead of
IBM WebSphere Application Server is now available. RAA
now embeds an application server, WAS Liberty Profile
8.5.0.1. This is an optional use, lightweight application
server.
 Option to use full enterprise strength of IBM WebSphere
Application Server remains
 Rexx is no longer a mandatory prerequisite. RAA now
embeds Open Object Rexx 4.0.1. If a version of Open
Object Rexx was previously installed on the system and is
not otherwise needed, it can be uninstalled.
 Java is no longer a mandatory prerequisite. RAA now
embeds the Java Runtime Environment.
26
The view from the programmer analyst

Understand old
code is much
like conducting
an
archaeological
dig

27
A day in the life of a software archaeologist
1. A “Production Problem” arises
2. No one knows the source code
3. Code has been handed down from
developer to developer
4. Was compiled years ago
5. 20K lines of code…. or more

6. YOU get “selected” to debug the
issue

7. Spend DAYS understanding it
8. change one line, test
9. Repeat step 8…several times
10. Refactor to remove dead code

28
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

29
Viewing down into the pit

Program Control Flow
Diagram:
 Birds Eye view of source

 Treat it like a blueprint

30
Your programs analyzed with RDz + RAA
Integrated functionality:
• Analyze
• Code
• Syntax check (real-time)
• Debug
• Work with test data:
• DB2 tables
• QSAM/VSAM files
• IMS database segments
• Manage z/OS datasets
Real-time syntax validation
Content Assist-based coding
Integrated analysis + coding
Digging sideways – Performance Hierarchy

Perform Until
Statements

Understand where your
code goes from where you
currently are.
Each element is navigable
to another.
32

Conditional
Statements

Potential
program
fall thru
Finding nuggets of information

Data Elements View – a sortable view of all your data elements

33
Finding Unreachable Code

Unreachable
Code

34
Refactoring

Refactoring = make system-wide code changes without
affecting the behavior of the program
Auto format source code
… and how many hours have you
spent doing that by hand??

35
Resources

 Check out all our links for our presentations, including this one
–https://delicious.com/strongback/tag_bundle/Innovate2013
–“one link to rule them all”

36
Complimentary Sessions of Ours
1212A

1393A

37

Making a HATS a
Dolphin - Northern E1
Strategic Investment:
Integration with Relational
Systems and Web
Services
The Caffeinated
Dolphin - Northern E2
Mainframer: Java on
System z with Rational
Developer for System z

Wed, 5/Jun, 11:15 AM 12:45 PM

Thu, 6/Jun, 11:00 AM 12:00 PM
Subscribe to us at
http://feeds.feedburner.com/StrongbackConsulting

Discover us at:
http://www.strongback.us
Socialize with us on Facebook & LinkedIn
http://www.facebook.com/StrongbackConsulting
http://www.linkedin.com/company/290754

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

Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Spiffy
 
Agile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentAgile in Action - Act 2: Development
Agile in Action - Act 2: Development
Spiffy
 
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
IBM UrbanCode Products
 
Agile in Action - Act 3: Testing
Agile in Action - Act 3: TestingAgile in Action - Act 3: Testing
Agile in Action - Act 3: Testing
Spiffy
 
The Strategic Role of the Enterprise Application Framework
The Strategic Role of the Enterprise Application FrameworkThe Strategic Role of the Enterprise Application Framework
The Strategic Role of the Enterprise Application Framework
Jean-Marc Desvaux
 
Software Factory Tools Partner Day Final
Software Factory Tools Partner Day FinalSoftware Factory Tools Partner Day Final
Software Factory Tools Partner Day Final
Lek Pongpatimet
 
Datasheet foldermanagementpluginforrd
Datasheet foldermanagementpluginforrdDatasheet foldermanagementpluginforrd
Datasheet foldermanagementpluginforrd
MidVision
 

What's hot (20)

SAP #BOBJ #BI 4.1 Upgrade Webcast Series 6: User Authentication and SSO
SAP #BOBJ #BI 4.1 Upgrade Webcast Series 6: User Authentication and SSOSAP #BOBJ #BI 4.1 Upgrade Webcast Series 6: User Authentication and SSO
SAP #BOBJ #BI 4.1 Upgrade Webcast Series 6: User Authentication and SSO
 
SAP #BOBJ #BI 4.1 Upgrade Webcast Series 3: BI 4.1 Sizing and Virtualization
SAP #BOBJ #BI 4.1 Upgrade Webcast Series 3: BI 4.1 Sizing and VirtualizationSAP #BOBJ #BI 4.1 Upgrade Webcast Series 3: BI 4.1 Sizing and Virtualization
SAP #BOBJ #BI 4.1 Upgrade Webcast Series 3: BI 4.1 Sizing and Virtualization
 
How to Create "Hello, World!" in Fiori
How to Create "Hello, World!" in FioriHow to Create "Hello, World!" in Fiori
How to Create "Hello, World!" in Fiori
 
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
 
OOD Principles and Patterns
OOD Principles and PatternsOOD Principles and Patterns
OOD Principles and Patterns
 
DMT-2467 Like the Features in Rational DOORS 9? Come Check Them Out in DOORS...
DMT-2467	Like the Features in Rational DOORS 9? Come Check Them Out in DOORS...DMT-2467	Like the Features in Rational DOORS 9? Come Check Them Out in DOORS...
DMT-2467 Like the Features in Rational DOORS 9? Come Check Them Out in DOORS...
 
Agile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentAgile in Action - Act 2: Development
Agile in Action - Act 2: Development
 
Automating and Accelerating Application Deployments to IBM WebSphere without ...
Automating and Accelerating Application Deployments to IBM WebSphere without ...Automating and Accelerating Application Deployments to IBM WebSphere without ...
Automating and Accelerating Application Deployments to IBM WebSphere without ...
 
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
 
Agile in Action - Act 3: Testing
Agile in Action - Act 3: TestingAgile in Action - Act 3: Testing
Agile in Action - Act 3: Testing
 
Steer at the Team Level with Rational Team Concert
Steer at the Team Level with Rational Team ConcertSteer at the Team Level with Rational Team Concert
Steer at the Team Level with Rational Team Concert
 
The Strategic Role of the Enterprise Application Framework
The Strategic Role of the Enterprise Application FrameworkThe Strategic Role of the Enterprise Application Framework
The Strategic Role of the Enterprise Application Framework
 
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
 
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
 
Hyperion EPM APIs - Added value from HFM, Workspace, FDM, Smartview, and Shar...
Hyperion EPM APIs - Added value from HFM, Workspace, FDM, Smartview, and Shar...Hyperion EPM APIs - Added value from HFM, Workspace, FDM, Smartview, and Shar...
Hyperion EPM APIs - Added value from HFM, Workspace, FDM, Smartview, and Shar...
 
Workflow Management Software with IBM Lotus Notes, Business Process Managemen...
Workflow Management Software with IBM Lotus Notes, Business Process Managemen...Workflow Management Software with IBM Lotus Notes, Business Process Managemen...
Workflow Management Software with IBM Lotus Notes, Business Process Managemen...
 
Software Factory Tools Partner Day Final
Software Factory Tools Partner Day FinalSoftware Factory Tools Partner Day Final
Software Factory Tools Partner Day Final
 
Jboss Application Server training-course-navi-mumbai-jboss-course-provider-na...
Jboss Application Server training-course-navi-mumbai-jboss-course-provider-na...Jboss Application Server training-course-navi-mumbai-jboss-course-provider-na...
Jboss Application Server training-course-navi-mumbai-jboss-course-provider-na...
 
Building a SaaS Style Application
Building a SaaS Style ApplicationBuilding a SaaS Style Application
Building a SaaS Style Application
 
Datasheet foldermanagementpluginforrd
Datasheet foldermanagementpluginforrdDatasheet foldermanagementpluginforrd
Datasheet foldermanagementpluginforrd
 

Similar to Software Archaeology with RDz and RAA

Maharshi_Amin_416
Maharshi_Amin_416Maharshi_Amin_416
Maharshi_Amin_416
mamin1411
 
Lecture01 abap on line
Lecture01 abap on lineLecture01 abap on line
Lecture01 abap on line
Milind Patil
 

Similar to Software Archaeology with RDz and RAA (20)

DRM Webinar Series, PART 3: Will DRM Integrate With Our Applications?
DRM Webinar Series, PART 3: Will DRM Integrate With Our Applications?DRM Webinar Series, PART 3: Will DRM Integrate With Our Applications?
DRM Webinar Series, PART 3: Will DRM Integrate With Our Applications?
 
Satish_Vishwa
Satish_VishwaSatish_Vishwa
Satish_Vishwa
 
6.18.2013 System Development - Change/Configuration and Collaboration - RTC
6.18.2013 System Development - Change/Configuration and Collaboration - RTC6.18.2013 System Development - Change/Configuration and Collaboration - RTC
6.18.2013 System Development - Change/Configuration and Collaboration - RTC
 
Richard Clapp Mar 2015 short resume
Richard Clapp Mar 2015 short resumeRichard Clapp Mar 2015 short resume
Richard Clapp Mar 2015 short resume
 
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
 
Modern Application Development for the Enterprise
Modern Application Development for the EnterpriseModern Application Development for the Enterprise
Modern Application Development for the Enterprise
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Tools
 
Developing apps with techstack wp-dm
Developing apps with techstack wp-dmDeveloping apps with techstack wp-dm
Developing apps with techstack wp-dm
 
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open Shift
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open ShiftRed Hat Summit 2017 - Intro to SQL Server on RHEL and Open Shift
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open Shift
 
Maharshi_Amin_416
Maharshi_Amin_416Maharshi_Amin_416
Maharshi_Amin_416
 
PaaS Decision Matrix
PaaS Decision MatrixPaaS Decision Matrix
PaaS Decision Matrix
 
Lecture01 abap on line
Lecture01 abap on lineLecture01 abap on line
Lecture01 abap on line
 
Smarter Retail
Smarter RetailSmarter Retail
Smarter Retail
 
Raman O
Raman ORaman O
Raman O
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
 
Harikri2
Harikri2Harikri2
Harikri2
 
BizViz - CA PPM Analytics
BizViz - CA PPM AnalyticsBizViz - CA PPM Analytics
BizViz - CA PPM Analytics
 
Ajay_Pega_LSA.DOCX
Ajay_Pega_LSA.DOCXAjay_Pega_LSA.DOCX
Ajay_Pega_LSA.DOCX
 
Ibm Cognos B Iund Pmfj
Ibm Cognos B Iund PmfjIbm Cognos B Iund Pmfj
Ibm Cognos B Iund Pmfj
 

More from Strongback 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 Investment
Strongback 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 Know
Strongback 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 HATS
Strongback 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
 
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
 
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
 
Making Rational HATS a Strategic Investment
Making Rational HATS a Strategic InvestmentMaking Rational HATS a Strategic Investment
Making Rational HATS a Strategic Investment
 
Software Archaeology and Code Refactoring with Rational Developer for System ...
Software Archaeology and Code Refactoring with Rational Developer for System ...Software Archaeology and Code Refactoring with Rational Developer for System ...
Software Archaeology and Code Refactoring with Rational Developer for System ...
 
IBM Rational HATS Overview 2013
IBM Rational HATS Overview 2013IBM Rational HATS Overview 2013
IBM Rational HATS Overview 2013
 
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 Quality Manager
Rational Quality ManagerRational Quality Manager
Rational Quality Manager
 
RTCi Demo Scenario
RTCi Demo ScenarioRTCi Demo Scenario
RTCi Demo Scenario
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Software Archaeology with RDz and RAA

  • 1. Software Archaeology with RDz and RAA - discovering what you've forgotten, knowing what you've inherited Christopher Sayles Consultant, Strongback Consulting christopher.sayles@strongback.us Ujjwal Sinha Product Manager, Rational Asset Analyzer Ujjwal.sinha@in.ibm.com Session Z-1573 © 2013 IBM Corporation
  • 2. 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. Agenda  The business challenge from the view of the IT manager or executive  Viewing the big picture with Rational Asset Analyzer  RAA Features  New features in RAA 6.1  The view from the programmer analyst  How to conduct archaeology on your source code  RAA and RDz integration  Analytic tooling within Rational Developer for System z 3
  • 4. The Executive’s Business Challenge  Manage complexity – Control expenses associated with large, old, brittle application carrying costs  Manage risk – Increased complexity drives up production defect rates with corresponding business impact – Developers who understand the semantics of these systems are close to retirement – assuming the Wall Street gods don't repeat 2007/2008 follies  Leverage production application value – Operational drivers for business are your Enterprise Systems – Exploit the processing in working production code by coupling it with mobile and distributed application access – through: * SOA * Business Rules Mining 4
  • 5.  Using old 3270-based tools – TSO/ISPF … introduced circa ~1974 100% manual/character-based tooling - Error-prone - Labor-intensive Application Complexity How is z/OS application work done? Application Shelf Life  Even "no tools" – Given the limitations of the ISPF environment for large-application maintenance, support and development, many programmers and programmer/analysts actually prefer to use sticky-pads and paper clips with source listings for source analysis tasks (if you think we're kidding ask them)  The above nets out to an extreme*** curve for application maintenance, production support and development process  How do you flatten "Application Carrying Costs"? 5 *** Euphemism for expensive
  • 6.  RAA is a static code analysis tool  It stores the semantics of your applications in a repository and exposes the operational flow details of your Enterprise Systems: – Graphically – Through hyper-linked relationships – As Business Rules Reducing complexity and associated cost/risk for: – Application discovery – Program analysis – Data flow analysis – Impact analysis  RDz is a modern development IDE  It leverages the technological advances over the last forty years and provides: – Integrated: Edit/Analyze/Syntax Check * Integrated within the product and with RAA * Integration with SCM and green-screen tooling – Eclipse-style development functionality – Complete development/maintenance/production support lifecycle coverage Application Complexity Flatten Application Carrying Costs using RAA + RDz Application Shelf Life
  • 7. Your world  Composed of: – Systems • Applications – Application elements – Relationships among application elements  The semantics of your application are buried in: – Source code – Documentation – which is only as good as it is current and accurate
  • 8. Your world through the lens of RAA Transaction Diagram Composite Load Module  Application meta-data elements and relationships among elements graphically exposed through hyper-links stored in a relational repository – Up-to-date Batch Job Diagram – Precise
  • 9. Your programs exposed through the lens of RAA  Program meta-data, elements and relationships among elements graphically exposed through hyper-links stored in a relational repository – Always up-to-date – Precise Repository "meta-data" on COBOL programs Program flow
  • 10. RAA + RDz Benefits  Lowered application Carrying Costs through: – Decreased analysis time & effort: * Application semantics rendered graphically and hyper-linked across all elements and relationships in the application repository – Decreased development time & effort: * Modern integrated graphical tools * Integrated graphical workbench – Improved testing facilities * Code Coverage * Automated unit testing framework
  • 11. More RAA + RDz Benefits  Lowered risk: – Application semantics – normally only understood by SMEs captured in the RAA Repository – Improved application quality through code review rules which expose potential performance and maintenance improvements risks and improvements  Simplified application governance through RAA's metrics and high-level application dashboard  Satisfies the development cravings of Generations X, Y and Z – 11 Eclipse-based contemporary workbench
  • 12. Rational Asset Analyzer’s role in Enterprise and Enterprise Modernization  Software artifact inventory Traditional View  Business rules artifacts inventory  Application understanding  Change impact analysis  COBOL Business Rules Mining  Collaboration platform for all  Persistence platform for human knowledge about your apps New View  Provides a common language for Business, Dev & Ops to share  Cloud ready  Language agnostic capability RAA provides Common Language Business Owners Development/ Test Operations/ Production Monitor and Optimize Customers Develop and Test Release and Deploy Continuous Innovation, Feedback and Improvements 12
  • 13. What is new in RAA 6.1  Code Review for COBOL  Language Agnostic Business Rules  RTC Integration – scanning files from RTC with RAA  Usability & Currency
  • 14. RAA - Surfacing Code Review for COBOL  Code Review for COBOL gives focus when clients have hundreds (or thousands) of programs to improve  Gives the enterprise view allowing to identify programs that should be actually looked at RDz  Its static set of 19 rules  Can be automatically run during inventory, identify statements consistent with the rules  The results are:  persisted for use in Custom Queries or sophisticated analysis using 3rd party reporting or visualization tools  highlighted in Related source view line-gutter  summarized in Program summary page tab  itemized in Program details page tab
  • 15. Language Agnostic Business Rules Provides selected rule mining functionality for any file, crating a platform for capturing, persisting and sharing human knowledge.  Use in concert with, also language agnostic, symbol scanning  With new detail page actions and new user dialogs any text file can participate in business rule rules inventory and impact analysis.  Functions include:  Relate any file to a business rule  Relate range of lines in a file to a business rule  Related files appear in new section on Business rule details page  Rule relationships are highlighted in a new Related source view line-gutter  Impact analysis may be run on rule assets to determine their relationship to other enterprise assets
  • 16. Language Agnostic Business Rules Relate any file, or range of lines in a file, to a business rule
  • 17. Language Agnostic Business Rules Related files appear in new section on Business rule details page
  • 18. Language Agnostic Business Rules Rule relationships are highlighted in a new Related source view line-gutter
  • 19. Language Agnostic Business Rules Impact analysis may be run on rule assets to determine their relationship to other enterprise assets
  • 20. Scanning Rational Team Concert stored files with RAA  The solution developed by IBM Integrated Solution for System z Development team  Adopted and enhanced by RAA team to help in RAA development by scanning RAA files from RTC with RAA itself.  The value of two product working together is more than a simple sum; added value: Each RAA scans is recorded ad RTC build Scan history available in RTC as build results page The log files from RAA scans are published to RTC as build scans and made available directly from RTC interface
  • 21. Usability and Currency  Usability – Exporting diagrams in SVG – Printing Diagrams – Export of UI table content to CSV – View logs on the menu – Hashsum based incremental scanning  Currency – DB2 v9 & 10 syntax in embedded SQL – Eclipse 4.2 support for RAA plugin for RDz – Many documentation updates and improvement
  • 22. Usability - Exporting diagrams in SVG Usability - Printing Diagrams
  • 23. Usability - Export of UI table content to CSV Usability - View logs on the menu (with sort also by timestamp)
  • 24. Usability - Hashsum based incremental scanning  Works for all distributed files and scanning COBOL/PL/I on workstation  Content based (not file name and not timestamp based)  Not yet enabled for scanning PDSes on z/OS  Ability to explicitly force rescan (checkbox to Inventory wizard)  Following action will force rescan implicitly – Queue container for analysis – Queue selected – REST request for analysis – RAA plugin - scans are on save after file changed or explicitly requested by the user
  • 25. RAA on Windows - Installation simplifications  The only mandatory pre-req remaining on Windows is DB2  The option to use an embedded application server instead of IBM WebSphere Application Server is now available. RAA now embeds an application server, WAS Liberty Profile 8.5.0.1. This is an optional use, lightweight application server.  Option to use full enterprise strength of IBM WebSphere Application Server remains  Rexx is no longer a mandatory prerequisite. RAA now embeds Open Object Rexx 4.0.1. If a version of Open Object Rexx was previously installed on the system and is not otherwise needed, it can be uninstalled.  Java is no longer a mandatory prerequisite. RAA now embeds the Java Runtime Environment.
  • 26. 26
  • 27. The view from the programmer analyst Understand old code is much like conducting an archaeological dig 27
  • 28. A day in the life of a software archaeologist 1. A “Production Problem” arises 2. No one knows the source code 3. Code has been handed down from developer to developer 4. Was compiled years ago 5. 20K lines of code…. or more 6. YOU get “selected” to debug the issue 7. Spend DAYS understanding it 8. change one line, test 9. Repeat step 8…several times 10. Refactor to remove dead code 28
  • 29. 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 29
  • 30. Viewing down into the pit Program Control Flow Diagram:  Birds Eye view of source  Treat it like a blueprint 30
  • 31. Your programs analyzed with RDz + RAA Integrated functionality: • Analyze • Code • Syntax check (real-time) • Debug • Work with test data: • DB2 tables • QSAM/VSAM files • IMS database segments • Manage z/OS datasets Real-time syntax validation Content Assist-based coding Integrated analysis + coding
  • 32. Digging sideways – Performance Hierarchy Perform Until Statements Understand where your code goes from where you currently are. Each element is navigable to another. 32 Conditional Statements Potential program fall thru
  • 33. Finding nuggets of information Data Elements View – a sortable view of all your data elements 33
  • 35. Refactoring Refactoring = make system-wide code changes without affecting the behavior of the program Auto format source code … and how many hours have you spent doing that by hand?? 35
  • 36. Resources  Check out all our links for our presentations, including this one –https://delicious.com/strongback/tag_bundle/Innovate2013 –“one link to rule them all” 36
  • 37. Complimentary Sessions of Ours 1212A 1393A 37 Making a HATS a Dolphin - Northern E1 Strategic Investment: Integration with Relational Systems and Web Services The Caffeinated Dolphin - Northern E2 Mainframer: Java on System z with Rational Developer for System z Wed, 5/Jun, 11:15 AM 12:45 PM Thu, 6/Jun, 11:00 AM 12:00 PM
  • 38. Subscribe to us at http://feeds.feedburner.com/StrongbackConsulting Discover us at: http://www.strongback.us Socialize with us on Facebook & LinkedIn http://www.facebook.com/StrongbackConsulting http://www.linkedin.com/company/290754 Watch Us at Youtube http://www.youtube.com/user/strongbackconsulting https://vimeo.com/user7519232 Call us at: 386-232-8746

Editor's Notes

  1. software, in a relatively short span of time, has changed the world for the better, we have little lasting detail information of the software of the past.
  2. This is the project your developer dreads – finding the bug in a 40,000 lines of spaghetti Cobol. Only the strongest survive to work another day. The rest quit, change careers, or go into an asylum. Using ISPF to view this much code is like using a paper towel tube to view the Empire State Building.
  3. How a developer would use RAA
  4. Where do my COBOL assets meet my distributed assets? What touches this stored proc?
  5. Cover the purpose and need for refactoring. Mention zUnit is a way to help ensure functionality does not change as you refactor those 40K lines of code into a manageable, agile load module