SlideShare a Scribd company logo
1 of 28
Download to read offline
© 2017 IBM Corporation© 2017 IBM Corporation
Refactoring Monolithic Applications
Bill Alexander, Architect - IBM Developer for z Systems
Paul Pilotto, Solution Architect ADDI
© 2017 IBM Corporation
2
Disclaimer
 IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal
without notice and at IBM’s sole discretion.
 Information regarding potential future products is intended to outline our general product direction
and it should not be relied on in making a purchasing decision.
 The information mentioned regarding potential future products is not a commitment, promise, or
legal obligation to deliver any material, code or functionality. Information about potential
future products may not be incorporated into any contract.
 The development, release, and timing of any future features or functionality described for our
products remains at our sole discretion.
 Performance is based on measurements and projections using standard IBM benchmarks in a
controlled environment. The actual throughput or performance that any user will experience will vary
depending upon many factors, including considerations such as the amount of multiprogramming in
the user’s job stream, the I/O configuration, the storage configuration, and the workload processed.
Therefore, no assurance can be given that an individual user will achieve results similar to those
stated here
© 2017 IBM Corporation
3
Discussion Topics
 Definition of a Monolithic Application
 Why refactor
 Approaches to refactoring
 Detailed walkthrough of scenarios
© 2017 IBM Corporation
4
Business Drivers Motivating People to Refactor
 Business Agility – Speed of change is faster with a more modular
architecture – micro-services architecture is a popular approach
 Accelerate Digital Transformation – Provide more flexibility in what
capabilities to reuse.
 Facilitate onboarding of new people – Reduce learning curve by
providing a more understandable architecture
 Enable rewrite (e.g. java, node) – Incremental approaches centered on
smaller components radically reduces risk.
© 2017 IBM Corporation
5
Monolithic Applications
Monolithic Applications are self-contained applications in which functionally
distinguishable aspects (for example presentation logic, business logic, and data
access) are all interwoven components.
All code exists in a single tier (all combined) and deploys as a single unit.
Business Logic
Data Access LogicPresentation LogicData Access Logic
© 2017 IBM Corporation
6
What are the pain points of Monolithic Applications
 Lack of Understanding
– Makes simple changes cumbersome
– Next generation programmers have no insight
– Business Logic exponentially grows by copy/paste
• Fear of making mistakes  duplication of logic
• Inability to leverage business logic
 Lack of Agility
