SlideShare a Scribd company logo
REFACTORING
AS CODE (RAC)
By
Raja Nagendra Kumar, Code Doctor
TejaSoft Innovations Pvt. Ltd.
Bangalore JUG Meetup @ Sabre, ITPL
7th Oct 2023
Towards Modern Java : MIGRATION
TEJASOFT – CODE DOCTORS
RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 2
20 years Micro
Entrepreneurship
system
No 1 choice for SMEs
and MNC choice for
Time Bound R&D
40k+ Innovative,
unique micro + macro
tasks
110+ Products
#techdebt cleanup
8+ billion cumulative
savings, 2+ billion
LOC
Complexity →
Amplified
Simplification
Migration
Engineering
(Modernize Legacy,
Mass Scale
Refactoring)
Clean Code Uplifts,
Audits, Technical Due
Diligence
fCTO System to own
current risks instantly
tests AS CODE
Unit Tests
Integration Tests
E2E Tests
API Tests
Functional Tests
RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 3
WHY RAC
RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 4
MIGRATION
ENGINEERING
RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 5
Update - patching
Upgrade – New Version, No Data Change
Refactoring – Create Space for New Feature
Migration – API/Schema/Data Changes
Linters – IDE Checks
SCA – Static Code Analysis
Rewrite – Discard Existing
Transpile – Switch Language
EXAMPLES
RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 6
https://www.linkedin.com/pulse/migrating-from-java-8-11-17-
rachit-mehrotra/
https://docs.oracle.com/en/java/javase/17/migrate/migrating-
jdk-8-later-jdk-releases.html
https://www.arhohuttunen.com/junit-5-migration/
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-
3.0-Migration-Guide
SEMANTIC SEARCH
Semantic search denotes search
with meaning, as distinguished from
lexical search where the search
engine looks for literal matches of the
query words or variants of them,
without understanding the overall
meaning of the query. Semantic
search seeks to
improve search accuracy by
understanding the searcher's
intent and the contextual meaning of
terms as they appear in the
searchable dataspace
RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 7
INTELLIJ SEARCH STRUCTURALLY Safe Code Transformation
RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 8
TYPES OF
MIGRATIONS
RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 9
RECIPE DEVELOPMENT OPTIONS
RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 10
Moderne -
OpenRewrite
Google -
Errorprone
Refaster
Eclipse - JDT
CODE WALKTHROUGH
OPENREWRITE
Add License Header
Log4J 1.x to 2.x
remove all System.out
Convert System.out to logger
JDK 8 to 17
JUnit 4 to JUnit 5
Spring 2.x to 3.x
Custom Recipes
RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 11
GROWING ECOSYSTEM OF
RECIPES
RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 12
REFERENCES
1. https://app.moderne.io/marketplace
2. https://www.youtube.com/watch?v=q-Le1dx2-t8
3. https://www.youtube.com/watch?v=o3rMdXR2bIU
4. https://www.youtube.com/watch?v=Vv-54qhnndU
5. https://www.youtube.com/watch?v=G824962s4MI
RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 13
Q&A
RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 14

More Related Content

Similar to RAC.pdf

Oracle code bogota-Handle the Complexity of Migrate to Microservices from Mon...
Oracle code bogota-Handle the Complexity of Migrate to Microservices from Mon...Oracle code bogota-Handle the Complexity of Migrate to Microservices from Mon...
Oracle code bogota-Handle the Complexity of Migrate to Microservices from Mon...
Alberto Salazar
 
Value Stories - 2nd issue - October 2018
Value Stories - 2nd issue - October 2018Value Stories - 2nd issue - October 2018
Value Stories - 2nd issue - October 2018
Redington Value Distribution
 
Oracle Code One San Francisco - Monolith to microservices
Oracle Code One San Francisco - Monolith to microservicesOracle Code One San Francisco - Monolith to microservices
Oracle Code One San Francisco - Monolith to microservices
Alberto Salazar
 
Value Stories - 3rd issue - April 2019
Value Stories - 3rd issue - April 2019Value Stories - 3rd issue - April 2019
Value Stories - 3rd issue - April 2019
Redington Value Distribution
 
2018 MONOLITICH TO MICROSERVICES - Conferencia Javeros colombia
2018 MONOLITICH TO MICROSERVICES  - Conferencia Javeros colombia 2018 MONOLITICH TO MICROSERVICES  - Conferencia Javeros colombia
2018 MONOLITICH TO MICROSERVICES - Conferencia Javeros colombia
Alberto Salazar
 
SigmaTec Solutions
SigmaTec SolutionsSigmaTec Solutions
SigmaTec Solutions
asalman
 
CORPORATE PRESENTATION OF PETRO DIGITAL PVT LTD
CORPORATE PRESENTATION OF PETRO DIGITAL PVT LTDCORPORATE PRESENTATION OF PETRO DIGITAL PVT LTD
CORPORATE PRESENTATION OF PETRO DIGITAL PVT LTD
M THYAGARAJ
 
