SlideShare ist ein Scribd-Unternehmen logo
Wartung älterer Oracle JDK-Versionen mit der Java SE Subscription
JDK 8 End of Public Updates (EoPU)
von Wolfgang Weigend
Durch die Einführung kürzerer Java-Release-Zyklen, mittels Time-Based-Release-
Versionierung im JDK-Enhancement-Vorschlag JEP 322, werden zwei JDK-
Versionen pro Jahr von Oracle veröffentlicht, wie in der Abbildung 1 dargestellt. Der
Rhythmus gibt vor, dass nach dem Oracle JDK 8, alle drei Jahre ein weiteres Oracle
JDK als Long-Term-Support-Release (LTS) folgt, für das die Benutzer den Oracle
Support als Java SE Subscription [1] erwerben können, wenn sie das Oracle JDK im
Produktivbetrieb einsetzen möchten. Das Oracle JDK 8 ist ein LTS-Release und
nach Anwenderangaben, befinden sich damit ca. 85% der Java-Applikationen im
Produktivbetrieb. Die öffentliche Verfügbarkeit von Java Sicherheits-Updates, für das
Oracle JDK 8 im Unternehmenseinsatz, ist bis zum Januar 2019 vorgesehen, siehe
Oracle Java SE Support Roadmap [2] mit End of Public Updates für Oracle JDK 8.
Sollte der Umstieg vom Oracle JDK 8 auf eine höhere Java-Version bis zu diesem
Zeitpunkt nicht möglich sein, wird empfohlen, die Oracle Java SE Subscription [3] in
Betracht zu ziehen, damit weiterhin Java Sicherheits-Updates für das Oracle JDK 8
eingespielt werden können.
Abbildung 1: JDK Feature Release und Critical Patch Update (CPU)
Übergang vom Java SE Advanced Support zur Java SE Subscription
Der bisherige Java SE Advanced Support [4] wird durch die Java SE Subscription [5]
abgelöst. Existierende Java SE Advanced Support-Verträge bleiben weiter
bestehen. Der Java SE Subscription Support erstreckt sich über drei Phasen:
Premier Support, Extended Support und Sustaining Support. Für das Oracle JDK 8
wird der Premier Support bis März 2022 angeboten, der Extended Support ist bis
März 2025 erhältlich (siehe Tabelle 1). Der Premier Support läuft fünf Jahre ab dem
Erscheinungsdatum vom JDK LTS-Release und bietet neben den beschriebenen
Eigenschaften in den Oracle Lifetime Support Richtlinien [6], auch den Umgang mit
Sicherheits-Alerts [7] und die Erstellung von Critical Patch Updates. Gleiches gilt für
den Extended Support, jedoch ohne weitere Release-Zertifizierung für neue
Produkte von Drittherstellern und Oracle. Darüber hinaus kann der Sustaining
Support für unbestimmte Zeit ausgewählt werden. Nach ca. 10 Jahren verringert sich
die Fehleranzahl drastisch und damit auch die Wahrscheinlichkeit zur Erstellung
neuer Critical Patch Updates in der Sustaining Support-Phase. Der Oracle Java SE
Subscription Support kann für das Oracle JDK LTS-Release abgeschlossen werden.
Dabei ist zu beachten, dass man auch für ein Oracle JDK Non-LTS-Release, wie
bespielsweise Oracle JDK 12,13,14,15,16, ebenfalls den Java SE Subscription
Support abschliessen kann, aber die Non-LTS-Releases sind nur 6 Monate
verfügbar. Neben der grundsätzlichen Absicherung mit der Java SE Subscription, ist
der Zugang zu künftigen Java Critical Patch Updates für ältere Java Versionen [8]
das Hauptargument, um bestehende Java-Anwendungen, die Aufgrund von
technischen Abhängigkeiten noch mit dem JDK 8 betrieben werden müssen, gegen
mögliche Sicherheitsprobleme zu schützen. Bislang kann die Beschaffung vom
früheren Oracle Java SE Advanced Support online mit der Auswahlreihenfolge:
Software, Fusion Middleware, Java SE Advanced über den Oracle Store [9] erfolgen
oder durch direkte Kontaktaufnahme zum deutschen Java Vertrieb. Im Gegensatz
zum Oracle Java SE Advanced Support beinhaltet die neue Oracle Java SE
Subscription eine Java SE Lizenz inklusive Support in einer monatlichen
Subskription und folgt damit dem Linux-Distributionsmodell. Die Oracle Java SE
Subscription gilt für Desktop-Arbeitsplätze, Server und Cloud-Deployments. Die Java
SE Subscription berechnet sich separat für die Desktop-Clients gemäß der Metrik
Named-User-Plus (NUP) und für die Server oder Cloud-Deployments nach Anzahl
der Prozessoren. Ab Juli 2018 sind zusätzliche Preisinformationen für die Oracle
Java SE Subscription direkt vom Oracle Java Vertrieb erhältlich und die Online-
Subskriptionsbestellung wird aktiviert. Die Subskriptionslaufzeit im Online-Angebot
beträgt ein bis drei Jahre, aber es werden auch andere Varianten vom Java Vertrieb
angeboten.
Java SE
Release
Erscheinungs-
datum
Premier Support
erhältlich bis
Extended Support
erhältlich bis
Sustaining
Support
6 Dezember 2006 Dezember 2015 Dezember 2018 unbestimmt
7 Juli 2011 Juli 2019 Juli 2022 unbestimmt
8 (LTS) März 2014 März 2022 März 2025 unbestimmt
9 September 2017 März 2018 Nicht verfügbar unbestimmt
10 März 2018 September 2018 Nicht verfügbar unbestimmt
11 (LTS) September 2018 September 2023 September 2026 unbestimmt
12 März 2019 September 2019 Nicht verfügbar unbestimmt
Tabelle 1: Oracle Java SE Support Roadmap mit Java SE Subscription Support
JDK und OpenJDK
Oracle Java soll komplett Open Source werden, sodass es mit der JDK Version 11
keine Unterschiede zwischen dem Oracle JDK und OpenJDK mehr geben wird.
Durch die Gleichstellung des Oracle JDK mit dem OpenJDK wird der kontinuierliche
Halbjahresrhythmus mit dem OpenJDK unter der GPLv2 & CPE Lizenz fortgeführt,
bis ein weiteres Oracle JDK als LTS-Release erscheint [10]. Die öffentliche
Verfügbarkeit von Java Critical Patch Updates ist auf sechs Monate festgelegt und
bedeutet für die Anwender ohne Java SE Subscription, dass sie nach diesen sechs
Monaten das nächste OpenJDK verwenden sollten, um kontinuierliche Java-
Sicherheits-Patches zu erhalten. Mit dem Technologietransfer vom Oracle JDK sind
die Sicherheits- und Performance-Optimierungen als Open-Source-Implentierungen
in das OpenJDK geflossen. Damit wird das OpenJDK gestärkt und es ist
wünschenswert, dass sich mehr Entwickler als OpenJDK-Kontributoren beteiligen,
um den Java-Code stetig zu verbessern. Für das Oracle Support-Engineering-Team
ist es im Support-Fall wichtig, die Java-Software-Bereiche exakt einzugrenzen und
das gelingt nur mit dem Oracle JDK LTS in Kombination mit der Oracle Java SE
Subscription. Die Nutzung vom Oracle JDK 11 in Produktivumgebungen ist nur für
Kunden mit dem Java SE Subscription Support vorgesehen. Ohne Java SE
Subscription darf das Oracle JDK nur für die Entwicklung, Testing, Prototyping oder
für Demonstrationszwecke verwendet werden. Im Gegensatz dazu, kann das
äquivalente Oracle OpenJDK in allen Umgebungen ohne Oracle Java SE
Subscription eingesetzt werden. Das OpenJDK mit der GPLv2 & CPE Lizenz,
gebündelt mit eigener Anwendungslogik, kann frei verteilt werden und damit entfällt
der zweckgebundene Einsatz von Java beim OpenJDK.
Fazit
Die Erfahrungen beim Umstieg von JDK 7 nach JDK 8 haben gezeigt, dass die
Variante „Just run“ praktisch nutzbar ist. D.h. existierende Java-Anwendungen sind
dank Abwärtskompatibilität [11] ohne Modifikation mit dem höheren Java-Release
ablauffähig. Dennoch muß man in seltenen Fällen die Möglichkeit einer
Unverträglichkeit in Betracht ziehen, wenn auch nur in Randbereichen. Mit der
Variante „Neukompilieren und Quell-Code anpassen“, wird der alte Java-Code
immer auf dem aktuellen Stand der Technik gehalten und durch die gängigen
Entwicklungsumgebungen bestmöglich unterstützt. Der Oracle JDK Migration Guide
[12] bietet Umstiegshilfe bei der Migration vom JDK 8 auf JDK 10.
Nach verschiedenen Befragungen bei Unternehmen ist ein Trend zu erkennen, bei
dem nahezu 90% den direkten Umstieg vom JDK 8 (LTS) auf JDK 11 (LTS) für
Produktivsysteme anstreben. Lediglich 3% verblieben beim JDK 7 und den darunter
liegenden JDK-Versionen. Auf das vorwärts gerichtete Deployment vom JDK 9
entfielen 5% und immerhin 2% verwenden das aktuelle JDK 10. Daraus läßt sich
eine pragmatische Vorgehensweise ableiten, bei dem die Unternehmen zweigleisig
fahren, indem sie zu 90% auf ein LTS-Release des JDK‘s setzten. Aber gleichzeitig
beschäftigen sich die Entwickler mit dem Einsatz vom JDK 9 & JDK 10, den
Zwischen-Releases, die ohne Übergangszeiten alle sechs Monate erscheinen.
Man sollte sich die Frage stellen, ob die Produktivumgebungen ohne eine Support-
Absicherung den künftigen Sicherheitsanforderungen standhalten können. Es ist
ratsam, die betroffenen JDK 8 Anwendungen mit der Java SE Subscription
auszustatten, um weitere Java Critical Patch Updates im Produktivbetrieb so lange
einspielen zu können, bis ein Umstieg auf das JDK 10 oder das JDK 11 (LTS)
vollzogen werden kann.
Referenzen und Quellen:
[1] http://www.oracle.com/technetwork/java/javaseproducts/javasesubscription-data-sheet-
4891969.pdf
[2] http://www.oracle.com/technetwork/java/eol-135779.html
[3] https://blogs.oracle.com/java-platform-group/a-quick-summary-on-the-new-java-se-
subscription
[4] http://www.oracle.com/technetwork/java/javaseproducts/overview/index.html
[5] http://www.oracle.com/technetwork/java/javaseproducts/overview/javasesubscriptionfaq-
4891443.html
[6] http://www.oracle.com/us/support/lifetime-support-068561.html
[7] https://www.oracle.com/technetwork/topics/security/alerts-086861.html
[8] http://www.oracle.com/technetwork/java/javase/archive-139210.html
[9] https://shop.oracle.com/
[10] https://blogs.oracle.com/java-platform-group/update-and-faq-on-the-java-se-release-
cadence
[11] http://www.oracle.com/technetwork/java/javase/8-compatibility-guide-2156366.html
[12] https://docs.oracle.com/javase/10/migrate/JSMIG.pdf
Autor:
Wolfgang Weigend arbeitet als Sen. Leitender Systemberater bei der Oracle
Deutschland B.V. & Co. KG. Er beschäftigt sich mit Java-Technologie und
Architektur für unternehmensweite Anwendungsentwicklung.

