SlideShare a Scribd company logo
1 of 23
1© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Java 10 & beyond:
Keeping up with the language and
planning for the future
Toomas Römer
Rod Cope
2© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Presenters
Rod Cope
CTO
rod.cope@roguewave.com
Toomas Römer
CTO, product development
toomas.romer@roguewave.com
3© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Agenda
• Short history of Java versions
• What’s new in Java 10
• Looking forward to Java 11
• Discussions
• Q&A
4© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Watch the full webinar
5© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Java history overview
• Java 5 – 2004
– Substantial language and API changes - Generics, Annotations, boxing, enum, varargs,
enhanced for
• Java 6 – 2006
– Incremental update
• Java 7 – 2011
– More language & API changes – switch on Strings, try-with-resources, …
– Support for dynamic languages
• Java 8 – 2014
– Language updates – Lambda expressions
• Java 9 – 2017
– Platform updates – Module system, JShell, new default GC
6© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Java history overview
• Java 10 – 2018
– Language changes - var type
– Strict six-month release cadence
• Java 11 – 2018
– Platform updates – decouple JavaFX, remove JavaEE, Corba
modules
7© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Java release cadence & support
• No public releases for Oracle JDK!
• Long Term Support releases (LTS) – every 3 years from Oracle
– Similar to previous major Java versions
– Next LTS is Java 11
• Feature releases – public ones for OpenJDK or other vendors
– Every 6 months, March and September
• Other options
– AdoptOpenJDK - https://adoptopenjdk.net
• 4 year LTS
– Azul Systems
• LTS, MTS, STS
– OpenLogic JDK support (Rogue Wave Software)
• Latest 4 major versions
8© 2018 Rogue Wave Software, Inc. All Rights Reserved.
The joy of STS, MTS & LTS
2013. 2014. 2015. 2016. 2017. 2018. 2019. 2020. 2021. 2022. 2023. 2024. 2025. 2026. 2027. 2028.
Java 18
Java 17
Java 16
Java 15
Java 14
Java 13
Java 12
Java 11
Java 10
Java 9
Java 8
Java 7
OpenJDK Oracle Public Oracle Extended AdoptOpenJDK Azul Zulu Enterprise
This is
now()
No more Public Oracle
release after Java 10
No overlap in
support for feature
releases
Source: Azul
9© 2018 Rogue Wave Software, Inc. All Rights Reserved.
So …
• Which version should I use as of today?
• Which vendor should I use as of today?
• Which version does my dev environment support?
• Which version is best for production?
• What should my upgrade policy be?
• …
10© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Some assumptions
• Best to to develop and run app with the same JVM version and
vendor
– Less surprises across the board
• Developers mostly like newer versions
– For reasons …
• Ops people like battle tested versions
– Can sleep better
11© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Maintaining mature
applications
12© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Maintaining mature applications
• Upgrade the JVM regularly
– Safe choice feeling
• Actively maintained version
• All the security fixes
– Exciting
• New language features
• Newer APIs
– Backwards compatible!
• Development tools
• Build tools
• Frameworks & Libraries
• Monitoring tools
• JVM flags
13© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Maintaining mature applications
• Don’t upgrade the JVM regularly
– Risks involved but $$$ will help
• Not actively maintained version
• Support contract to the rescue
• Might have issues with frameworks and libraries
– Not that exciting for developers but fine for mature applications
– Minimal investment to keeping up with the ecosystem
• Development tools
• Build tools
• Frameworks & Libraries
• Monitoring tools
• JVM flags
14© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Starting a new project
today!
15© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Starting a new project – Scenario A
• Assumptions
– Project will be in active development for 2 years
– Project will have a maintenance window of 10 years
• Decisions
– Which Java version to base this off of?
– Which Java vendor to go with?
– Which upgrade policy to choose?
16© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Application
deployment & support
17© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Application Deployment and Support
• You’re developing an app that you ship to your customer
– Which minimal JDK should it support?
– Which latest JDK should it support?
– Ship with a JRE?
– Ship as a container?
20© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Best practices to move
to microservices
21© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Best practices to move to
microservices
• Microservices is a trend that’s moving
quickly
– Improvements in virtualization,
containerization
– Improvements in tooling, provisioning,
orchestration
– Improvements in frameworks for
microservices
• You just need to keep up with it …
– Upgrade your Java to stay compatible
22© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Conclusions
• Java is moving at a really fast pace now
• Keeping up with it requires a solid plan
• Oracle is not the only option on the market
23© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Watch the full webinar
24© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Reload code changes instantly
Skip time-consuming build & redeploy steps and avoid application restarts when testing
Try
zeroturnaround.com/jrebel/trial/
now
Keep pace with Java updates
25© 2018 Rogue Wave Software, Inc. All Rights Reserved.

