SlideShare a Scribd company logo
1 of 40
eXplain
The tool for code
analysis and software
reengineering.
■ Grown mainframe software at
a glance
 Complex
 Functionally overloaded
 Technologically outdated
■ Individual software: from
competitive advantage to
sore point
Challenges:
 Undocumented, historically grown
architectures
 Costs are increasing due to a lack of
integration, networking and automation
 Unstoppable „bleeding“ of the expert
teams (attraction of young talents fails)
 New business processes can barely be
mapped
 Threat to the company‘s ability to act.
How do I analyze and
clean up the source
code, thereby relieving
its transformation and
contributing to ESG
goals?
How do you manage
to win new employees
for the current
environment and train
them efficiently and
quickly?
How do I recognize in
time that I have to
intervene before it‘s
too late and that the
quality and
maintainability of the
system are at
enormous risk?
■ The urgent questions are:
Without… the existence of written system documentation, the need for expensive external resources or an
extreme expenditure of time from experienced colleagues?​
■ The answers to these
questions are provided by
 Understand source code monoliths
 Speed up training
 Avoid programming errors
 Increase quality of code
individual
info
code
analysis
clustering
software
quality
■ eXplain at a glance.
parser incl.
preprocessor
sources
Defined interface for
additional info (APIs)
Repository
(IBM Db2 or
PostgreSQL)
JDBC
job-network
visualization
eXplain Server
SQL access
■ Which sources are supported by eXplain?
Programming
languages
 Cobol
 PL/I
 Assembler
 Natural
 RPG (IBM i)
 JCL
 CL (IBM i)
 REXX (teilweise)
 Cobol generators
(Telon, Detab
Cobol, ….)
Databases
 Db2
 Adabas
 IMS-DB
Scheduler
 AJM
 TWS
 Control-M
Transaction monitors
 CICS
 IMS-DC
What are we not
doing?
 Java
 desired and
wanted expandability
</>
■ Individual infos & APIs with
which eXplain achieves
more for you
Information (in csv format) for enriching the
parsing:
 transactions
 Menu structures from the database
 MQ information
 Variable tables (for scheduler)
The following are fed into the repository via API:
 Runtime information (object statistics on IBM i)
 Deployment information
 Execution statistics (SMF Records on z/OS)
 HTML documentation links
■ What is special about the
PKS parsers:
eXplain works like a kind of preprocessor
that also resolves complex constructs:
 Dynamic calls (e.g. CALL <variable>, if
the information is within the source code)
 Macros (PL/I, ASM)
 Included structures (COPY, INCLUDE)
If information about dynamic calls comes
from a database, it must be added to the
parsing manually ("individual information").
■ Code analysis with eXplain
Sourcecode-Screening
 Overview diagrams of all dependencies
and connections
 Display of redundancies and
inconsistencies
 Code cleanups
 Technical re-documentation of the code
Parser and documentation are individually
adaptable to special customer situations
 Faster impact analysis in the event of
changes or errors thanks to graphical
representation of
dependencies/interrelationships instead
of manually tracing the call chain (e.g.
code or Xinfo)
 Overall picture of the application
landscape on the MF
 Easy detection of dead code, plannable
ESG actions
 Faster training of new employees
through live graphical representation of
the application landscape
■ Code analysis
UseCase/customer added value:
■ Source explorer
- All sources are loaded into the repository
- Complex searches are also possible if
there is only a client plugin or no sources in
general in the workspace
- Linking queries at source code level with
repository information
- Search in ranges or with regular
expressions
In mainframe development it is unusual to
keep the sources in the IDE workspace
(e.g. IDz, Eclipse...) permanently. By storing
the sources in the eXplain Repository:
 Complex searches and queries can still
be performed on all sources
 Saves MIPS by querying with XINFO