CORPORATE PRESENTATION OF PETRO DIGITAL PVT LTD
CORPORATE PRESENTATION OF PETRO DIGITAL PVT LTDCORPORATE PRESENTATION OF PETRO DIGITAL PVT LTD
CORPORATE PRESENTATION OF PETRO DIGITAL PVT LTD
M THYAGARAJ
 
CodeIT company presentation
CodeIT company presentationCodeIT company presentation
CodeIT company presentation
Sergiy Mavrov
 
How to Build an Innovation Engine As A Google for Software
How to Build an Innovation Engine As A Google for SoftwareHow to Build an Innovation Engine As A Google for Software
How to Build an Innovation Engine As A Google for Software
Stefan Ianta
 
SasikumarManickam_9 Yrs Exp
SasikumarManickam_9 Yrs ExpSasikumarManickam_9 Yrs Exp
SasikumarManickam_9 Yrs Exp
Sasikumar Manickam
 
WJAX 2019 - Taking Distributed Tracing to the next level
WJAX 2019 - Taking Distributed Tracing to the next levelWJAX 2019 - Taking Distributed Tracing to the next level
WJAX 2019 - Taking Distributed Tracing to the next level
Frank Pfleger
 
Final software enginner_resume
Final software enginner_resumeFinal software enginner_resume
Final software enginner_resume
pankaj Rawat
 
IT Recruiter's Mind Maps - Booklet Preview
IT Recruiter's Mind Maps - Booklet PreviewIT Recruiter's Mind Maps - Booklet Preview
IT Recruiter's Mind Maps - Booklet Preview
Michal Juhas
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
Araf Karsh Hamid
 
Linda l jenkins resume 8 4-2016
Linda l jenkins resume 8 4-2016Linda l jenkins resume 8 4-2016
Linda l jenkins resume 8 4-2016
Linda Jenkins
 
Tech next innovations pvt ltd
Tech next innovations pvt ltdTech next innovations pvt ltd
Tech next innovations pvt ltd
Hr Tniqcon
 
Resume_Vanitha Gaddam_QA_3.2 Years Exp
Resume_Vanitha Gaddam_QA_3.2 Years ExpResume_Vanitha Gaddam_QA_3.2 Years Exp
Resume_Vanitha Gaddam_QA_3.2 Years Exp
Vanitha Gaddam
 
Why Choosing Software testing as a Career ?
Why Choosing Software testing as a Career ?Why Choosing Software testing as a Career ?
Why Choosing Software testing as a Career ?
NUCOT
 
2020 05-tech saturday-devsecops-#2-v03
2020 05-tech saturday-devsecops-#2-v032020 05-tech saturday-devsecops-#2-v03
2020 05-tech saturday-devsecops-#2-v03
Diego Gabriel Cardoso
 

Similar to RAC.pdf (20)

Oracle code bogota-Handle the Complexity of Migrate to Microservices from Mon...
Oracle code bogota-Handle the Complexity of Migrate to Microservices from Mon...Oracle code bogota-Handle the Complexity of Migrate to Microservices from Mon...
Oracle code bogota-Handle the Complexity of Migrate to Microservices from Mon...
 
Value Stories - 2nd issue - October 2018
Value Stories - 2nd issue - October 2018Value Stories - 2nd issue - October 2018
Value Stories - 2nd issue - October 2018
 
Oracle Code One San Francisco - Monolith to microservices
Oracle Code One San Francisco - Monolith to microservicesOracle Code One San Francisco - Monolith to microservices
Oracle Code One San Francisco - Monolith to microservices
 
Value Stories - 3rd issue - April 2019
Value Stories - 3rd issue - April 2019Value Stories - 3rd issue - April 2019
Value Stories - 3rd issue - April 2019
 
2018 MONOLITICH TO MICROSERVICES - Conferencia Javeros colombia
2018 MONOLITICH TO MICROSERVICES  - Conferencia Javeros colombia 2018 MONOLITICH TO MICROSERVICES  - Conferencia Javeros colombia
2018 MONOLITICH TO MICROSERVICES - Conferencia Javeros colombia
 
SigmaTec Solutions
SigmaTec SolutionsSigmaTec Solutions
SigmaTec Solutions
 
CORPORATE PRESENTATION OF PETRO DIGITAL PVT LTD
CORPORATE PRESENTATION OF PETRO DIGITAL PVT LTDCORPORATE PRESENTATION OF PETRO DIGITAL PVT LTD
CORPORATE PRESENTATION OF PETRO DIGITAL PVT LTD
 
CORPORATE PRESENTATION OF PETRO DIGITAL PVT LTD
CORPORATE PRESENTATION OF PETRO DIGITAL PVT LTDCORPORATE PRESENTATION OF PETRO DIGITAL PVT LTD
CORPORATE PRESENTATION OF PETRO DIGITAL PVT LTD
 
CodeIT company presentation
CodeIT company presentationCodeIT company presentation
CodeIT company presentation
 
How to Build an Innovation Engine As A Google for Software
How to Build an Innovation Engine As A Google for SoftwareHow to Build an Innovation Engine As A Google for Software
How to Build an Innovation Engine As A Google for Software
 