More Related Content

What's hot

JFall 2016: Oracle JET Session
JFall 2016: Oracle JET SessionJFall 2016: Oracle JET Session
JFall 2016: Oracle JET SessionGeertjan Wielenga
 
Building a REST API for Longevity
Building a REST API for LongevityBuilding a REST API for Longevity
Building a REST API for LongevityMuleSoft
 
MuleSoft_meetup | Integralzone
MuleSoft_meetup | IntegralzoneMuleSoft_meetup | Integralzone
MuleSoft_meetup | IntegralzoneIntegralZone
 
How Customers are Building and Using their Own Connectors
How Customers are Building and Using their Own ConnectorsHow Customers are Building and Using their Own Connectors
How Customers are Building and Using their Own ConnectorsMuleSoft
 
Radial | SOASTA IR Webinar
Radial | SOASTA IR WebinarRadial | SOASTA IR Webinar
Radial | SOASTA IR WebinarSOASTA
 
Inflectra 2017 Zürich User Summit
Inflectra 2017 Zürich User SummitInflectra 2017 Zürich User Summit
Inflectra 2017 Zürich User SummitAdam Sandman
 
Preparing the Gap Inc. Ecommerce Platform for Traffic Surge During the Holida...
Preparing the Gap Inc. Ecommerce Platform for Traffic Surge During the Holida...Preparing the Gap Inc. Ecommerce Platform for Traffic Surge During the Holida...
Preparing the Gap Inc. Ecommerce Platform for Traffic Surge During the Holida...VMware Tanzu
 
[Rakuten TechConf2014] [Fukuoka] Case Study of Financial Web Systems Developm...
[Rakuten TechConf2014] [Fukuoka] Case Study of Financial Web Systems Developm...[Rakuten TechConf2014] [Fukuoka] Case Study of Financial Web Systems Developm...
[Rakuten TechConf2014] [Fukuoka] Case Study of Financial Web Systems Developm...Rakuten Group, Inc.
 
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법Mee Nam Lee
 
Virtual meetup - Exploring the Runtime Fabric deployment model
Virtual meetup - Exploring the Runtime Fabric deployment modelVirtual meetup - Exploring the Runtime Fabric deployment model
Virtual meetup - Exploring the Runtime Fabric deployment modelJimmy Attia
 
Java cloud service 발표자료
Java cloud service 발표자료Java cloud service 발표자료
Java cloud service 발표자료Mee Nam Lee
 
Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...
Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...
Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...Angel Alberici
 
Inflectra Agile Alliance Agile2015 Conference
Inflectra Agile Alliance Agile2015 ConferenceInflectra Agile Alliance Agile2015 Conference
Inflectra Agile Alliance Agile2015 ConferenceAdam Sandman
 
P6 Resource Management in the web
P6 Resource Management in the webP6 Resource Management in the web
P6 Resource Management in the webp6academy
 
Java Day Tokyo 2016 feedback at Kumamoto
Java Day Tokyo 2016 feedback at KumamotoJava Day Tokyo 2016 feedback at Kumamoto
Java Day Tokyo 2016 feedback at KumamotoTakashi Ito
 
MuleSoft Meetup - Singapore - No.3 Oct19
MuleSoft Meetup - Singapore - No.3 Oct19MuleSoft Meetup - Singapore - No.3 Oct19
MuleSoft Meetup - Singapore - No.3 Oct19Julian Douch
 
Customer Case Study: Generali
Customer Case Study: GeneraliCustomer Case Study: Generali
Customer Case Study: GeneraliInflectra
 

What's hot (20)

JFall 2016: Oracle JET Session
JFall 2016: Oracle JET SessionJFall 2016: Oracle JET Session
JFall 2016: Oracle JET Session
 
Building a REST API for Longevity
Building a REST API for LongevityBuilding a REST API for Longevity
Building a REST API for Longevity
 
MuleSoft_meetup | Integralzone
MuleSoft_meetup | IntegralzoneMuleSoft_meetup | Integralzone
MuleSoft_meetup | Integralzone
 
