SlideShare a Scribd company logo
1 of 12
Upfront Adoption & Migration of
Applications to latest JDKs
Narendran Solai Sridharan
12-Sep-2015
Common Complaints that stops us
from Migration
• Business / Products which is in production
should not break due to Migration.
• One will not be able to test all the Business /
Product features post migration.
• No proof that the new Libraries do not have
any issues.
• Low Tool support for new changes in
language.
What we loose without Migration
• A lot of Secure & Performing Programming
opportunity.
• New Programming Paradigms
• SOLIDfied libraries & new libraries
• Programming a resilient design &
Architecture.
• Evading lot of redundant code and coming up
with a maintainable code.
How to Migrate??
Analysis: Changes to be under Scan
• Types of Release
• Types of Compatibility
• Features – Depreciated, Removed and
Enhanced
• List of Bugs Reported & their Fixes
P.S. – Not all changes can be monitored. Most relevant changes required
only to be monitored and incrementally the product should be enhanced.
Analysis: Type of Compatibility
• Every Projects has dependents Jars (from other projects), the upgrade should not affect binary
(class file) compatibility. i.e dependent Jars should work without upgrade with the upgraded
version of our Code.
• Source Compatibility states that old code should not produce any compilation Issues after JDK
upgrade.
• Methods & Classes of JDK used should behave in the same way, any change in behavior
introduced in the upgrade will lead to incapability and will lead to run time issues.
For Every change, JDK comes with classification based on the type of compatibility, otherwise we
may require to do the classification.
Analysis: Type of Releases
• Platform – all binary, behavioral & source compatibility are allowed to
get affected.
• Update – Security and bug fixes – only behavioral & Source
compatibility are allowed to get affected
• Maintenance – large bug fixes, update in larger scale
Analysis: Features
• Deprecated Features will get removed sooner, so they need
to removed in the code.
• Enhanced features increases efficiency and productivity, so
they need to be recommended.
• Removed Features should be removed from code
mandatorily.
Analysis: References
For each JDK release there used to be a Adoption GUIDES – They will serve as good first hand
references.
They provide type of compatibility issue anticipated, Features deprecated, enhanced and removed.
JDK 6 - Adoption Guide
http://www.oracle.com/technetwork/java/javase/adoptionguide-137484.html
JDK 7 - Adoption Guide
http://docs.oracle.com/javase/7/docs/webnotes/adoptionGuide/
JDK 8 - Adoption Guide
http://www.oracle.com/technetwork/java/javase/jdk8-adoption-guide-2157601.html
Know How Open JDK are developed
http://cr.openjdk.java.net/~darcy/OpenJdkDevGuide/OpenJdkDevelopersGuide.v0.777.html
Analysis: Present tools for JDK
Migration
Eclipse IDE
http://eclipsesource.com/blogs/2014/03/25/eclipse-support-for-java-8/
Netbeans IDE – Reference Slide & Video
http://www.slideshare.net/GeertjanWielenga/smart-migration-to-jdk-8
https://netbeans.org/kb/docs/java/jdk8-migration-screencast.html
Eclipse
Netbeans
Analysis: Opportunities
• Code Quality Tools like PMD, Findbugs,
checklist, Sonar which usually works based on
Heuristics.
• A Heuristics tool as for migration will be very
helpful.
• Heuristic tool can be extended for refactoring
and migration.
• Writing own rules if no one is found.
Questions??

More Related Content

What's hot

An Introduction to Iterative Software Development
An Introduction to Iterative Software DevelopmentAn Introduction to Iterative Software Development
An Introduction to Iterative Software DevelopmentGeoffrey Weglarz
 
Introduction to Enterprise-Release Engineering on the Salesforce Platform
Introduction to Enterprise-Release Engineering on the Salesforce PlatformIntroduction to Enterprise-Release Engineering on the Salesforce Platform
Introduction to Enterprise-Release Engineering on the Salesforce PlatformSalesforce Developers
 