and self-developed searches
Since the eXplain repository can be
enriched with customer-specific information,
searches and queries can be linked to this
information.
■ Source Explorer
UseCase/customer added value:
■ Reporting / evaluations
- Multiple queries (UMQ)
- New depiction
- Unified layout
- Grouping
- Advanced scripting
- User report
- Possibility to embed external HTML
links
- Nested SQL loops
In addition to the reports provided by
eXplain, your specific evaluations can be
embedded to e.g.
 Automatically generate audit compliant
change reports
 Specific reports for different target
groups, e.g. Operations, Dev, Mgmt
 Reports for projects on interfaces of
applications, files and databases that
will be affected by changes, e.g. for
more targeted effort estimates
■ Reporting / Evaluations
UseCase/customer added value:
■ eXplain visualizes your source code
■ Clustering with eXplain
Structure of the source code in functional
entities
Basis for:
 Module-related migration planning
 Flawless communication in the project team
 Delimitation of non-migration-relevant
modules
Complex and opaque software systems can be
systematically structured. Interfaces between
application systems can be identified without
errors and a clear structure of architecture can
be achieved.
Clustering allows modules to be grouped
into logical/subject entities that correspond
to your specific organization, e.g. Product -
> Components -> Modules.
 Using the graphical representation,
interfaces and responsibilities can be
quickly identified as well as a more
precise identification of the impact of
planned source code changes.
■ Clustering
UseCase/customer added value:
1
2
3
■ Cleanup and clustering are the
basis for successful migration
planning and implementation.
1. Initial situation:
Uncleaned system
2. Cleaned system
after initial cleanup:
 Avoid errors
 Develop faster
 Make better decisions
3. Clustered application:
 Clear processes
 Clear communication
 Error-free implementation
■ The clustering with eXplain makes functional entities and their
technical interdependence transparent.
■ Clustering
- Visualization option „Sankey“ diagrams
- Differentiated representation of IO
interfaces
■ Quality control with eXplain
Maturity assessment of legacy
applications based on general or
customer-specific parameters
 Management and project leads can
monitor the progress of cleansing or
further development
 Fault prevention by proactively
identifying potential sources of error in
the code
Quality assurance for working with
freelancers or nearshore/offshore teams
Using the key figures from the Quality
Dashboard, you can:
 Quickly identify areas for action, e.g. to
reduce complexity and increase
maintainability.
 Monitor the source code maintainability
of changed/new code from internal and
external developers in a measurable
way.
 KPIs can be included in contracts with
external service providers
■ Quality control with eXplain
UseCase/customer added value:
■ The QA dashboard supports project leads and quality
managers in checking progress
 Adaptation and individualization to the
environment of the customer
 Basis for this is that PKS holds the
full development rights with eXplain
 On the one hand, PKS is constantly
developing the parser and, on the
other hand, can customize the
visualization
 New features can be developed, tested
and made available independently of
release cycles.
 This is an unbeatable advantage,
especially in PoC and time-critical
analysis phases
■ eXplain can be adapted to the
customer‘s individual setup
„With eXplain from PKS, we were able to identify a fair amount of code
that was no longer needed in our Natural- and Cobol-based core banking
system and thus basically clean up and streamline the system. The
documentation created completely automatically by eXplain also fully
meets our revision requirements. These are just two examples of how
eXplain supports us in our core banking system stabilization project.
However, I would also like to particularly emphasize the extremely
pleasant cooperation with the competent PKS team and the flexible
possibilities in everyday project work, so that we were able to take
Helaba-specific requirements into account at all times.
Stephan Böcher
Gruppenleiter Anwendungsentwicklung
Helaba-Landesbank Hessen-Thüringen
■ Reference quote
Goals and benefits:
 All required result types were delivered with 100% coverage.
 eXplain provides recommendations for the maintenance and
stabilization of ZDV.
 The automatically generated data processing concepts serve as
audit-proof documentation for the Bafin
Realization:
 Phase 1: Proof-of-Concept for KUN, KUN-DIA und KSA