How Customers are Building and Using their Own Connectors
How Customers are Building and Using their Own ConnectorsHow Customers are Building and Using their Own Connectors
How Customers are Building and Using their Own Connectors
 
Radial | SOASTA IR Webinar
Radial | SOASTA IR WebinarRadial | SOASTA IR Webinar
Radial | SOASTA IR Webinar
 
Inflectra 2017 Zürich User Summit
Inflectra 2017 Zürich User SummitInflectra 2017 Zürich User Summit
Inflectra 2017 Zürich User Summit
 
MySQL
MySQLMySQL
MySQL
 
Preparing the Gap Inc. Ecommerce Platform for Traffic Surge During the Holida...
Preparing the Gap Inc. Ecommerce Platform for Traffic Surge During the Holida...Preparing the Gap Inc. Ecommerce Platform for Traffic Surge During the Holida...
Preparing the Gap Inc. Ecommerce Platform for Traffic Surge During the Holida...
 
[Rakuten TechConf2014] [Fukuoka] Case Study of Financial Web Systems Developm...
[Rakuten TechConf2014] [Fukuoka] Case Study of Financial Web Systems Developm...[Rakuten TechConf2014] [Fukuoka] Case Study of Financial Web Systems Developm...
[Rakuten TechConf2014] [Fukuoka] Case Study of Financial Web Systems Developm...
 
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
 
JCP 20 Year Anniversary
JCP 20 Year AnniversaryJCP 20 Year Anniversary
JCP 20 Year Anniversary
 
Virtual meetup - Exploring the Runtime Fabric deployment model
Virtual meetup - Exploring the Runtime Fabric deployment modelVirtual meetup - Exploring the Runtime Fabric deployment model
Virtual meetup - Exploring the Runtime Fabric deployment model
 
Java cloud service 발표자료
Java cloud service 발표자료Java cloud service 발표자료
Java cloud service 발표자료
 
JavaCro'15 - Managing Java at Scale Security and Compatibility Applications -...
JavaCro'15 - Managing Java at Scale Security and Compatibility Applications -...JavaCro'15 - Managing Java at Scale Security and Compatibility Applications -...
JavaCro'15 - Managing Java at Scale Security and Compatibility Applications -...
 
Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...
Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...
Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...
 
Inflectra Agile Alliance Agile2015 Conference
Inflectra Agile Alliance Agile2015 ConferenceInflectra Agile Alliance Agile2015 Conference
Inflectra Agile Alliance Agile2015 Conference
 
P6 Resource Management in the web
P6 Resource Management in the webP6 Resource Management in the web
P6 Resource Management in the web
 
Java Day Tokyo 2016 feedback at Kumamoto
Java Day Tokyo 2016 feedback at KumamotoJava Day Tokyo 2016 feedback at Kumamoto
Java Day Tokyo 2016 feedback at Kumamoto
 
MuleSoft Meetup - Singapore - No.3 Oct19
MuleSoft Meetup - Singapore - No.3 Oct19MuleSoft Meetup - Singapore - No.3 Oct19
MuleSoft Meetup - Singapore - No.3 Oct19
 
Customer Case Study: Generali
Customer Case Study: GeneraliCustomer Case Study: Generali
Customer Case Study: Generali
 

Similar to Keeping Up with Java Updates and Planning for the Future

JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKWolfgang Weigend
 
Advanced technologies and techniques for debugging HPC applications
Advanced technologies and techniques for debugging HPC applicationsAdvanced technologies and techniques for debugging HPC applications
Advanced technologies and techniques for debugging HPC applicationsRogue Wave Software
 
Open source applied - Real world use cases (Presented at Open Source 101)
Open source applied - Real world use cases (Presented at Open Source 101)Open source applied - Real world use cases (Presented at Open Source 101)
Open source applied - Real world use cases (Presented at Open Source 101)Rogue Wave Software
 
Open Source Applied - Real World Use Cases
Open Source Applied - Real World Use CasesOpen Source Applied - Real World Use Cases
Open Source Applied - Real World Use CasesAll Things Open
 
Delivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleDelivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleSimon Haslam
 
The forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for youThe forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for youRogue Wave Software
 
Bringing Java into the Open
Bringing Java into the Open Bringing Java into the Open
Bringing Java into the Open Heather VanCura
 
Diagnose Your Microservices
Diagnose Your MicroservicesDiagnose Your Microservices
Diagnose Your MicroservicesMarcus Hirt
 