Weitere ähnliche Inhalte

Ähnlich wie The JDK 8 end of public updates and the Java SE subscription

Article - JDK 8 im Fokus der Entwickler
Article - JDK 8 im Fokus der EntwicklerArticle - JDK 8 im Fokus der Entwickler
Article - JDK 8 im Fokus der Entwickler
Wolfgang Weigend
 
Jakarta EE 10: Was gibt es Neues?
Jakarta EE 10: Was gibt es Neues?Jakarta EE 10: Was gibt es Neues?
Jakarta EE 10: Was gibt es Neues?
gedoplan
 
OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021
OPITZ CONSULTING Deutschland
 
JavaFX goes open source
JavaFX goes open sourceJavaFX goes open source
JavaFX goes open source
Wolfgang Weigend
 
Javamagazin 1.2016 jdk9_ea_b83_jigsaw
Javamagazin 1.2016 jdk9_ea_b83_jigsawJavamagazin 1.2016 jdk9_ea_b83_jigsaw
Javamagazin 1.2016 jdk9_ea_b83_jigsaw
Wolfgang Weigend
 
Introduction to JEE
Introduction to JEEIntroduction to JEE
Introduction to JEEguestc44b7b
 
Von J2EE zu Jakarta EE und MicroProfile - Stand der Standards und Ausblick au...
Von J2EE zu Jakarta EE und MicroProfile - Stand der Standards und Ausblick au...Von J2EE zu Jakarta EE und MicroProfile - Stand der Standards und Ausblick au...
Von J2EE zu Jakarta EE und MicroProfile - Stand der Standards und Ausblick au...
gedoplan
 
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OPITZ CONSULTING Deutschland
 