– Small code changes require test and package of the entire application
– Slow response to API Economy
– Difficult integration with new technology (Mobile, Cloud, Continuous DevOps)
– Monoliths were designed assuming infrequent deployment
© 2017 IBM Corporation
7
The Danger of the Monolithic App
https://devops.com/danger-monolithic-app/
© 2017 IBM Corporation
8
Complementary Approaches to Be Used to Refactor
API enable transactions and other resources
• Enables these resources to be easily reused inside and outside IBM Z
• Moves the needle towards a micro services architectures
Break big applications into smaller applications, incrementally
• Localizes change impact, enabling agile / DevOps styles of development
• Provides a more fine-granular opportunity for reuse and API enablement
Rewrite business logic into business rules managed in a decision management tool
• Enables rules to be updated by SMEs without programming
• Facilitates reuse by ensuring business rule is only captured once
All of these approaches needs to be complemented by
• Governance of the refactoring effort to ensure clear goals are set and managed to
• Regression testing to ensure function and performance are not compromised
© 2017 IBM Corporation
9
API enable transactions and other assets
Application Discovery and Delivery
Intelligence (ADDI)
Discover And Understand
Your z/OS Assets
Refactor
applications to
leverage APIs
and test as
needed
Application Delivery
Foundation for z
Systems (ADFz)
Manage and
control the
API’s
IBM z/OS
Connect EE
Create
business API’s
for what you
discovered
IBM API
Connect
© 2017 IBM Corporation
10
Break big applications into smaller applications
Application Discovery
and Delivery
Intelligence (ADDI)
Identify code that
appears to be
somewhat loosely
coupled.
Leverage
refactoring wizard
to refactor module
into independent
program. Unit test
the code.
Application Delivery
Foundation for z
Systems (ADFz)
IBM z/OS
Connect EE
If appropriate,
create a
REST-ful API
for the
recently
refactored
application.
Application Discovery
and Delivery
Intelligence (ADDI)
Optimize test effort
and determine
whether acceptable
code coverage of
change code has
been achieved.
© 2017 IBM Corporation
11
Rewrite business logic into business rules
Application Discovery
and Delivery
Intelligence (ADDI)
Capture business
information, including
business terms.
Identify Candidate
Business rules and
author them as
Business Rules
(FUTURE)
Refactor code to
replace the
candidate rules with
calls to Business
rules in a business
rules engine like
ODM for
management of
business logic
outside the
Application logic.
Application Delivery
Foundation for z
Systems (ADFz)
Business Rule
Engine
Invoke and
manage
business rules
Application Discovery
and Delivery
Intelligence (ADDI)
Optimize test effort
and determine
whether acceptable
code coverage of
changed code has
been achieved.
© 2017 IBM Corporation
12
Refactor to fit in a DevOps strategy
Smaller modules have a more agile impact on DevOps
How ADDI and ADFz
help you in this
Refactoring Process
“The GPS for your Mainframe
Developers”
13
Increase Agility by
Simplifying and
Standardizing Work
Item Estimation
• Use standardized Metrics (such as Maintainability
Index or Halstead Complexity) to make more
realistic estimations
• Callgraphs, Usage Reports and other Reports help
planning application modernization and make
application portfolio decisions
• Dead-Code Reports give indications about
possible dead-code to remove
14
Accelerate
Transformation
Navigate easily inside
large and complex
programs
• Program Flow provides a quick overview about
the parts of a specific program
• Find code lines accessing specific resources or
interacting with other programs
15
Accelerate
Transformation
Navigate easily inside
large and complex
programs
• Flow-Charts show an in-detail view of the inner
workings of programs
16
Accelerate
Transformation
Accelerate Refactoring
• Reduce guesswork about side-effects while
changing applications
• Navigate the code more effectively
• Understand unknown code faster
• Adopt a more structured approach to changes
using ADDI as a guidance
17
Accelerate
Transformation
© 2017 IBM Corporation
18
IBM Application Discovery and Delivery Intelligence V5.0.3
(Available Now)
• Graphical artifact interdependency
analysis
• Web based search
• Extensibility improvements
• Preprocessors
• Custom communication layers
• Additional coding rules
• Additional language translations
• Performance, Scalability and
Usability improvements
• Several customer RFEs
© 2017 IBM Corporation
19
A central link in an integrated and flexible DevOps toolchain
IBM Developer for z Systems V14.1 (Available Now)
Issue
Tracker
Source
Code
Repository
Delivery
Pipeline
Insights
and
Analysis
• Refactoring support for monolithic programs
• API Enablement
• Agility through modularization
• Improve Maintainability
• Integration with Application Discovery
• Integration with SonarQube
• Improved Software Analyzer reports
• Enhanced SCM integration
• Day 1 support for IBM Z compilers & z/OS
• Several customer RFEs
https://developer.ibm.com/mainframe/2017/09/08/whats-new-idz-v14-1/
© 2017 IBM Corporation
20
Leverage existing investments in new ways
 Create new reusable programs from existing logic
 Invoke the new program from the original source
 Creating opportunities for new APIs
© 2017 IBM Corporation
21
IBM z/OS Connect Enterprise Edition
 Create new business opportunities
 Map RESTful APIs to existing mainframe services and data
 Single endpoint for service access
© 2017 IBM Corporation
22
Improve testability
 Program functionality can be easily tested in isolation
Testing a Monolith Testing individual components
© 2017 IBM Corporation
23
Test automation for z/OS applications
 Automating regression tests becomes easy using tools
– z/OS Automated Unit Testing Framework (zUnit feature in IDz)
– Rational Test Workbench
– XaTester (Xact Consulting A/S)
– MF-Test (MOST Technologies)
© 2017 IBM Corporation
24
Optimize Test Case
Execution
 Detect which regression tests cases maps to