(934 modules with 729.586 lines of code)
Duration: 01.09.18 - 22.01.19
 Phase 2: Complete implementation for the core banking system
(11.815 program modules with 2.322.250 lines of code)
Duration: 15.03. – 30.09.2019
 Phase 3: Implementation for all mainframe applications
Duration: since Q1 2020
 Phase 4: Complexity reduction to progressively modernize and
replace
Background info:
 Helaba plans to replace its core banking
systems with SAP or something similar in the
long term, but has stopped the first attempt at
implementation due to underestimated
complexity and Bafin reprimands.
 Now the AWS must be separated, technical
modules must be assigned, interfaces must
be shown and everything has to be
documented automatically
 Our technology and our competence
convinced in the RfP compared to the
competition because:
 Our base technology for procedural
languages is better
 Our parsers for all necessary languages
are very mature
 The eXplain clustering is unique
 Our repository is complete, but still clear
 We offer a powerful visualization and
documentation option
■ Reference project
The advantages for your
company by using
eXplain and working
together with PKS.
… and reduce up to
42% of your mainframe
code.
■ 1st advantage:
You rely on the best analysis
technology on the market.
LzLabs ADDI Sonar
Qube
CAST Micro-
focus
eXplain
Scope of functions /
technology coverage
Neutrality in relation to the
migration variant
On-site support by German-
speaking consultants
Full Visualization /
Ease of use
Dynamic call support,
preprocessor
■ Market Classification of Legacy Analysis Tools
Legend:
Fully
covered
Partially
covered
Barely
covered
Not
covered
… 100% flawless
communication.
■ 2nd advantage:
You benefit from the
combination of the technical
and professional view of your
applications.
■ 3rd advantage:
PKS has the manpower, the
know-how and the flexibility
that you need for the
success of your project.
■ You find new employees more
easily – and they become
productive twice as fast.
■ You identify and eliminate
code that is no longer
needed.
■ You avoid misunderstandings
between the specialist field and
the development.
■ You document
reality – repeatable
at any time.
You want to learn more?
Then download the new whitepaper!
https://www.pks.de/de/explain-whitepaper
■ eXplain Whitepaper
You reduce
costs
You eliminate
risks
You find new
employees more
easily
You use
innovative
technology
■ Your benefits at a glance
Heidi Schmidt
Managing Director (CEO)
+49 (0) 751 56140 229
heidi.schmidt@pks.de
Bernd Butscher
Head of Enterprise Software Transformation
+49 (0) 751 56140 257
bernd.butscher@pks.de

More Related Content

Similar to eXplain – Systematical Analysis of IBM Legacy Code

Migration of Domino Application Landscapes…using cedros Software Analysis & M...
Migration of Domino Application Landscapes…using cedros Software Analysis & M...Migration of Domino Application Landscapes…using cedros Software Analysis & M...
Migration of Domino Application Landscapes…using cedros Software Analysis & M...Philipp Königs
 
Sridhar_SAP_ABAP_TechnicalConsultant_Resume
Sridhar_SAP_ABAP_TechnicalConsultant_ResumeSridhar_SAP_ABAP_TechnicalConsultant_Resume
Sridhar_SAP_ABAP_TechnicalConsultant_ResumeSridhar V
 
AI projects - Lifecyle & Best Practices
AI projects - Lifecyle & Best PracticesAI projects - Lifecyle & Best Practices
AI projects - Lifecyle & Best PracticesVincent de Stoecklin
 
Ramesh_CV_4_Years_Experience
Ramesh_CV_4_Years_ExperienceRamesh_CV_4_Years_Experience
Ramesh_CV_4_Years_ExperienceRamesh Thadivada
 
Varun v resume_tc
Varun v resume_tcVarun v resume_tc
Varun v resume_tcVarun V
 
Jesy George_CV_LATEST
Jesy George_CV_LATESTJesy George_CV_LATEST
Jesy George_CV_LATESTJesy George
 