2020 oracle lizenznews
2020 oracle lizenznews2020 oracle lizenznews
2020 oracle lizenznews
OPITZ CONSULTING Deutschland
 
Artikel eHealthcare Kompendium: Service Orientierte Architekturen für Healthcare
Artikel eHealthcare Kompendium: Service Orientierte Architekturen für HealthcareArtikel eHealthcare Kompendium: Service Orientierte Architekturen für Healthcare
Artikel eHealthcare Kompendium: Service Orientierte Architekturen für Healthcare
Peter Affolter
 
OSMC 2010 | Java Monitoring und Troubleshooting by Rainer Jung
OSMC 2010 | Java Monitoring und Troubleshooting by Rainer JungOSMC 2010 | Java Monitoring und Troubleshooting by Rainer Jung
OSMC 2010 | Java Monitoring und Troubleshooting by Rainer Jung
NETWAYS
 
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
Lukas Eder
 
skilllocation: Office und Windows Lebenszyklus und Kompatibiltätsmatrix
skilllocation: Office und Windows Lebenszyklus und Kompatibiltätsmatrixskilllocation: Office und Windows Lebenszyklus und Kompatibiltätsmatrix
skilllocation: Office und Windows Lebenszyklus und Kompatibiltätsmatrix
Carola Pantenburg
 