changed code to reduce test efforts in early
iterations by a magnitude or more
 Optimize test case execution by identifying which
test cases may be redundant, so low value tests can
be reduced
 Close test gaps before exiting test phase by
showing code coverage of changed and unchanged
code.
24
Increase
Productivity
© 2017 IBM Corporation
25
Improve agility
 Multiple developers can work concurrently
 Only deploy what has been modified
 Underlying technologies can change over time
Parallel component development Linear development of a monolith
© 2017 IBM Corporation
26
Reduce program complexity
 Program logic is easier to understand by humans and tools
© 2017 IBM Corporation
27
Summary
 Refactoring monolithic
applications into smaller
components has many potential
benefits, including…
– Reuse
– APIs
– Continuous Testing
– Continuous Feedback
– Continuous Delivery
– Maintainability
 IBM has tools that can help,
including…
 Application Delivery
Foundation for z Systems
 Application Discovery and
Delivery Intelligence
 z/OS Connect Enterprise
Edition
© 2017 IBM Corporation
© 2017 IBM Corporation
Thank You

More Related Content

What's hot

Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
ghodgkinson
 

What's hot (18)

Quantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROIQuantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROI
 
Service Testing & Virtualization in an Enterprise Environments
Service Testing & Virtualization in an Enterprise EnvironmentsService Testing & Virtualization in an Enterprise Environments
Service Testing & Virtualization in an Enterprise Environments
 
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
 
Rational developer for z systems : DevOps benefits here and now
Rational developer for z systems : DevOps benefits here and nowRational developer for z systems : DevOps benefits here and now
Rational developer for z systems : DevOps benefits here and now
 
Elevating Application Performance with the latest IBM COBOL offerings
Elevating Application Performance with the latest IBM COBOL offeringsElevating Application Performance with the latest IBM COBOL offerings
Elevating Application Performance with the latest IBM COBOL offerings
 
IBM Z for the Digital Enterprise - DevOps for Z
IBM Z for the Digital Enterprise - DevOps for Z IBM Z for the Digital Enterprise - DevOps for Z
IBM Z for the Digital Enterprise - DevOps for Z
 
Making the Dinosaur Dance - RDz, RTC and UrbanCode Lunch and Learn slides
Making the Dinosaur Dance - RDz, RTC and UrbanCode Lunch and Learn slidesMaking the Dinosaur Dance - RDz, RTC and UrbanCode Lunch and Learn slides
Making the Dinosaur Dance - RDz, RTC and UrbanCode Lunch and Learn slides
 
Continuous Integration and Deployment on Rational Development and Test Enviro...
Continuous Integration and Deployment on Rational Development and Test Enviro...Continuous Integration and Deployment on Rational Development and Test Enviro...
Continuous Integration and Deployment on Rational Development and Test Enviro...
 
New Continuous Release and Deployment Capabilities for CICS Customers v4
New Continuous Release and Deployment Capabilities for CICS Customers v4New Continuous Release and Deployment Capabilities for CICS Customers v4
New Continuous Release and Deployment Capabilities for CICS Customers v4
 
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
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
 
InterConnect 2017 HBP-3394-Enable innovative cloud solutions with IBM BPM and...
InterConnect 2017 HBP-3394-Enable innovative cloud solutions with IBM BPM and...InterConnect 2017 HBP-3394-Enable innovative cloud solutions with IBM BPM and...
InterConnect 2017 HBP-3394-Enable innovative cloud solutions with IBM BPM and...
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
 
The new developer experience
The new developer experienceThe new developer experience
The new developer experience
 
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...
 
DevOps for Enterprise Systems - Rosalind Radcliffe
DevOps for Enterprise Systems - Rosalind RadcliffeDevOps for Enterprise Systems - Rosalind Radcliffe
DevOps for Enterprise Systems - Rosalind Radcliffe
 