Scrum Project Management with Jira as showcase
Scrum Project Management with Jira as showcaseScrum Project Management with Jira as showcase
Scrum Project Management with Jira as showcasejavadch
 
Top 5 Automation Challenges Webinar
Top 5 Automation Challenges WebinarTop 5 Automation Challenges Webinar
Top 5 Automation Challenges WebinarPerfecto by Perforce
 
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...Agile Testing Alliance
 
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f..." Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...Lohika_Odessa_TechTalks
 
Verification for system companies (LI) - value proposition
Verification for system companies (LI) - value propositionVerification for system companies (LI) - value proposition
Verification for system companies (LI) - value propositionHagai Arbel
 
ATAGTR2017 Static and dynamic code analysis for mobile applications - Act ear...
ATAGTR2017 Static and dynamic code analysis for mobile applications - Act ear...ATAGTR2017 Static and dynamic code analysis for mobile applications - Act ear...
ATAGTR2017 Static and dynamic code analysis for mobile applications - Act ear...Agile Testing Alliance
 
Promotion flow (v5)
Promotion flow (v5)Promotion flow (v5)
Promotion flow (v5)Glen Alleman
 
Service api design validation & collaboration
Service api design validation & collaborationService api design validation & collaboration
Service api design validation & collaborationUchit Vyas ☁
 
Deploying and releasing applications
Deploying and releasing applicationsDeploying and releasing applications
Deploying and releasing applicationsMa Xuebin
 
DevOps with Microsoft Stack
DevOps with Microsoft StackDevOps with Microsoft Stack
DevOps with Microsoft StackDeepti Jain
 
Real Testing Scenario Strategy Practical TestOps Presentation
Real Testing Scenario Strategy Practical TestOps PresentationReal Testing Scenario Strategy Practical TestOps Presentation
Real Testing Scenario Strategy Practical TestOps PresentationAdam Sandman
 