TYPO3 Version 4.5 LTS - Preview / Vorschau
TYPO3 Version 4.5 LTS - Preview / VorschauTYPO3 Version 4.5 LTS - Preview / Vorschau
TYPO3 Version 4.5 LTS - Preview / Vorschau
CS2 AG
 
Cloud Lösungen für Apex
Cloud Lösungen für ApexCloud Lösungen für Apex
Cloud Lösungen für Apex
Stefan Witwicki
 
Real Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Real Application Testing - DOAG SIG Database 2010 - Simon DickmeißReal Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Real Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
OPITZ CONSULTING Deutschland
 
Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2
Ulrike Schwinn
 
Oracle Database 12c Release 2
Oracle Database 12c Release 2 Oracle Database 12c Release 2
Oracle Database 12c Release 2
oraclebudb
 
Webcast Nr. 3 - Java Entwicklung mit der SAP Cloud Platform
Webcast Nr. 3 - Java Entwicklung mit der SAP Cloud PlatformWebcast Nr. 3 - Java Entwicklung mit der SAP Cloud Platform
Webcast Nr. 3 - Java Entwicklung mit der SAP Cloud Platform
Patric Dahse
 

Ähnlich wie The JDK 8 end of public updates and the Java SE subscription (20)

Article - JDK 8 im Fokus der Entwickler
Article - JDK 8 im Fokus der EntwicklerArticle - JDK 8 im Fokus der Entwickler
Article - JDK 8 im Fokus der Entwickler
 
Jakarta EE 10: Was gibt es Neues?
Jakarta EE 10: Was gibt es Neues?Jakarta EE 10: Was gibt es Neues?
Jakarta EE 10: Was gibt es Neues?
 
OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021
 
JavaFX goes open source
JavaFX goes open sourceJavaFX goes open source
JavaFX goes open source
 
Javamagazin 1.2016 jdk9_ea_b83_jigsaw
Javamagazin 1.2016 jdk9_ea_b83_jigsawJavamagazin 1.2016 jdk9_ea_b83_jigsaw
Javamagazin 1.2016 jdk9_ea_b83_jigsaw
 
Introduction to JEE
Introduction to JEEIntroduction to JEE
Introduction to JEE
 
Von J2EE zu Jakarta EE und MicroProfile - Stand der Standards und Ausblick au...
Von J2EE zu Jakarta EE und MicroProfile - Stand der Standards und Ausblick au...Von J2EE zu Jakarta EE und MicroProfile - Stand der Standards und Ausblick au...
Von J2EE zu Jakarta EE und MicroProfile - Stand der Standards und Ausblick au...
 
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
 