DevOps Enterprise Summit: Mainframe Automated Testing
DevOps Enterprise Summit: Mainframe Automated TestingDevOps Enterprise Summit: Mainframe Automated Testing
DevOps Enterprise Summit: Mainframe Automated Testing
 
Mainframe Application Testing both With and Without Live Data
Mainframe Application Testing both With and Without Live DataMainframe Application Testing both With and Without Live Data
Mainframe Application Testing both With and Without Live Data
 

Similar to Is a Monolith Standing in the Way of Your Digital Transformation? Refactor for better Agility

InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...
InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...
InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...
Daniel Berg
 

Similar to Is a Monolith Standing in the Way of Your Digital Transformation? Refactor for better Agility (20)

Gartner EA Architecting for DevOps and Hybrid Cloud
Gartner EA Architecting for DevOps and Hybrid CloudGartner EA Architecting for DevOps and Hybrid Cloud
Gartner EA Architecting for DevOps and Hybrid Cloud
 
How to Balance System Speed and Risk for Multi-Platform Innovation
How to Balance System Speed and Risk for Multi-Platform InnovationHow to Balance System Speed and Risk for Multi-Platform Innovation
How to Balance System Speed and Risk for Multi-Platform Innovation
 
Dev ops for z
Dev ops for z Dev ops for z
Dev ops for z
 
Automate and customise application services and deployment
Automate and customise application services and deploymentAutomate and customise application services and deployment
Automate and customise application services and deployment
 
Automate and customise application services and deployment
Automate and customise application services and deploymentAutomate and customise application services and deployment
Automate and customise application services and deployment
 
InterConnect 2017 : Cognitive DevOps: Get Rid of the Guesswork to Improve Sof...
InterConnect 2017 : Cognitive DevOps: Get Rid of the Guesswork to Improve Sof...InterConnect 2017 : Cognitive DevOps: Get Rid of the Guesswork to Improve Sof...
InterConnect 2017 : Cognitive DevOps: Get Rid of the Guesswork to Improve Sof...
 
DevOps in the Hybrid Cloud
DevOps in the Hybrid CloudDevOps in the Hybrid Cloud
DevOps in the Hybrid Cloud
 
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
 
IBM Hybrid integration reference architecture for digital transformation
IBM Hybrid integration reference architecture for digital transformationIBM Hybrid integration reference architecture for digital transformation
IBM Hybrid integration reference architecture for digital transformation
 
Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?
 
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service  outcomes - IBM Fe...Applying DevOps, PaaS and cloud for better citizen service  outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
 
Bluemix summary
Bluemix summaryBluemix summary
Bluemix summary
 
InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...
InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...
InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
 
Webcast Automação Implantação de Aplicações (DevOps)
Webcast Automação Implantação de Aplicações (DevOps)Webcast Automação Implantação de Aplicações (DevOps)
Webcast Automação Implantação de Aplicações (DevOps)
 
IMS integration 2017
IMS integration 2017IMS integration 2017
IMS integration 2017
 
Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...
Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...
Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...
 
IBM APM for Hybrid Applications
IBM APM for Hybrid ApplicationsIBM APM for Hybrid Applications
IBM APM for Hybrid Applications
 
June 25 webcast adding mobile to power applications
June 25 webcast   adding mobile to power applicationsJune 25 webcast   adding mobile to power applications
June 25 webcast adding mobile to power applications
 
Build end-to-end solutions with BlueMix, Avi Vizel & Ziv Dai, IBM
Build end-to-end solutions with BlueMix, Avi Vizel & Ziv Dai, IBMBuild end-to-end solutions with BlueMix, Avi Vizel & Ziv Dai, IBM
Build end-to-end solutions with BlueMix, Avi Vizel & Ziv Dai, IBM
 

More from DevOps.com

Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
DevOps.com
 
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
DevOps.com
 

More from DevOps.com (20)

Modernizing on IBM Z Made Easier With Open Source Software
Modernizing on IBM Z Made Easier With Open Source SoftwareModernizing on IBM Z Made Easier With Open Source Software
Modernizing on IBM Z Made Easier With Open Source Software
 
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
 
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
 