SasikumarManickam_9 Yrs Exp
SasikumarManickam_9 Yrs ExpSasikumarManickam_9 Yrs Exp
SasikumarManickam_9 Yrs Exp
 
WJAX 2019 - Taking Distributed Tracing to the next level
WJAX 2019 - Taking Distributed Tracing to the next levelWJAX 2019 - Taking Distributed Tracing to the next level
WJAX 2019 - Taking Distributed Tracing to the next level
 
Final software enginner_resume
Final software enginner_resumeFinal software enginner_resume
Final software enginner_resume
 
IT Recruiter's Mind Maps - Booklet Preview
IT Recruiter's Mind Maps - Booklet PreviewIT Recruiter's Mind Maps - Booklet Preview
IT Recruiter's Mind Maps - Booklet Preview
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
 
Linda l jenkins resume 8 4-2016
Linda l jenkins resume 8 4-2016Linda l jenkins resume 8 4-2016
Linda l jenkins resume 8 4-2016
 
Tech next innovations pvt ltd
Tech next innovations pvt ltdTech next innovations pvt ltd
Tech next innovations pvt ltd
 
Resume_Vanitha Gaddam_QA_3.2 Years Exp
Resume_Vanitha Gaddam_QA_3.2 Years ExpResume_Vanitha Gaddam_QA_3.2 Years Exp
Resume_Vanitha Gaddam_QA_3.2 Years Exp
 
Why Choosing Software testing as a Career ?
Why Choosing Software testing as a Career ?Why Choosing Software testing as a Career ?
Why Choosing Software testing as a Career ?
 
2020 05-tech saturday-devsecops-#2-v03
2020 05-tech saturday-devsecops-#2-v032020 05-tech saturday-devsecops-#2-v03
2020 05-tech saturday-devsecops-#2-v03
 

Recently uploaded

A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 

Recently uploaded (20)

A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 

RAC.pdf

  • 1. REFACTORING AS CODE (RAC) By Raja Nagendra Kumar, Code Doctor TejaSoft Innovations Pvt. Ltd. Bangalore JUG Meetup @ Sabre, ITPL 7th Oct 2023 Towards Modern Java : MIGRATION
  • 2. TEJASOFT – CODE DOCTORS RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 2 20 years Micro Entrepreneurship system No 1 choice for SMEs and MNC choice for Time Bound R&D 40k+ Innovative, unique micro + macro tasks 110+ Products #techdebt cleanup 8+ billion cumulative savings, 2+ billion LOC Complexity → Amplified Simplification Migration Engineering (Modernize Legacy, Mass Scale Refactoring) Clean Code Uplifts, Audits, Technical Due Diligence fCTO System to own current risks instantly
  • 3. tests AS CODE Unit Tests Integration Tests E2E Tests API Tests Functional Tests RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 3
  • 4. WHY RAC RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 4
  • 5. MIGRATION ENGINEERING RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 5 Update - patching Upgrade – New Version, No Data Change Refactoring – Create Space for New Feature Migration – API/Schema/Data Changes Linters – IDE Checks SCA – Static Code Analysis Rewrite – Discard Existing Transpile – Switch Language
  • 6. EXAMPLES RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 6 https://www.linkedin.com/pulse/migrating-from-java-8-11-17- rachit-mehrotra/ https://docs.oracle.com/en/java/javase/17/migrate/migrating- jdk-8-later-jdk-releases.html https://www.arhohuttunen.com/junit-5-migration/ https://github.com/spring-projects/spring-boot/wiki/Spring-Boot- 3.0-Migration-Guide
  • 7. SEMANTIC SEARCH Semantic search denotes search with meaning, as distinguished from lexical search where the search engine looks for literal matches of the query words or variants of them, without understanding the overall meaning of the query. Semantic search seeks to improve search accuracy by understanding the searcher's intent and the contextual meaning of terms as they appear in the searchable dataspace RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 7
  • 8. INTELLIJ SEARCH STRUCTURALLY Safe Code Transformation RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 8
  • 9. TYPES OF MIGRATIONS RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 9
  • 10. RECIPE DEVELOPMENT OPTIONS RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 10 Moderne - OpenRewrite Google - Errorprone Refaster Eclipse - JDT
  • 11. CODE WALKTHROUGH OPENREWRITE Add License Header Log4J 1.x to 2.x remove all System.out Convert System.out to logger JDK 8 to 17 JUnit 4 to JUnit 5 Spring 2.x to 3.x Custom Recipes RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 11
  • 12. GROWING ECOSYSTEM OF RECIPES RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 12
  • 13. REFERENCES 1. https://app.moderne.io/marketplace 2. https://www.youtube.com/watch?v=q-Le1dx2-t8 3. https://www.youtube.com/watch?v=o3rMdXR2bIU 4. https://www.youtube.com/watch?v=Vv-54qhnndU 5. https://www.youtube.com/watch?v=G824962s4MI RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 13
  • 14. Q&A RAJA NAGENDRA KUMAR , CODE DOCTOR, TEJASOFT INNOVATIONS PVT. LTD. NAGENDRA.RAJA@TEJASOFT.COM, +91-9886723872 14