2020 oracle lizenznews
2020 oracle lizenznews2020 oracle lizenznews
2020 oracle lizenznews
 
Artikel eHealthcare Kompendium: Service Orientierte Architekturen für Healthcare
Artikel eHealthcare Kompendium: Service Orientierte Architekturen für HealthcareArtikel eHealthcare Kompendium: Service Orientierte Architekturen für Healthcare
Artikel eHealthcare Kompendium: Service Orientierte Architekturen für Healthcare
 
OSMC 2010 | Java Monitoring und Troubleshooting by Rainer Jung
OSMC 2010 | Java Monitoring und Troubleshooting by Rainer JungOSMC 2010 | Java Monitoring und Troubleshooting by Rainer Jung
OSMC 2010 | Java Monitoring und Troubleshooting by Rainer Jung
 
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
 
skilllocation: Office und Windows Lebenszyklus und Kompatibiltätsmatrix
skilllocation: Office und Windows Lebenszyklus und Kompatibiltätsmatrixskilllocation: Office und Windows Lebenszyklus und Kompatibiltätsmatrix
skilllocation: Office und Windows Lebenszyklus und Kompatibiltätsmatrix
 
TYPO3 Version 4.5 LTS - Preview / Vorschau
TYPO3 Version 4.5 LTS - Preview / VorschauTYPO3 Version 4.5 LTS - Preview / Vorschau
TYPO3 Version 4.5 LTS - Preview / Vorschau
 
Governance
GovernanceGovernance
Governance
 
Cloud Lösungen für Apex
Cloud Lösungen für ApexCloud Lösungen für Apex
Cloud Lösungen für Apex
 
Real Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Real Application Testing - DOAG SIG Database 2010 - Simon DickmeißReal Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Real Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
 
Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2
 
Oracle Database 12c Release 2
Oracle Database 12c Release 2 Oracle Database 12c Release 2
Oracle Database 12c Release 2
 
Webcast Nr. 3 - Java Entwicklung mit der SAP Cloud Platform
Webcast Nr. 3 - Java Entwicklung mit der SAP Cloud PlatformWebcast Nr. 3 - Java Entwicklung mit der SAP Cloud Platform
Webcast Nr. 3 - Java Entwicklung mit der SAP Cloud Platform
 

Mehr von Wolfgang Weigend

It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
Wolfgang Weigend
 
It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11
Wolfgang Weigend
 
JDK versions and OpenJDK
JDK versions and OpenJDKJDK versions and OpenJDK
JDK versions and OpenJDK
Wolfgang Weigend
 
JDK 10 Java Module System
JDK 10 Java Module SystemJDK 10 Java Module System
JDK 10 Java Module System
Wolfgang Weigend
 
Microservices and Container
Microservices and ContainerMicroservices and Container
Microservices and Container
Wolfgang Weigend
 
JDK 9 Java Platform Module System
JDK 9 Java Platform Module SystemJDK 9 Java Platform Module System
JDK 9 Java Platform Module System
Wolfgang Weigend
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computing
Wolfgang Weigend
 
Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1
Wolfgang Weigend
 
Java Flight Recorder Javamagazin May 2017
Java Flight Recorder Javamagazin May 2017Java Flight Recorder Javamagazin May 2017
Java Flight Recorder Javamagazin May 2017
Wolfgang Weigend
 
Automated testing of JavaFX GUI components
Automated testing of JavaFX GUI componentsAutomated testing of JavaFX GUI components
Automated testing of JavaFX GUI components
Wolfgang Weigend
 
Java mission control and java flight recorder
Java mission control and java flight recorderJava mission control and java flight recorder
Java mission control and java flight recorder
Wolfgang Weigend
 
Automated testing of JavaFX UI components
Automated testing of JavaFX UI componentsAutomated testing of JavaFX UI components
Automated testing of JavaFX UI components
Wolfgang Weigend
 
Jm 10.13 weigend_lagergren_nashorn
Jm 10.13 weigend_lagergren_nashornJm 10.13 weigend_lagergren_nashorn
Jm 10.13 weigend_lagergren_nashorn
Wolfgang Weigend
 
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
Wolfgang Weigend
 

Mehr von Wolfgang Weigend (14)