Java Support: What's changing
Java Support:  What's changingJava Support:  What's changing
Java Support: What's changingSimon Ritter
 
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsServerless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsDavid Delabassee
 
Serverless Java Challenges & Triumphs
Serverless Java Challenges & TriumphsServerless Java Challenges & Triumphs
Serverless Java Challenges & TriumphsDavid Delabassee
 

Similar to Keeping Up with Java Updates and Planning for the Future (20)

Java SE Subscription Workshop
Java SE Subscription WorkshopJava SE Subscription Workshop
Java SE Subscription Workshop
 
JDK versions and OpenJDK
JDK versions and OpenJDKJDK versions and OpenJDK
JDK versions and OpenJDK
 
APAC Tour 2019 update
APAC Tour 2019 updateAPAC Tour 2019 update
APAC Tour 2019 update
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDK
 
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
Javantura v4 - Support SpringBoot application development lifecycle using Ora...Javantura v4 - Support SpringBoot application development lifecycle using Ora...
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
 
Advanced technologies and techniques for debugging HPC applications
Advanced technologies and techniques for debugging HPC applicationsAdvanced technologies and techniques for debugging HPC applications
Advanced technologies and techniques for debugging HPC applications
 
Java 101
Java 101Java 101
Java 101
 
Serverless Kotlin
Serverless KotlinServerless Kotlin
Serverless Kotlin
 
Open source applied - Real world use cases (Presented at Open Source 101)
Open source applied - Real world use cases (Presented at Open Source 101)Open source applied - Real world use cases (Presented at Open Source 101)
Open source applied - Real world use cases (Presented at Open Source 101)
 
Open Source Applied - Real World Use Cases
Open Source Applied - Real World Use CasesOpen Source Applied - Real World Use Cases
Open Source Applied - Real World Use Cases
 
Delivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleDelivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with Oracle
 
JDK 10 Java Module System
JDK 10 Java Module SystemJDK 10 Java Module System
JDK 10 Java Module System
 
The forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for youThe forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for you
 
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
 
Bringing Java into the Open
Bringing Java into the Open Bringing Java into the Open
Bringing Java into the Open
 
Diagnose Your Microservices
Diagnose Your MicroservicesDiagnose Your Microservices
Diagnose Your Microservices
 
Java Support: What's changing
Java Support:  What's changingJava Support:  What's changing
Java Support: What's changing
 
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsServerless Java - Challenges and Triumphs
Serverless Java - Challenges and Triumphs
 
Serverless Java Challenges & Triumphs
Serverless Java Challenges & TriumphsServerless Java Challenges & Triumphs
Serverless Java Challenges & Triumphs
 
Open Source Support
Open Source SupportOpen Source Support
Open Source Support
 

More from Rogue Wave Software

The Global Influence of Open Banking, API Security, and an Open Data Perspective
The Global Influence of Open Banking, API Security, and an Open Data PerspectiveThe Global Influence of Open Banking, API Security, and an Open Data Perspective
The Global Influence of Open Banking, API Security, and an Open Data PerspectiveRogue Wave Software
 
No liftoff, touchdown, or heartbeat shall miss because of a software failure
No liftoff, touchdown, or heartbeat shall miss because of a software failureNo liftoff, touchdown, or heartbeat shall miss because of a software failure
No liftoff, touchdown, or heartbeat shall miss because of a software failureRogue Wave Software
 
Disrupt or be disrupted – Using secure APIs to drive digital transformation
Disrupt or be disrupted – Using secure APIs to drive digital transformationDisrupt or be disrupted – Using secure APIs to drive digital transformation
Disrupt or be disrupted – Using secure APIs to drive digital transformationRogue Wave Software
 
Leveraging open banking specifications for rigorous API security – What’s in...
Leveraging open banking specifications for rigorous API security –  What’s in...Leveraging open banking specifications for rigorous API security –  What’s in...
Leveraging open banking specifications for rigorous API security – What’s in...Rogue Wave Software
 
Adding layers of security to an API in real-time
Adding layers of security to an API in real-timeAdding layers of security to an API in real-time
Adding layers of security to an API in real-timeRogue Wave Software
 
Getting the most from your API management platform: A case study
Getting the most from your API management platform: A case studyGetting the most from your API management platform: A case study
Getting the most from your API management platform: A case studyRogue Wave Software
 