Next Generation Vulnerability Assessment Using Datadog and Snyk
Next Generation Vulnerability Assessment Using Datadog and SnykNext Generation Vulnerability Assessment Using Datadog and Snyk
Next Generation Vulnerability Assessment Using Datadog and Snyk
 
Vulnerability Discovery in the Cloud
Vulnerability Discovery in the CloudVulnerability Discovery in the Cloud
Vulnerability Discovery in the Cloud
 
2021 Open Source Governance: Top Ten Trends and Predictions
2021 Open Source Governance: Top Ten Trends and Predictions2021 Open Source Governance: Top Ten Trends and Predictions
2021 Open Source Governance: Top Ten Trends and Predictions
 
A New Year’s Ransomware Resolution
A New Year’s Ransomware ResolutionA New Year’s Ransomware Resolution
A New Year’s Ransomware Resolution
 
Getting Started with Runtime Security on Azure Kubernetes Service (AKS)
Getting Started with Runtime Security on Azure Kubernetes Service (AKS)Getting Started with Runtime Security on Azure Kubernetes Service (AKS)
Getting Started with Runtime Security on Azure Kubernetes Service (AKS)
 
Don't Panic! Effective Incident Response
Don't Panic! Effective Incident ResponseDon't Panic! Effective Incident Response
Don't Panic! Effective Incident Response
 
Creating a Culture of Chaos: Chaos Engineering Is Not Just Tools, It's Culture
Creating a Culture of Chaos: Chaos Engineering Is Not Just Tools, It's CultureCreating a Culture of Chaos: Chaos Engineering Is Not Just Tools, It's Culture
Creating a Culture of Chaos: Chaos Engineering Is Not Just Tools, It's Culture
 
Role Based Access Controls (RBAC) for SSH and Kubernetes Access with Teleport
Role Based Access Controls (RBAC) for SSH and Kubernetes Access with TeleportRole Based Access Controls (RBAC) for SSH and Kubernetes Access with Teleport
Role Based Access Controls (RBAC) for SSH and Kubernetes Access with Teleport
 
Monitoring Serverless Applications with Datadog
Monitoring Serverless Applications with DatadogMonitoring Serverless Applications with Datadog
Monitoring Serverless Applications with Datadog
 
Deliver your App Anywhere … Publicly or Privately
Deliver your App Anywhere … Publicly or PrivatelyDeliver your App Anywhere … Publicly or Privately
Deliver your App Anywhere … Publicly or Privately
 
Securing medical apps in the age of covid final
Securing medical apps in the age of covid finalSecuring medical apps in the age of covid final
Securing medical apps in the age of covid final
 
How to Build a Healthy On-Call Culture
How to Build a Healthy On-Call CultureHow to Build a Healthy On-Call Culture
How to Build a Healthy On-Call Culture
 
The Evolving Role of the Developer in 2021
The Evolving Role of the Developer in 2021The Evolving Role of the Developer in 2021
The Evolving Role of the Developer in 2021
 
Service Mesh: Two Big Words But Do You Need It?
Service Mesh: Two Big Words But Do You Need It?Service Mesh: Two Big Words But Do You Need It?
Service Mesh: Two Big Words But Do You Need It?
 
Secure Data Sharing in OpenShift Environments
Secure Data Sharing in OpenShift EnvironmentsSecure Data Sharing in OpenShift Environments
Secure Data Sharing in OpenShift Environments
 
How to Govern Identities and Access in Cloud Infrastructure: AppsFlyer Case S...
How to Govern Identities and Access in Cloud Infrastructure: AppsFlyer Case S...How to Govern Identities and Access in Cloud Infrastructure: AppsFlyer Case S...
How to Govern Identities and Access in Cloud Infrastructure: AppsFlyer Case S...
 
Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...
Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...
Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...
 

Recently uploaded

CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
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...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