Integration strategy for large erp deployments
Integration strategy for large erp deploymentsIntegration strategy for large erp deployments
Integration strategy for large erp deploymentsArup Dutta
 

Similar to eXplain – Systematical Analysis of IBM Legacy Code (20)

Migration of Domino Application Landscapes…using cedros Software Analysis & M...
Migration of Domino Application Landscapes…using cedros Software Analysis & M...Migration of Domino Application Landscapes…using cedros Software Analysis & M...
Migration of Domino Application Landscapes…using cedros Software Analysis & M...
 
Ahmed El Mawaziny CV
Ahmed El Mawaziny CVAhmed El Mawaziny CV
Ahmed El Mawaziny CV
 
Sridhar_SAP_ABAP_TechnicalConsultant_Resume
Sridhar_SAP_ABAP_TechnicalConsultant_ResumeSridhar_SAP_ABAP_TechnicalConsultant_Resume
Sridhar_SAP_ABAP_TechnicalConsultant_Resume
 
Arul_Resume
Arul_ResumeArul_Resume
Arul_Resume
 
PAC Fast Track Implementation Program
PAC Fast Track Implementation ProgramPAC Fast Track Implementation Program
PAC Fast Track Implementation Program
 
LavettaMcClorinResume
LavettaMcClorinResumeLavettaMcClorinResume
LavettaMcClorinResume
 
AI projects - Lifecyle & Best Practices
AI projects - Lifecyle & Best PracticesAI projects - Lifecyle & Best Practices
AI projects - Lifecyle & Best Practices
 
Arunprakash Alagesan
Arunprakash AlagesanArunprakash Alagesan
Arunprakash Alagesan
 
Ramesh_CV_4_Years_Experience
Ramesh_CV_4_Years_ExperienceRamesh_CV_4_Years_Experience
Ramesh_CV_4_Years_Experience
 
Resume
ResumeResume
Resume
 
Ram kumar ok
Ram kumar okRam kumar ok
Ram kumar ok
 
Varun v resume_tc
Varun v resume_tcVarun v resume_tc
Varun v resume_tc
 
MichaelRichardsonResume2016
MichaelRichardsonResume2016MichaelRichardsonResume2016
MichaelRichardsonResume2016
 
Jesy George_CV_LATEST
Jesy George_CV_LATESTJesy George_CV_LATEST
Jesy George_CV_LATEST
 
Chirantan Chakraborty_Resume
Chirantan Chakraborty_ResumeChirantan Chakraborty_Resume
Chirantan Chakraborty_Resume
 
Legacy Migration Overview
Legacy Migration OverviewLegacy Migration Overview
Legacy Migration Overview
 
Legacy Migration
Legacy MigrationLegacy Migration
Legacy Migration
 
Raghu resume[1]
Raghu resume[1]Raghu resume[1]
Raghu resume[1]
 
Integration strategy for large erp deployments
Integration strategy for large erp deploymentsIntegration strategy for large erp deployments
Integration strategy for large erp deployments
 
Reshma Resume 2016
Reshma Resume 2016Reshma Resume 2016
Reshma Resume 2016
 

Recently uploaded

ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 

Recently uploaded (20)

ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 