It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
 
It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11
 
JDK versions and OpenJDK
JDK versions and OpenJDKJDK versions and OpenJDK
JDK versions and OpenJDK
 
JDK 10 Java Module System
JDK 10 Java Module SystemJDK 10 Java Module System
JDK 10 Java Module System
 
Microservices and Container
Microservices and ContainerMicroservices and Container
Microservices and Container
 
JDK 9 Java Platform Module System
JDK 9 Java Platform Module SystemJDK 9 Java Platform Module System
JDK 9 Java Platform Module System
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computing
 
Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1
 
Java Flight Recorder Javamagazin May 2017
Java Flight Recorder Javamagazin May 2017Java Flight Recorder Javamagazin May 2017
Java Flight Recorder Javamagazin May 2017
 
Automated testing of JavaFX GUI components
Automated testing of JavaFX GUI componentsAutomated testing of JavaFX GUI components
Automated testing of JavaFX GUI components
 
Java mission control and java flight recorder
Java mission control and java flight recorderJava mission control and java flight recorder
Java mission control and java flight recorder
 
Automated testing of JavaFX UI components
Automated testing of JavaFX UI componentsAutomated testing of JavaFX UI components
Automated testing of JavaFX UI components
 
Jm 10.13 weigend_lagergren_nashorn
Jm 10.13 weigend_lagergren_nashornJm 10.13 weigend_lagergren_nashorn
Jm 10.13 weigend_lagergren_nashorn
 
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
 

