{"id":4213,"date":"2018-08-29T21:54:43","date_gmt":"2018-08-29T19:54:43","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=4213"},"modified":"2018-08-29T21:54:43","modified_gmt":"2018-08-29T19:54:43","slug":"standard-edition-java-se-oraclejdk-und-die-kommerzialisierung","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2018\/08\/standard-edition-java-se-oraclejdk-und-die-kommerzialisierung\/","title":{"rendered":"Standard Edition (Java SE): OracleJDK und die Kommerzialisierung"},"content":{"rendered":"<p>Oracle vermarktet auf der Basis vom OpenJDK ihr eigenes Projekt OracleJDK. Ab Java 11 sind das OracleJDK und OpenJDK vom Code her identisch. Das Oracle JDK ist die \u00bboffizielle\u00ab Version, die die Java-Download-Seite von Oracle anbietet.<\/p>\n<h4>Long Term Support (LTS)<\/h4>\n<p>Die halbj\u00e4hrlichen Java-Releases haben zur Folge, dass Versionen immer dann veraltet sind, wenn eine neue Version erscheint. In dem Moment, in dem Java 10 kam, war Java 9 veraltet, das gleiche ist bei Java 11, es machte sofort Java 10 zur alten Version. Das allein w\u00e4re kein Problem, wenn die \u00e4lteren Versionen mit Sicherheitsupdates versorgt w\u00fcrden, aber Oracle investiert f\u00fcr die Allgemeinheit in die alten Versionen keine Zeit und M\u00fche mehr.<\/p>\n<p>F\u00fcr Unternehmen ist das ein Problem, denn es erzeugt Stress, mit den \u00c4nderungen mitziehen zu m\u00fcssen. Aus diesem Grund bietet Oracle alle drei Jahre eine Java-Version mit Long Term Support (LTS) und versorgt sie mit Updates und Sicherheitspatches. Die n\u00e4chsten LTS-Versionen nach Java 8 ist Java 11 (September 2018) und dann nach 3 Jahren Java 17 (September 2021). Das ist f\u00fcr weniger agile Unternehmen gut. Oracle will ihre Java SE 8-Implementierung noch bis mindestens Dezember 2020 pflegen, geplant ist bis M\u00e4rz 2025<a href=\"#_ftn1\" name=\"_ftnref1\">[1]<\/a> und Java 11 bis 2023, beides Releases mit LTS.<\/p>\n<h4>Kommerzialisierung vom OracleJDK<\/h4>\n<p>Auf den ersten Blick sieht das gut aus: es gibt regelm\u00e4\u00dfige Updates f\u00fcr agile Unternehmen und die konservativen Unternehmen setzen auf eine LTS-Version. Der Problem ist allerdings, dass alle OracleJDK-Versionen nicht kommerziell eingesetzt werden d\u00fcrfen; der Hersteller erlaubt die Nutzung nur f\u00fcr \u201edevelopment, testing, prototyping or demonstrating purposes\u201c. F\u00fcr Java 8 endet die Schonfrist im Januar 2019.<\/p>\n<p>Wer das OracleJDK kommerziell einsetzen m\u00f6chte, und nicht nur in einer Entwicklungs- oder Testumgebung, muss eine Lizenz von Oracle erwerben. Es wird monatlich abgerechnet, die Vertragszeit ist mindestes in Jahr. Es stehen zwei Modelle zur Auswahl:<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"298\"><strong>Java SE Subscription<\/strong><\/td>\n<td width=\"298\"><strong>Java SE Desktop Subscription<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"298\">F\u00fcr Serveranwendungen<\/td>\n<td width=\"298\">F\u00fcr Client-Anwendungen<\/td>\n<\/tr>\n<tr>\n<td width=\"298\">Abrechnung pro Prozessor<\/td>\n<td width=\"298\">Abrechnung pro Benutzer<\/td>\n<\/tr>\n<tr>\n<td width=\"298\">ab 25 USD\/Monat, f\u00fcr 1-99 Benutzer<\/td>\n<td width=\"298\">ab 2,50 USD\/Monat f\u00fcr 1-999 Benutzer\/Clients<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Tabelle: Zwei Lizenzmodelle f\u00fcr Oracle Java SE<\/p>\n<p>Oracle wendet bei der Java SE Subscription das gleiche Gesch\u00e4ftsmodell wie bei der Oracle-Datenbank an. Wie genau Rechner in der Cloud mit einer unbestimmten Anzahl der Prozessoren abgerechnet werden soll ist noch unklar.<a href=\"#_ftn2\" name=\"_ftnref2\">[2]<\/a> Interessenten sollten die \u201eOracle Java SE Subscription FAQ\u201c unter http:\/\/www.oracle.com\/technetwork\/java\/javaseproducts\/overview\/javasesubscriptionfaq-4891443.html studieren und Oracle-Berater hinzuziehen. Wer Client- und Serveranwendungen nutzt, muss zweimal bezahlen, statt \u00bbwrite once, run anywhere\u00ab, \u00bbwrite once, pay everywhere\u00ab.<\/p>\n<p>Die Kosten k\u00f6nnen sich schnell summieren, doch bekommen Unternehmen damit Support und insbesondere f\u00fcr Java 8 immer noch f\u00fcr einige Jahre Unterst\u00fctzung. Nachteil ist, dass es das Subscription-Modell nur f\u00fcr die LTS-Versionen gibt, Unternehmen also gezwungen werden, gr\u00f6\u00dfere Versionsspr\u00fcnge zu machen. Nach Java 11 kommt erst im September 2021 die Version Java 17 mit dem n\u00e4chsten LTS.<\/p>\n<h4>Java Platform, Standard Edition in drei Paketen: JDK, JRE, Server JRE<\/h4>\n<p>In der Oracle Java\u00a0SE-Familie gibt es verschiedene Auspr\u00e4gungen: das JDK und das JRE. Da diejenigen, die Java-Programme nur laufen lassen m\u00f6chten, nicht unbedingt alle Entwicklungstools ben\u00f6tigen, hat Oracle Pakete geschn\u00fcrt:<\/p>\n<ul>\n<li>Mit dem Java Development Kit (JDK) lassen sich Java\u00a0SE-Applikationen entwickeln. Dem JDK sind Hilfsprogramme beigelegt, die f\u00fcr die Java-Entwicklung n\u00f6tig sind. Dazu z\u00e4hlen der essenzielle Compiler, aber auch andere Hilfsprogramme, etwa zur Signierung von Java-Archiven oder zum Start einer Management-Konsole. In den Versionen Java 1.2, 1.3 und 1.4 hei\u00dft das JDK Java 2 Software Development Kit (J2SDK), kurz SDK, ab Java 5 hei\u00dft es wieder JDK.<\/li>\n<li>Das Java SE Runtime Environment (JRE) enth\u00e4lt genau das, was zur Ausf\u00fchrung von Java-Programmen n\u00f6tig ist. Die Distribution umfasst nur die JVM und Java-Bibliotheken, aber weder den Quellcode der Java-Bibliotheken noch Tools wie Management-Tools.<\/li>\n<li>Das Server JRE ist f\u00fcr 64-Bit-Server-Umgebungen gedacht und enth\u00e4lt anders als das herk\u00f6mmliche JRE nicht den Auto-Updater, das Plugin-Tool oder einen Installer. Wie das JDK enth\u00e4lt es hingegen eine Management-Konsole.<\/li>\n<\/ul>\n<p>Die drei Produkte k\u00f6nnen von der Webseite http:\/\/www.oracle.com\/technetwork\/java\/javase\/downloads\/ bezogen werden \u2013 die Lizenzbestimmungen sind einzuhalten.<\/p>\n<h4>Oracle JDK 10 Certified System Configurations<\/h4>\n<p>Eine ideale, perfekt getestete und unterst\u00fctzte Umgebung gilt als Oracle Certified System Configuration. Das ist eine Kombination aus Betriebssystem mit installierten Service-Packs; das beschreibt das Unternehmen unter https:\/\/www.oracle.com\/technetwork\/java\/javase\/documentation\/jdk10certconfig-4417031.html. Bei gemeldeten Bugs auf nicht zertifizierten Plattformen kann dann schnell ein \u00bbSorry, das ist eine nicht unterst\u00fctzte Plattform, das schauen wir uns nicht weiter an\u00ab folgen. Bei Linux ist zum Beispiel die Gentoo-Distribution nicht in der Liste, w\u00e4re also \u00bbNot certified on Oracle VM\u00ab. Das hei\u00dft nicht, dass Java dort nicht zu 100\u00a0% l\u00e4uft, nur, dass es im Fehlerfall eben keinen Fix geben muss.<\/p>\n<p><a href=\"#_ftnref1\" name=\"_ftn1\">[1]<\/a> http:\/\/www.oracle.com\/technetwork\/java\/javase\/javaclientroadmapupdate2018mar-4414431.pdf<\/p>\n<p><a href=\"#_ftnref2\" name=\"_ftn2\">[2]<\/a> http:\/\/houseofbrick.com\/the-oracle-parking-garage\/ ist dann gar nicht mehr zum Lachen \u2026<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Oracle vermarktet auf der Basis vom OpenJDK ihr eigenes Projekt OracleJDK. Ab Java 11 sind das OracleJDK und OpenJDK vom Code her identisch. Das Oracle JDK ist die \u00bboffizielle\u00ab Version, die die Java-Download-Seite von Oracle anbietet. Long Term Support (LTS) Die halbj\u00e4hrlichen Java-Releases haben zur Folge, dass Versionen immer dann veraltet sind, wenn eine neue [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[11],"tags":[],"class_list":["post-4213","post","type-post","status-publish","format-standard","hentry","category-insel"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/4213","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=4213"}],"version-history":[{"count":1,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/4213\/revisions"}],"predecessor-version":[{"id":4214,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/4213\/revisions\/4214"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=4213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=4213"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=4213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}