eXplain – Systematical Analysis of IBM Legacy Code

  • 1. eXplain The tool for code analysis and software reengineering.
  • 2. ■ Grown mainframe software at a glance  Complex  Functionally overloaded  Technologically outdated
  • 3. ■ Individual software: from competitive advantage to sore point Challenges:  Undocumented, historically grown architectures  Costs are increasing due to a lack of integration, networking and automation  Unstoppable „bleeding“ of the expert teams (attraction of young talents fails)  New business processes can barely be mapped  Threat to the company‘s ability to act.
  • 4. How do I analyze and clean up the source code, thereby relieving its transformation and contributing to ESG goals? How do you manage to win new employees for the current environment and train them efficiently and quickly? How do I recognize in time that I have to intervene before it‘s too late and that the quality and maintainability of the system are at enormous risk? ■ The urgent questions are: Without… the existence of written system documentation, the need for expensive external resources or an extreme expenditure of time from experienced colleagues?​
  • 5. ■ The answers to these questions are provided by  Understand source code monoliths  Speed up training  Avoid programming errors  Increase quality of code
  • 6. individual info code analysis clustering software quality ■ eXplain at a glance. parser incl. preprocessor sources Defined interface for additional info (APIs) Repository (IBM Db2 or PostgreSQL) JDBC job-network visualization eXplain Server SQL access
  • 7. ■ Which sources are supported by eXplain? Programming languages  Cobol  PL/I  Assembler  Natural  RPG (IBM i)  JCL  CL (IBM i)  REXX (teilweise)  Cobol generators (Telon, Detab Cobol, ….) Databases  Db2  Adabas  IMS-DB Scheduler  AJM  TWS  Control-M Transaction monitors  CICS  IMS-DC What are we not doing?  Java  desired and wanted expandability </>
  • 8. ■ Individual infos & APIs with which eXplain achieves more for you Information (in csv format) for enriching the parsing:  transactions  Menu structures from the database  MQ information  Variable tables (for scheduler) The following are fed into the repository via API:  Runtime information (object statistics on IBM i)  Deployment information  Execution statistics (SMF Records on z/OS)  HTML documentation links
  • 9. ■ What is special about the PKS parsers: eXplain works like a kind of preprocessor that also resolves complex constructs:  Dynamic calls (e.g. CALL <variable>, if the information is within the source code)  Macros (PL/I, ASM)  Included structures (COPY, INCLUDE) If information about dynamic calls comes from a database, it must be added to the parsing manually ("individual information").
  • 10. ■ Code analysis with eXplain Sourcecode-Screening  Overview diagrams of all dependencies and connections  Display of redundancies and inconsistencies  Code cleanups  Technical re-documentation of the code Parser and documentation are individually adaptable to special customer situations
  • 11.  Faster impact analysis in the event of changes or errors thanks to graphical representation of dependencies/interrelationships instead of manually tracing the call chain (e.g. code or Xinfo)  Overall picture of the application landscape on the MF  Easy detection of dead code, plannable ESG actions  Faster training of new employees through live graphical representation of the application landscape ■ Code analysis UseCase/customer added value:
  • 12. ■ Source explorer - All sources are loaded into the repository - Complex searches are also possible if there is only a client plugin or no sources in general in the workspace - Linking queries at source code level with repository information - Search in ranges or with regular expressions
  • 13. In mainframe development it is unusual to keep the sources in the IDE workspace (e.g. IDz, Eclipse...) permanently. By storing the sources in the eXplain Repository:  Complex searches and queries can still be performed on all sources  Saves MIPS by querying with XINFO and self-developed searches Since the eXplain repository can be enriched with customer-specific information, searches and queries can be linked to this information. ■ Source Explorer UseCase/customer added value:
  • 14. ■ Reporting / evaluations - Multiple queries (UMQ) - New depiction - Unified layout - Grouping - Advanced scripting - User report - Possibility to embed external HTML links - Nested SQL loops
  • 15. In addition to the reports provided by eXplain, your specific evaluations can be embedded to e.g.  Automatically generate audit compliant change reports  Specific reports for different target groups, e.g. Operations, Dev, Mgmt  Reports for projects on interfaces of applications, files and databases that will be affected by changes, e.g. for more targeted effort estimates ■ Reporting / Evaluations UseCase/customer added value:
  • 16. ■ eXplain visualizes your source code
  • 17. ■ Clustering with eXplain Structure of the source code in functional entities Basis for:  Module-related migration planning  Flawless communication in the project team  Delimitation of non-migration-relevant modules Complex and opaque software systems can be systematically structured. Interfaces between application systems can be identified without errors and a clear structure of architecture can be achieved.
  • 18. Clustering allows modules to be grouped into logical/subject entities that correspond to your specific organization, e.g. Product - > Components -> Modules.  Using the graphical representation, interfaces and responsibilities can be quickly identified as well as a more precise identification of the impact of planned source code changes. ■ Clustering UseCase/customer added value:
  • 19. 1 2 3 ■ Cleanup and clustering are the basis for successful migration planning and implementation. 1. Initial situation: Uncleaned system 2. Cleaned system after initial cleanup:  Avoid errors  Develop faster  Make better decisions 3. Clustered application:  Clear processes  Clear communication  Error-free implementation
  • 20. ■ The clustering with eXplain makes functional entities and their technical interdependence transparent.
  • 21. ■ Clustering - Visualization option „Sankey“ diagrams - Differentiated representation of IO interfaces
  • 22. ■ Quality control with eXplain Maturity assessment of legacy applications based on general or customer-specific parameters  Management and project leads can monitor the progress of cleansing or further development  Fault prevention by proactively identifying potential sources of error in the code Quality assurance for working with freelancers or nearshore/offshore teams
  • 23. Using the key figures from the Quality Dashboard, you can:  Quickly identify areas for action, e.g. to reduce complexity and increase maintainability.  Monitor the source code maintainability of changed/new code from internal and external developers in a measurable way.  KPIs can be included in contracts with external service providers ■ Quality control with eXplain UseCase/customer added value:
  • 24. ■ The QA dashboard supports project leads and quality managers in checking progress
  • 25.  Adaptation and individualization to the environment of the customer  Basis for this is that PKS holds the full development rights with eXplain  On the one hand, PKS is constantly developing the parser and, on the other hand, can customize the visualization  New features can be developed, tested and made available independently of release cycles.  This is an unbeatable advantage, especially in PoC and time-critical analysis phases ■ eXplain can be adapted to the customer‘s individual setup
  • 26. „With eXplain from PKS, we were able to identify a fair amount of code that was no longer needed in our Natural- and Cobol-based core banking system and thus basically clean up and streamline the system. The documentation created completely automatically by eXplain also fully meets our revision requirements. These are just two examples of how eXplain supports us in our core banking system stabilization project. However, I would also like to particularly emphasize the extremely pleasant cooperation with the competent PKS team and the flexible possibilities in everyday project work, so that we were able to take Helaba-specific requirements into account at all times. Stephan Böcher Gruppenleiter Anwendungsentwicklung Helaba-Landesbank Hessen-Thüringen ■ Reference quote
  • 27. Goals and benefits:  All required result types were delivered with 100% coverage.  eXplain provides recommendations for the maintenance and stabilization of ZDV.  The automatically generated data processing concepts serve as audit-proof documentation for the Bafin Realization:  Phase 1: Proof-of-Concept for KUN, KUN-DIA und KSA (934 modules with 729.586 lines of code) Duration: 01.09.18 - 22.01.19  Phase 2: Complete implementation for the core banking system (11.815 program modules with 2.322.250 lines of code) Duration: 15.03. – 30.09.2019  Phase 3: Implementation for all mainframe applications Duration: since Q1 2020  Phase 4: Complexity reduction to progressively modernize and replace Background info:  Helaba plans to replace its core banking systems with SAP or something similar in the long term, but has stopped the first attempt at implementation due to underestimated complexity and Bafin reprimands.  Now the AWS must be separated, technical modules must be assigned, interfaces must be shown and everything has to be documented automatically  Our technology and our competence convinced in the RfP compared to the competition because:  Our base technology for procedural languages is better  Our parsers for all necessary languages are very mature  The eXplain clustering is unique  Our repository is complete, but still clear  We offer a powerful visualization and documentation option ■ Reference project
  • 28. The advantages for your company by using eXplain and working together with PKS.
  • 29. … and reduce up to 42% of your mainframe code. ■ 1st advantage: You rely on the best analysis technology on the market.
  • 30. LzLabs ADDI Sonar Qube CAST Micro- focus eXplain Scope of functions / technology coverage Neutrality in relation to the migration variant On-site support by German- speaking consultants Full Visualization / Ease of use Dynamic call support, preprocessor ■ Market Classification of Legacy Analysis Tools Legend: Fully covered Partially covered Barely covered Not covered
  • 31. … 100% flawless communication. ■ 2nd advantage: You benefit from the combination of the technical and professional view of your applications.
  • 32. ■ 3rd advantage: PKS has the manpower, the know-how and the flexibility that you need for the success of your project.
  • 33. ■ You find new employees more easily – and they become productive twice as fast.
  • 34. ■ You identify and eliminate code that is no longer needed.
  • 35. ■ You avoid misunderstandings between the specialist field and the development.
  • 36. ■ You document reality – repeatable at any time.
  • 37. You want to learn more? Then download the new whitepaper! https://www.pks.de/de/explain-whitepaper ■ eXplain Whitepaper
  • 38. You reduce costs You eliminate risks You find new employees more easily You use innovative technology ■ Your benefits at a glance
  • 39. Heidi Schmidt Managing Director (CEO) +49 (0) 751 56140 229 heidi.schmidt@pks.de
  • 40. Bernd Butscher Head of Enterprise Software Transformation +49 (0) 751 56140 257 bernd.butscher@pks.de