Are open source and embedded software development on a collision course?
Are open source and embedded software development on a  collision course?Are open source and embedded software development on a  collision course?
Are open source and embedded software development on a collision course?Rogue Wave Software
 
Three big mistakes with APIs and microservices
Three big mistakes with APIs and microservices Three big mistakes with APIs and microservices
Three big mistakes with APIs and microservices Rogue Wave Software
 
5 strategies for enterprise cloud infrastructure success
5 strategies for enterprise cloud infrastructure success5 strategies for enterprise cloud infrastructure success
5 strategies for enterprise cloud infrastructure successRogue Wave Software
 
PSD2 & Open Banking: How to go from standards to implementation and compliance
PSD2 & Open Banking: How to go from standards to implementation and compliancePSD2 & Open Banking: How to go from standards to implementation and compliance
PSD2 & Open Banking: How to go from standards to implementation and complianceRogue Wave Software
 
How to keep developers happy and lawyers calm (Presented at ESC Boston)
How to keep developers happy and lawyers calm (Presented at ESC Boston)How to keep developers happy and lawyers calm (Presented at ESC Boston)
How to keep developers happy and lawyers calm (Presented at ESC Boston)Rogue Wave Software
 
How to migrate SourcePro apps from Solaris to Linux
How to migrate SourcePro apps from Solaris to LinuxHow to migrate SourcePro apps from Solaris to Linux
How to migrate SourcePro apps from Solaris to LinuxRogue Wave Software
 
Approaches to debugging mixed-language HPC apps
Approaches to debugging mixed-language HPC appsApproaches to debugging mixed-language HPC apps
Approaches to debugging mixed-language HPC appsRogue Wave Software
 
Enterprise Linux: Justify your migration from Red Hat to CentOS
Enterprise Linux: Justify your migration from Red Hat to CentOSEnterprise Linux: Justify your migration from Red Hat to CentOS
Enterprise Linux: Justify your migration from Red Hat to CentOSRogue Wave Software
 
Walk through an enterprise Linux migration
Walk through an enterprise Linux migrationWalk through an enterprise Linux migration
Walk through an enterprise Linux migrationRogue Wave Software
 
How to keep developers happy and lawyers calm
How to keep developers happy and lawyers calmHow to keep developers happy and lawyers calm
How to keep developers happy and lawyers calmRogue Wave Software
 
Open source and embedded software development
Open source and embedded software developmentOpen source and embedded software development
Open source and embedded software developmentRogue Wave Software
 
Open source software: The infrastructure impact
Open source software: The infrastructure impactOpen source software: The infrastructure impact
Open source software: The infrastructure impactRogue Wave Software
 
Plan a successful enterprise Linux migration
Plan a successful enterprise Linux migrationPlan a successful enterprise Linux migration
Plan a successful enterprise Linux migrationRogue Wave Software
 
Will you survive the API avalanche?
Will you survive the API avalanche?Will you survive the API avalanche?
Will you survive the API avalanche?Rogue Wave Software
 

More from Rogue Wave Software (20)

The Global Influence of Open Banking, API Security, and an Open Data Perspective
The Global Influence of Open Banking, API Security, and an Open Data PerspectiveThe Global Influence of Open Banking, API Security, and an Open Data Perspective
The Global Influence of Open Banking, API Security, and an Open Data Perspective
 
No liftoff, touchdown, or heartbeat shall miss because of a software failure
No liftoff, touchdown, or heartbeat shall miss because of a software failureNo liftoff, touchdown, or heartbeat shall miss because of a software failure
No liftoff, touchdown, or heartbeat shall miss because of a software failure
 
Disrupt or be disrupted – Using secure APIs to drive digital transformation
Disrupt or be disrupted – Using secure APIs to drive digital transformationDisrupt or be disrupted – Using secure APIs to drive digital transformation
Disrupt or be disrupted – Using secure APIs to drive digital transformation
 
Leveraging open banking specifications for rigorous API security – What’s in...
Leveraging open banking specifications for rigorous API security –  What’s in...Leveraging open banking specifications for rigorous API security –  What’s in...
Leveraging open banking specifications for rigorous API security – What’s in...
 
Adding layers of security to an API in real-time
Adding layers of security to an API in real-timeAdding layers of security to an API in real-time
Adding layers of security to an API in real-time
 
Getting the most from your API management platform: A case study
Getting the most from your API management platform: A case studyGetting the most from your API management platform: A case study
Getting the most from your API management platform: A case study
 