Is a Monolith Standing in the Way of Your Digital Transformation? Refactor for better Agility

  • 1. © 2017 IBM Corporation© 2017 IBM Corporation Refactoring Monolithic Applications Bill Alexander, Architect - IBM Developer for z Systems Paul Pilotto, Solution Architect ADDI
  • 2. © 2017 IBM Corporation 2 Disclaimer  IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice and at IBM’s sole discretion.  Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision.  The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract.  The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.  Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here
  • 3. © 2017 IBM Corporation 3 Discussion Topics  Definition of a Monolithic Application  Why refactor  Approaches to refactoring  Detailed walkthrough of scenarios
  • 4. © 2017 IBM Corporation 4 Business Drivers Motivating People to Refactor  Business Agility – Speed of change is faster with a more modular architecture – micro-services architecture is a popular approach  Accelerate Digital Transformation – Provide more flexibility in what capabilities to reuse.  Facilitate onboarding of new people – Reduce learning curve by providing a more understandable architecture  Enable rewrite (e.g. java, node) – Incremental approaches centered on smaller components radically reduces risk.
  • 5. © 2017 IBM Corporation 5 Monolithic Applications Monolithic Applications are self-contained applications in which functionally distinguishable aspects (for example presentation logic, business logic, and data access) are all interwoven components. All code exists in a single tier (all combined) and deploys as a single unit. Business Logic Data Access LogicPresentation LogicData Access Logic
  • 6. © 2017 IBM Corporation 6 What are the pain points of Monolithic Applications  Lack of Understanding – Makes simple changes cumbersome – Next generation programmers have no insight – Business Logic exponentially grows by copy/paste • Fear of making mistakes  duplication of logic • Inability to leverage business logic  Lack of Agility – Small code changes require test and package of the entire application – Slow response to API Economy – Difficult integration with new technology (Mobile, Cloud, Continuous DevOps) – Monoliths were designed assuming infrequent deployment
  • 7. © 2017 IBM Corporation 7 The Danger of the Monolithic App https://devops.com/danger-monolithic-app/
  • 8. © 2017 IBM Corporation 8 Complementary Approaches to Be Used to Refactor API enable transactions and other resources • Enables these resources to be easily reused inside and outside IBM Z • Moves the needle towards a micro services architectures Break big applications into smaller applications, incrementally • Localizes change impact, enabling agile / DevOps styles of development • Provides a more fine-granular opportunity for reuse and API enablement Rewrite business logic into business rules managed in a decision management tool • Enables rules to be updated by SMEs without programming • Facilitates reuse by ensuring business rule is only captured once All of these approaches needs to be complemented by • Governance of the refactoring effort to ensure clear goals are set and managed to • Regression testing to ensure function and performance are not compromised
  • 9. © 2017 IBM Corporation 9 API enable transactions and other assets Application Discovery and Delivery Intelligence (ADDI) Discover And Understand Your z/OS Assets Refactor applications to leverage APIs and test as needed Application Delivery Foundation for z Systems (ADFz) Manage and control the API’s IBM z/OS Connect EE Create business API’s for what you discovered IBM API Connect
  • 10. © 2017 IBM Corporation 10 Break big applications into smaller applications Application Discovery and Delivery Intelligence (ADDI) Identify code that appears to be somewhat loosely coupled. Leverage refactoring wizard to refactor module into independent program. Unit test the code. Application Delivery Foundation for z Systems (ADFz) IBM z/OS Connect EE If appropriate, create a REST-ful API for the recently refactored application. Application Discovery and Delivery Intelligence (ADDI) Optimize test effort and determine whether acceptable code coverage of change code has been achieved.
  • 11. © 2017 IBM Corporation 11 Rewrite business logic into business rules Application Discovery and Delivery Intelligence (ADDI) Capture business information, including business terms. Identify Candidate Business rules and author them as Business Rules (FUTURE) Refactor code to replace the candidate rules with calls to Business rules in a business rules engine like ODM for management of business logic outside the Application logic. Application Delivery Foundation for z Systems (ADFz) Business Rule Engine Invoke and manage business rules Application Discovery and Delivery Intelligence (ADDI) Optimize test effort and determine whether acceptable code coverage of changed code has been achieved.
  • 12. © 2017 IBM Corporation 12 Refactor to fit in a DevOps strategy Smaller modules have a more agile impact on DevOps
  • 13. How ADDI and ADFz help you in this Refactoring Process “The GPS for your Mainframe Developers” 13
  • 14. Increase Agility by Simplifying and Standardizing Work Item Estimation • Use standardized Metrics (such as Maintainability Index or Halstead Complexity) to make more realistic estimations • Callgraphs, Usage Reports and other Reports help planning application modernization and make application portfolio decisions • Dead-Code Reports give indications about possible dead-code to remove 14 Accelerate Transformation
  • 15. Navigate easily inside large and complex programs • Program Flow provides a quick overview about the parts of a specific program • Find code lines accessing specific resources or interacting with other programs 15 Accelerate Transformation
  • 16. Navigate easily inside large and complex programs • Flow-Charts show an in-detail view of the inner workings of programs 16 Accelerate Transformation
  • 17. Accelerate Refactoring • Reduce guesswork about side-effects while changing applications • Navigate the code more effectively • Understand unknown code faster • Adopt a more structured approach to changes using ADDI as a guidance 17 Accelerate Transformation
  • 18. © 2017 IBM Corporation 18 IBM Application Discovery and Delivery Intelligence V5.0.3 (Available Now) • Graphical artifact interdependency analysis • Web based search • Extensibility improvements • Preprocessors • Custom communication layers • Additional coding rules • Additional language translations • Performance, Scalability and Usability improvements • Several customer RFEs
  • 19. © 2017 IBM Corporation 19 A central link in an integrated and flexible DevOps toolchain IBM Developer for z Systems V14.1 (Available Now) Issue Tracker Source Code Repository Delivery Pipeline Insights and Analysis • Refactoring support for monolithic programs • API Enablement • Agility through modularization • Improve Maintainability • Integration with Application Discovery • Integration with SonarQube • Improved Software Analyzer reports • Enhanced SCM integration • Day 1 support for IBM Z compilers & z/OS • Several customer RFEs https://developer.ibm.com/mainframe/2017/09/08/whats-new-idz-v14-1/
  • 20. © 2017 IBM Corporation 20 Leverage existing investments in new ways  Create new reusable programs from existing logic  Invoke the new program from the original source  Creating opportunities for new APIs
  • 21. © 2017 IBM Corporation 21 IBM z/OS Connect Enterprise Edition  Create new business opportunities  Map RESTful APIs to existing mainframe services and data  Single endpoint for service access
  • 22. © 2017 IBM Corporation 22 Improve testability  Program functionality can be easily tested in isolation Testing a Monolith Testing individual components
  • 23. © 2017 IBM Corporation 23 Test automation for z/OS applications  Automating regression tests becomes easy using tools – z/OS Automated Unit Testing Framework (zUnit feature in IDz) – Rational Test Workbench – XaTester (Xact Consulting A/S) – MF-Test (MOST Technologies)
  • 24. © 2017 IBM Corporation 24 Optimize Test Case Execution  Detect which regression tests cases maps to changed code to reduce test efforts in early iterations by a magnitude or more  Optimize test case execution by identifying which test cases may be redundant, so low value tests can be reduced  Close test gaps before exiting test phase by showing code coverage of changed and unchanged code. 24 Increase Productivity
  • 25. © 2017 IBM Corporation 25 Improve agility  Multiple developers can work concurrently  Only deploy what has been modified  Underlying technologies can change over time Parallel component development Linear development of a monolith
  • 26. © 2017 IBM Corporation 26 Reduce program complexity  Program logic is easier to understand by humans and tools
  • 27. © 2017 IBM Corporation 27 Summary  Refactoring monolithic applications into smaller components has many potential benefits, including… – Reuse – APIs – Continuous Testing – Continuous Feedback – Continuous Delivery – Maintainability  IBM has tools that can help, including…  Application Delivery Foundation for z Systems  Application Discovery and Delivery Intelligence  z/OS Connect Enterprise Edition
  • 28. © 2017 IBM Corporation © 2017 IBM Corporation Thank You