Editor's Notes

  1. UseCase/Kundenmehrwert: Schnellere Impact Analyse bei Änderungen oder im Fehlerfall durch grafische Darstellung der Abhängigkeiten/Zusammenhänge statt Call Chain manuell nach zu vollziehen (z.B. Code oder Xinfo) Gesamtbild der Application Landscape auf dem MF Leichtes Erkennen von Dead Code, Planbare ESG Aktionen
  2. UseCase/Kundenmehrwert: Bei MF Entwicklung ist es unüblich die Sourcen im IDE Workspace (e.g. IDz, Eclipse…) zu halten. Durch die Speicherung der Sourcen im eXplain Repository können trotzdem komplexe Suchen und Abfragen über alle Sourcen abgesetzt werden Da das eXplain Repository um kundenspezifische Informationen angereichert werden kann, können Suchen und Abfragen mit diesen Informationen verknüpft werden
  3. UseCase/Kundenmehrwert: Neben den von eXplain bereitgestellten Reports können Ihre spezifischen Auswertungen zusätzlich eingebetten werden um z.B. Audit konforme Änderungsnachweise automatisch zu erstellen Reports fürs Management Auswertungen für Projekte zu Schnittstellen der Applikationen, Files und Datenbanken die von Änderungen betroffen sein werden, z.B. für Aufwandsschätzungen
  4. UseCase/Kundenmehrwert:​ Anhand der Kennzahlen durch das Quality Dashboard lassen sich:​ Schnell Handlungsfelder identifizieren um z.B. Komplexität zu reduzieren und die Wartbarkeit zu erhöhen​ Die Source-Code Wartbarkeit von geändertem/neuen Code von internen wie externen Entwicklern messbar monitoren​ KPIs können in Verträge mit externen Dienstleistern aufgenommen werden​
  5. Mit eXplain von PKS konnten wir einen ordentlichen Anteil von nicht mehr benötigtem Code in unserem Natural- und Cobol-basierten Kernbanksystem identifizieren und damit das System grundsätzlich bereinigen und entschlacken. Auch die von eXplain vollautomatisiert erstellten Dokumentationen erfüllen unsere Revisionsanforderungen umfänglich. Das sind nur zwei Beispiele, wie uns eXplain in unserem Projekt „Kernbanksystem-Stabilisierung“ unterstützt. Besonders hervorheben möchte ich aber auch die überaus angenehme Zusammenarbeit mit dem kompetenten Team der PKS sowie die flexiblen Möglichkeiten im Projektalltag, sodass wir auf Helaba-spezifische Anforderungen jederzeit Rücksicht nehmen konnten.