Are open source and embedded software development on a collision course?
Are open source and embedded software development on a  collision course?Are open source and embedded software development on a  collision course?
Are open source and embedded software development on a collision course?
 
Three big mistakes with APIs and microservices
Three big mistakes with APIs and microservices Three big mistakes with APIs and microservices
Three big mistakes with APIs and microservices
 
5 strategies for enterprise cloud infrastructure success
5 strategies for enterprise cloud infrastructure success5 strategies for enterprise cloud infrastructure success
5 strategies for enterprise cloud infrastructure success
 
PSD2 & Open Banking: How to go from standards to implementation and compliance
PSD2 & Open Banking: How to go from standards to implementation and compliancePSD2 & Open Banking: How to go from standards to implementation and compliance
PSD2 & Open Banking: How to go from standards to implementation and compliance
 
How to keep developers happy and lawyers calm (Presented at ESC Boston)
How to keep developers happy and lawyers calm (Presented at ESC Boston)How to keep developers happy and lawyers calm (Presented at ESC Boston)
How to keep developers happy and lawyers calm (Presented at ESC Boston)
 
How to migrate SourcePro apps from Solaris to Linux
How to migrate SourcePro apps from Solaris to LinuxHow to migrate SourcePro apps from Solaris to Linux
How to migrate SourcePro apps from Solaris to Linux
 
Approaches to debugging mixed-language HPC apps
Approaches to debugging mixed-language HPC appsApproaches to debugging mixed-language HPC apps
Approaches to debugging mixed-language HPC apps
 
Enterprise Linux: Justify your migration from Red Hat to CentOS
Enterprise Linux: Justify your migration from Red Hat to CentOSEnterprise Linux: Justify your migration from Red Hat to CentOS
Enterprise Linux: Justify your migration from Red Hat to CentOS
 
Walk through an enterprise Linux migration
Walk through an enterprise Linux migrationWalk through an enterprise Linux migration
Walk through an enterprise Linux migration
 
How to keep developers happy and lawyers calm
How to keep developers happy and lawyers calmHow to keep developers happy and lawyers calm
How to keep developers happy and lawyers calm
 
Open source and embedded software development
Open source and embedded software developmentOpen source and embedded software development
Open source and embedded software development
 
Open source software: The infrastructure impact
Open source software: The infrastructure impactOpen source software: The infrastructure impact
Open source software: The infrastructure impact
 
Plan a successful enterprise Linux migration
Plan a successful enterprise Linux migrationPlan a successful enterprise Linux migration
Plan a successful enterprise Linux migration
 
Will you survive the API avalanche?
Will you survive the API avalanche?Will you survive the API avalanche?
Will you survive the API avalanche?
 

Recently uploaded

Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 

Recently uploaded (20)

Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 