[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery
[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery
[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service deliveryRakuten Group, Inc.
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsTechWell
 

What's hot (20)

An Introduction to Iterative Software Development
An Introduction to Iterative Software DevelopmentAn Introduction to Iterative Software Development
An Introduction to Iterative Software Development
 
Introduction to Enterprise-Release Engineering on the Salesforce Platform
Introduction to Enterprise-Release Engineering on the Salesforce PlatformIntroduction to Enterprise-Release Engineering on the Salesforce Platform
Introduction to Enterprise-Release Engineering on the Salesforce Platform
 
Scrum Project Management with Jira as showcase
Scrum Project Management with Jira as showcaseScrum Project Management with Jira as showcase
Scrum Project Management with Jira as showcase
 
Top 5 Automation Challenges Webinar
Top 5 Automation Challenges WebinarTop 5 Automation Challenges Webinar
Top 5 Automation Challenges Webinar
 
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
 
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f..." Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
 
Mt s6 sdlc_models
Mt s6 sdlc_modelsMt s6 sdlc_models
Mt s6 sdlc_models
 
Verification for system companies (LI) - value proposition
Verification for system companies (LI) - value propositionVerification for system companies (LI) - value proposition
Verification for system companies (LI) - value proposition
 
Iterative model
Iterative modelIterative model
Iterative model
 
SDLC Models
SDLC ModelsSDLC Models
SDLC Models
 
The V Model
The V ModelThe V Model
The V Model
 
Journey to the center of DevOps - v6
Journey to the center of DevOps - v6Journey to the center of DevOps - v6
Journey to the center of DevOps - v6
 
ATAGTR2017 Static and dynamic code analysis for mobile applications - Act ear...
ATAGTR2017 Static and dynamic code analysis for mobile applications - Act ear...ATAGTR2017 Static and dynamic code analysis for mobile applications - Act ear...
ATAGTR2017 Static and dynamic code analysis for mobile applications - Act ear...
 
Promotion flow (v5)
Promotion flow (v5)Promotion flow (v5)
Promotion flow (v5)
 
Service api design validation & collaboration
Service api design validation & collaborationService api design validation & collaboration
Service api design validation & collaboration
 
Deploying and releasing applications
Deploying and releasing applicationsDeploying and releasing applications
Deploying and releasing applications
 
DevOps with Microsoft Stack
DevOps with Microsoft StackDevOps with Microsoft Stack
DevOps with Microsoft Stack
 
Real Testing Scenario Strategy Practical TestOps Presentation
Real Testing Scenario Strategy Practical TestOps PresentationReal Testing Scenario Strategy Practical TestOps Presentation
Real Testing Scenario Strategy Practical TestOps Presentation
 
[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery
[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery
[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More Defects
 

Similar to Upfront adoption & migration of applications to latest jdk

SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps JumpstartOri Donner
 
FUG Agile software engineering practices
FUG Agile software engineering practicesFUG Agile software engineering practices
FUG Agile software engineering practicesSerena Software
 
Understand release engineering
Understand release engineeringUnderstand release engineering
Understand release engineeringgaoliang641
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own wordsSUBHENDU KARMAKAR
 
Citrix AppDNA Management Overview v7.6
Citrix AppDNA Management Overview v7.6Citrix AppDNA Management Overview v7.6
Citrix AppDNA Management Overview v7.6Kerry Dirks MCPS MS
 
Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile DeveloperBSGAfrica
 
Borland_intro_v5_csc.pptx
Borland_intro_v5_csc.pptxBorland_intro_v5_csc.pptx
Borland_intro_v5_csc.pptxssuser9e9be71
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Chris Kernaghan
 
Building a Professional SDLC
Building a Professional SDLCBuilding a Professional SDLC
Building a Professional SDLCMichael Werneburg
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentNeotys
 
Next Generation Architecture Showcase July 2019
Next Generation Architecture Showcase July 2019Next Generation Architecture Showcase July 2019
Next Generation Architecture Showcase July 2019Alan Pearson Mathews
 
CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...
CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...
CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...Lucas Sacramento
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSaravanan Manoharan
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for NetworkDamien Garros
 

Similar to Upfront adoption & migration of applications to latest jdk (20)

SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
 
FUG Agile software engineering practices
FUG Agile software engineering practicesFUG Agile software engineering practices
FUG Agile software engineering practices
 
Understand release engineering
Understand release engineeringUnderstand release engineering
Understand release engineering
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Taking Database Development to the 21st Century
Taking Database Development to the 21st CenturyTaking Database Development to the 21st Century
Taking Database Development to the 21st Century
 
Voyager scm
Voyager scmVoyager scm
Voyager scm
 
Voyager scm
Voyager scmVoyager scm
Voyager scm
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
Citrix AppDNA Management Overview v7.6
Citrix AppDNA Management Overview v7.6Citrix AppDNA Management Overview v7.6
Citrix AppDNA Management Overview v7.6
 
Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile Developer
 
Borland_intro_v5_csc.pptx
Borland_intro_v5_csc.pptxBorland_intro_v5_csc.pptx
Borland_intro_v5_csc.pptx
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017
 
Building a Professional SDLC
Building a Professional SDLCBuilding a Professional SDLC
Building a Professional SDLC
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile Development
 
Next Generation Architecture Showcase July 2019
Next Generation Architecture Showcase July 2019Next Generation Architecture Showcase July 2019
Next Generation Architecture Showcase July 2019
 
CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...
CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...
CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
Release Verification Team Proposal
Release Verification Team  ProposalRelease Verification Team  Proposal
Release Verification Team Proposal
 
Amit_Resume
Amit_ResumeAmit_Resume
Amit_Resume
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for Network
 

More from Narendran Solai Sridharan (9)

Java module configuration
Java module configurationJava module configuration
Java module configuration
 
Test NG Framework Complete Walk Through
Test NG Framework Complete Walk ThroughTest NG Framework Complete Walk Through
Test NG Framework Complete Walk Through
 
Introduction to Web Components
Introduction to Web ComponentsIntroduction to Web Components
Introduction to Web Components
 
Thinking tools for value innovation
Thinking tools for value innovationThinking tools for value innovation
Thinking tools for value innovation
 
Domain driven design - Part I
Domain driven design - Part IDomain driven design - Part I
Domain driven design - Part I
 
Raspberry pi and pi4j
Raspberry pi and pi4jRaspberry pi and pi4j
Raspberry pi and pi4j
 
Functional Programming in Java
Functional Programming in JavaFunctional Programming in Java
Functional Programming in Java
 
Http 2
Http 2Http 2
Http 2
 
Introduction to value types
Introduction to value typesIntroduction to value types
Introduction to value types
 

Recently uploaded

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

Upfront adoption & migration of applications to latest jdk

  • 1. Upfront Adoption & Migration of Applications to latest JDKs Narendran Solai Sridharan 12-Sep-2015
  • 2. Common Complaints that stops us from Migration • Business / Products which is in production should not break due to Migration. • One will not be able to test all the Business / Product features post migration. • No proof that the new Libraries do not have any issues. • Low Tool support for new changes in language.
  • 3. What we loose without Migration • A lot of Secure & Performing Programming opportunity. • New Programming Paradigms • SOLIDfied libraries & new libraries • Programming a resilient design & Architecture. • Evading lot of redundant code and coming up with a maintainable code.
  • 5. Analysis: Changes to be under Scan • Types of Release • Types of Compatibility • Features – Depreciated, Removed and Enhanced • List of Bugs Reported & their Fixes P.S. – Not all changes can be monitored. Most relevant changes required only to be monitored and incrementally the product should be enhanced.
  • 6. Analysis: Type of Compatibility • Every Projects has dependents Jars (from other projects), the upgrade should not affect binary (class file) compatibility. i.e dependent Jars should work without upgrade with the upgraded version of our Code. • Source Compatibility states that old code should not produce any compilation Issues after JDK upgrade. • Methods & Classes of JDK used should behave in the same way, any change in behavior introduced in the upgrade will lead to incapability and will lead to run time issues. For Every change, JDK comes with classification based on the type of compatibility, otherwise we may require to do the classification.
  • 7. Analysis: Type of Releases • Platform – all binary, behavioral & source compatibility are allowed to get affected. • Update – Security and bug fixes – only behavioral & Source compatibility are allowed to get affected • Maintenance – large bug fixes, update in larger scale
  • 8. Analysis: Features • Deprecated Features will get removed sooner, so they need to removed in the code. • Enhanced features increases efficiency and productivity, so they need to be recommended. • Removed Features should be removed from code mandatorily.
  • 9. Analysis: References For each JDK release there used to be a Adoption GUIDES – They will serve as good first hand references. They provide type of compatibility issue anticipated, Features deprecated, enhanced and removed. JDK 6 - Adoption Guide http://www.oracle.com/technetwork/java/javase/adoptionguide-137484.html JDK 7 - Adoption Guide http://docs.oracle.com/javase/7/docs/webnotes/adoptionGuide/ JDK 8 - Adoption Guide http://www.oracle.com/technetwork/java/javase/jdk8-adoption-guide-2157601.html Know How Open JDK are developed http://cr.openjdk.java.net/~darcy/OpenJdkDevGuide/OpenJdkDevelopersGuide.v0.777.html
  • 10. Analysis: Present tools for JDK Migration Eclipse IDE http://eclipsesource.com/blogs/2014/03/25/eclipse-support-for-java-8/ Netbeans IDE – Reference Slide & Video http://www.slideshare.net/GeertjanWielenga/smart-migration-to-jdk-8 https://netbeans.org/kb/docs/java/jdk8-migration-screencast.html Eclipse Netbeans
  • 11. Analysis: Opportunities • Code Quality Tools like PMD, Findbugs, checklist, Sonar which usually works based on Heuristics. • A Heuristics tool as for migration will be very helpful. • Heuristic tool can be extended for refactoring and migration. • Writing own rules if no one is found.