The JDK 8 end of public updates and the Java SE subscription

  • 1. Wartung älterer Oracle JDK-Versionen mit der Java SE Subscription JDK 8 End of Public Updates (EoPU) von Wolfgang Weigend Durch die Einführung kürzerer Java-Release-Zyklen, mittels Time-Based-Release- Versionierung im JDK-Enhancement-Vorschlag JEP 322, werden zwei JDK- Versionen pro Jahr von Oracle veröffentlicht, wie in der Abbildung 1 dargestellt. Der Rhythmus gibt vor, dass nach dem Oracle JDK 8, alle drei Jahre ein weiteres Oracle JDK als Long-Term-Support-Release (LTS) folgt, für das die Benutzer den Oracle Support als Java SE Subscription [1] erwerben können, wenn sie das Oracle JDK im Produktivbetrieb einsetzen möchten. Das Oracle JDK 8 ist ein LTS-Release und nach Anwenderangaben, befinden sich damit ca. 85% der Java-Applikationen im Produktivbetrieb. Die öffentliche Verfügbarkeit von Java Sicherheits-Updates, für das Oracle JDK 8 im Unternehmenseinsatz, ist bis zum Januar 2019 vorgesehen, siehe Oracle Java SE Support Roadmap [2] mit End of Public Updates für Oracle JDK 8. Sollte der Umstieg vom Oracle JDK 8 auf eine höhere Java-Version bis zu diesem Zeitpunkt nicht möglich sein, wird empfohlen, die Oracle Java SE Subscription [3] in Betracht zu ziehen, damit weiterhin Java Sicherheits-Updates für das Oracle JDK 8 eingespielt werden können. Abbildung 1: JDK Feature Release und Critical Patch Update (CPU) Übergang vom Java SE Advanced Support zur Java SE Subscription Der bisherige Java SE Advanced Support [4] wird durch die Java SE Subscription [5] abgelöst. Existierende Java SE Advanced Support-Verträge bleiben weiter bestehen. Der Java SE Subscription Support erstreckt sich über drei Phasen: Premier Support, Extended Support und Sustaining Support. Für das Oracle JDK 8 wird der Premier Support bis März 2022 angeboten, der Extended Support ist bis März 2025 erhältlich (siehe Tabelle 1). Der Premier Support läuft fünf Jahre ab dem Erscheinungsdatum vom JDK LTS-Release und bietet neben den beschriebenen Eigenschaften in den Oracle Lifetime Support Richtlinien [6], auch den Umgang mit Sicherheits-Alerts [7] und die Erstellung von Critical Patch Updates. Gleiches gilt für den Extended Support, jedoch ohne weitere Release-Zertifizierung für neue Produkte von Drittherstellern und Oracle. Darüber hinaus kann der Sustaining Support für unbestimmte Zeit ausgewählt werden. Nach ca. 10 Jahren verringert sich die Fehleranzahl drastisch und damit auch die Wahrscheinlichkeit zur Erstellung neuer Critical Patch Updates in der Sustaining Support-Phase. Der Oracle Java SE Subscription Support kann für das Oracle JDK LTS-Release abgeschlossen werden. Dabei ist zu beachten, dass man auch für ein Oracle JDK Non-LTS-Release, wie bespielsweise Oracle JDK 12,13,14,15,16, ebenfalls den Java SE Subscription Support abschliessen kann, aber die Non-LTS-Releases sind nur 6 Monate verfügbar. Neben der grundsätzlichen Absicherung mit der Java SE Subscription, ist
  • 2. der Zugang zu künftigen Java Critical Patch Updates für ältere Java Versionen [8] das Hauptargument, um bestehende Java-Anwendungen, die Aufgrund von technischen Abhängigkeiten noch mit dem JDK 8 betrieben werden müssen, gegen mögliche Sicherheitsprobleme zu schützen. Bislang kann die Beschaffung vom früheren Oracle Java SE Advanced Support online mit der Auswahlreihenfolge: Software, Fusion Middleware, Java SE Advanced über den Oracle Store [9] erfolgen oder durch direkte Kontaktaufnahme zum deutschen Java Vertrieb. Im Gegensatz zum Oracle Java SE Advanced Support beinhaltet die neue Oracle Java SE Subscription eine Java SE Lizenz inklusive Support in einer monatlichen Subskription und folgt damit dem Linux-Distributionsmodell. Die Oracle Java SE Subscription gilt für Desktop-Arbeitsplätze, Server und Cloud-Deployments. Die Java SE Subscription berechnet sich separat für die Desktop-Clients gemäß der Metrik Named-User-Plus (NUP) und für die Server oder Cloud-Deployments nach Anzahl der Prozessoren. Ab Juli 2018 sind zusätzliche Preisinformationen für die Oracle Java SE Subscription direkt vom Oracle Java Vertrieb erhältlich und die Online- Subskriptionsbestellung wird aktiviert. Die Subskriptionslaufzeit im Online-Angebot beträgt ein bis drei Jahre, aber es werden auch andere Varianten vom Java Vertrieb angeboten. Java SE Release Erscheinungs- datum Premier Support erhältlich bis Extended Support erhältlich bis Sustaining Support 6 Dezember 2006 Dezember 2015 Dezember 2018 unbestimmt 7 Juli 2011 Juli 2019 Juli 2022 unbestimmt 8 (LTS) März 2014 März 2022 März 2025 unbestimmt 9 September 2017 März 2018 Nicht verfügbar unbestimmt 10 März 2018 September 2018 Nicht verfügbar unbestimmt 11 (LTS) September 2018 September 2023 September 2026 unbestimmt 12 März 2019 September 2019 Nicht verfügbar unbestimmt Tabelle 1: Oracle Java SE Support Roadmap mit Java SE Subscription Support JDK und OpenJDK Oracle Java soll komplett Open Source werden, sodass es mit der JDK Version 11 keine Unterschiede zwischen dem Oracle JDK und OpenJDK mehr geben wird. Durch die Gleichstellung des Oracle JDK mit dem OpenJDK wird der kontinuierliche Halbjahresrhythmus mit dem OpenJDK unter der GPLv2 & CPE Lizenz fortgeführt, bis ein weiteres Oracle JDK als LTS-Release erscheint [10]. Die öffentliche
  • 3. Verfügbarkeit von Java Critical Patch Updates ist auf sechs Monate festgelegt und bedeutet für die Anwender ohne Java SE Subscription, dass sie nach diesen sechs Monaten das nächste OpenJDK verwenden sollten, um kontinuierliche Java- Sicherheits-Patches zu erhalten. Mit dem Technologietransfer vom Oracle JDK sind die Sicherheits- und Performance-Optimierungen als Open-Source-Implentierungen in das OpenJDK geflossen. Damit wird das OpenJDK gestärkt und es ist wünschenswert, dass sich mehr Entwickler als OpenJDK-Kontributoren beteiligen, um den Java-Code stetig zu verbessern. Für das Oracle Support-Engineering-Team ist es im Support-Fall wichtig, die Java-Software-Bereiche exakt einzugrenzen und das gelingt nur mit dem Oracle JDK LTS in Kombination mit der Oracle Java SE Subscription. Die Nutzung vom Oracle JDK 11 in Produktivumgebungen ist nur für Kunden mit dem Java SE Subscription Support vorgesehen. Ohne Java SE Subscription darf das Oracle JDK nur für die Entwicklung, Testing, Prototyping oder für Demonstrationszwecke verwendet werden. Im Gegensatz dazu, kann das äquivalente Oracle OpenJDK in allen Umgebungen ohne Oracle Java SE Subscription eingesetzt werden. Das OpenJDK mit der GPLv2 & CPE Lizenz, gebündelt mit eigener Anwendungslogik, kann frei verteilt werden und damit entfällt der zweckgebundene Einsatz von Java beim OpenJDK. Fazit Die Erfahrungen beim Umstieg von JDK 7 nach JDK 8 haben gezeigt, dass die Variante „Just run“ praktisch nutzbar ist. D.h. existierende Java-Anwendungen sind dank Abwärtskompatibilität [11] ohne Modifikation mit dem höheren Java-Release ablauffähig. Dennoch muß man in seltenen Fällen die Möglichkeit einer Unverträglichkeit in Betracht ziehen, wenn auch nur in Randbereichen. Mit der Variante „Neukompilieren und Quell-Code anpassen“, wird der alte Java-Code immer auf dem aktuellen Stand der Technik gehalten und durch die gängigen Entwicklungsumgebungen bestmöglich unterstützt. Der Oracle JDK Migration Guide [12] bietet Umstiegshilfe bei der Migration vom JDK 8 auf JDK 10. Nach verschiedenen Befragungen bei Unternehmen ist ein Trend zu erkennen, bei dem nahezu 90% den direkten Umstieg vom JDK 8 (LTS) auf JDK 11 (LTS) für Produktivsysteme anstreben. Lediglich 3% verblieben beim JDK 7 und den darunter liegenden JDK-Versionen. Auf das vorwärts gerichtete Deployment vom JDK 9 entfielen 5% und immerhin 2% verwenden das aktuelle JDK 10. Daraus läßt sich eine pragmatische Vorgehensweise ableiten, bei dem die Unternehmen zweigleisig fahren, indem sie zu 90% auf ein LTS-Release des JDK‘s setzten. Aber gleichzeitig beschäftigen sich die Entwickler mit dem Einsatz vom JDK 9 & JDK 10, den Zwischen-Releases, die ohne Übergangszeiten alle sechs Monate erscheinen. Man sollte sich die Frage stellen, ob die Produktivumgebungen ohne eine Support- Absicherung den künftigen Sicherheitsanforderungen standhalten können. Es ist ratsam, die betroffenen JDK 8 Anwendungen mit der Java SE Subscription auszustatten, um weitere Java Critical Patch Updates im Produktivbetrieb so lange einspielen zu können, bis ein Umstieg auf das JDK 10 oder das JDK 11 (LTS) vollzogen werden kann.
  • 4. Referenzen und Quellen: [1] http://www.oracle.com/technetwork/java/javaseproducts/javasesubscription-data-sheet- 4891969.pdf [2] http://www.oracle.com/technetwork/java/eol-135779.html [3] https://blogs.oracle.com/java-platform-group/a-quick-summary-on-the-new-java-se- subscription [4] http://www.oracle.com/technetwork/java/javaseproducts/overview/index.html [5] http://www.oracle.com/technetwork/java/javaseproducts/overview/javasesubscriptionfaq- 4891443.html [6] http://www.oracle.com/us/support/lifetime-support-068561.html [7] https://www.oracle.com/technetwork/topics/security/alerts-086861.html [8] http://www.oracle.com/technetwork/java/javase/archive-139210.html [9] https://shop.oracle.com/ [10] https://blogs.oracle.com/java-platform-group/update-and-faq-on-the-java-se-release- cadence [11] http://www.oracle.com/technetwork/java/javase/8-compatibility-guide-2156366.html [12] https://docs.oracle.com/javase/10/migrate/JSMIG.pdf Autor: Wolfgang Weigend arbeitet als Sen. Leitender Systemberater bei der Oracle Deutschland B.V. & Co. KG. Er beschäftigt sich mit Java-Technologie und Architektur für unternehmensweite Anwendungsentwicklung.