Keeping Up with Java Updates and Planning for the Future

  • 1. 1© 2018 Rogue Wave Software, Inc. All Rights Reserved. Java 10 & beyond: Keeping up with the language and planning for the future Toomas Römer Rod Cope
  • 2. 2© 2018 Rogue Wave Software, Inc. All Rights Reserved. Presenters Rod Cope CTO rod.cope@roguewave.com Toomas Römer CTO, product development toomas.romer@roguewave.com
  • 3. 3© 2018 Rogue Wave Software, Inc. All Rights Reserved. Agenda • Short history of Java versions • What’s new in Java 10 • Looking forward to Java 11 • Discussions • Q&A
  • 4. 4© 2018 Rogue Wave Software, Inc. All Rights Reserved. Watch the full webinar
  • 5. 5© 2018 Rogue Wave Software, Inc. All Rights Reserved. Java history overview • Java 5 – 2004 – Substantial language and API changes - Generics, Annotations, boxing, enum, varargs, enhanced for • Java 6 – 2006 – Incremental update • Java 7 – 2011 – More language & API changes – switch on Strings, try-with-resources, … – Support for dynamic languages • Java 8 – 2014 – Language updates – Lambda expressions • Java 9 – 2017 – Platform updates – Module system, JShell, new default GC
  • 6. 6© 2018 Rogue Wave Software, Inc. All Rights Reserved. Java history overview • Java 10 – 2018 – Language changes - var type – Strict six-month release cadence • Java 11 – 2018 – Platform updates – decouple JavaFX, remove JavaEE, Corba modules
  • 7. 7© 2018 Rogue Wave Software, Inc. All Rights Reserved. Java release cadence & support • No public releases for Oracle JDK! • Long Term Support releases (LTS) – every 3 years from Oracle – Similar to previous major Java versions – Next LTS is Java 11 • Feature releases – public ones for OpenJDK or other vendors – Every 6 months, March and September • Other options – AdoptOpenJDK - https://adoptopenjdk.net • 4 year LTS – Azul Systems • LTS, MTS, STS – OpenLogic JDK support (Rogue Wave Software) • Latest 4 major versions
  • 8. 8© 2018 Rogue Wave Software, Inc. All Rights Reserved. The joy of STS, MTS & LTS 2013. 2014. 2015. 2016. 2017. 2018. 2019. 2020. 2021. 2022. 2023. 2024. 2025. 2026. 2027. 2028. Java 18 Java 17 Java 16 Java 15 Java 14 Java 13 Java 12 Java 11 Java 10 Java 9 Java 8 Java 7 OpenJDK Oracle Public Oracle Extended AdoptOpenJDK Azul Zulu Enterprise This is now() No more Public Oracle release after Java 10 No overlap in support for feature releases Source: Azul
  • 9. 9© 2018 Rogue Wave Software, Inc. All Rights Reserved. So … • Which version should I use as of today? • Which vendor should I use as of today? • Which version does my dev environment support? • Which version is best for production? • What should my upgrade policy be? • …
  • 10. 10© 2018 Rogue Wave Software, Inc. All Rights Reserved. Some assumptions • Best to to develop and run app with the same JVM version and vendor – Less surprises across the board • Developers mostly like newer versions – For reasons … • Ops people like battle tested versions – Can sleep better
  • 11. 11© 2018 Rogue Wave Software, Inc. All Rights Reserved. Maintaining mature applications
  • 12. 12© 2018 Rogue Wave Software, Inc. All Rights Reserved. Maintaining mature applications • Upgrade the JVM regularly – Safe choice feeling • Actively maintained version • All the security fixes – Exciting • New language features • Newer APIs – Backwards compatible! • Development tools • Build tools • Frameworks & Libraries • Monitoring tools • JVM flags
  • 13. 13© 2018 Rogue Wave Software, Inc. All Rights Reserved. Maintaining mature applications • Don’t upgrade the JVM regularly – Risks involved but $$$ will help • Not actively maintained version • Support contract to the rescue • Might have issues with frameworks and libraries – Not that exciting for developers but fine for mature applications – Minimal investment to keeping up with the ecosystem • Development tools • Build tools • Frameworks & Libraries • Monitoring tools • JVM flags
  • 14. 14© 2018 Rogue Wave Software, Inc. All Rights Reserved. Starting a new project today!
  • 15. 15© 2018 Rogue Wave Software, Inc. All Rights Reserved. Starting a new project – Scenario A • Assumptions – Project will be in active development for 2 years – Project will have a maintenance window of 10 years • Decisions – Which Java version to base this off of? – Which Java vendor to go with? – Which upgrade policy to choose?
  • 16. 16© 2018 Rogue Wave Software, Inc. All Rights Reserved. Application deployment & support
  • 17. 17© 2018 Rogue Wave Software, Inc. All Rights Reserved. Application Deployment and Support • You’re developing an app that you ship to your customer – Which minimal JDK should it support? – Which latest JDK should it support? – Ship with a JRE? – Ship as a container?
  • 18. 20© 2018 Rogue Wave Software, Inc. All Rights Reserved. Best practices to move to microservices
  • 19. 21© 2018 Rogue Wave Software, Inc. All Rights Reserved. Best practices to move to microservices • Microservices is a trend that’s moving quickly – Improvements in virtualization, containerization – Improvements in tooling, provisioning, orchestration – Improvements in frameworks for microservices • You just need to keep up with it … – Upgrade your Java to stay compatible
  • 20. 22© 2018 Rogue Wave Software, Inc. All Rights Reserved. Conclusions • Java is moving at a really fast pace now • Keeping up with it requires a solid plan • Oracle is not the only option on the market
  • 21. 23© 2018 Rogue Wave Software, Inc. All Rights Reserved. Watch the full webinar
  • 22. 24© 2018 Rogue Wave Software, Inc. All Rights Reserved. Reload code changes instantly Skip time-consuming build & redeploy steps and avoid application restarts when testing Try zeroturnaround.com/jrebel/trial/ now Keep pace with Java updates
  • 23. 25© 2018 Rogue Wave Software, Inc. All Rights Reserved.