7. Karakun DevHub_
@HendrikEbbersdev.karakun.com
The current state
• Starting with Java 11 all the new changes in the
Java ecosystem will affect developers
• Mostly no-one cared about Java 9 or 10
• With 11 mostly all developers need to take action
8. Karakun DevHub_
@HendrikEbbersdev.karakun.com
The current state
• Before we have a deeper look at the new changes
we should have a look at the history of Java
• Some of the "new" stuff is already part of Java
since years
• Some decisions done for a decade affect us now
10. Karakun DevHub_
@HendrikEbbersdev.karakun.com
Let's go back to the 90th
• "Oak" (Object Application Kernel) / "The Green
Project" was developed in 1992
• This project evolved to Java in 1995
• The Duke was already the
mascot for the
Green Project
17. Karakun DevHub_
@HendrikEbbersdev.karakun.com
The standard APIs
• Since Java 9 the standard APIs are separated in
several modules java.se
java.sql.rowset
java.sql
java.xml
java.base
java.loggingjava.instrument java.datatransfer java.scripting
java.prefs
java.desktop
java.xml.crypto
java.compiler
java.rmi java.naming
java.security.sasl
java.management java.security.jgss
19. Karakun DevHub_
@HendrikEbbersdev.karakun.com
The (evil) private APIs
• Some rules about private APIs
• Do not use anything besides the java.* package
• Swing and Graphics2D is located in the javax.*
package
• JavaFX is located in the javafx.* package
21. Karakun DevHub_
@HendrikEbbersdev.karakun.com
The tools
• Basic tools like the "java" or "javac" command are
part of each JDK distribution
• Oracle added several tools to its Java distribution
that are not part of OpenJDK
• All this tools were developed closed source at
Oracle
22. Karakun DevHub_
@HendrikEbbersdev.karakun.com
The tools
• A good example is "Java WebStart"
• WebStart was never part of OpenJDK and
therefore was never part of OpenJDK builds
• WebStart was only delivered with Oracle JDK
builds
27. Karakun DevHub_
@HendrikEbbersdev.karakun.com
The classical Java releases
• Up until Java 8 we had a flexible release train for
Java
• A new major version was released "when it's
done"
• This ended in delays and a a big bundle of new
features per release
28. Karakun DevHub_
@HendrikEbbersdev.karakun.com
The classical Java releases
• A version was available for several years
• Normally a version received updates even after
the next version was released
• Commercial LTS support was provided by Oracle
for legacy projects
31. Karakun DevHub_
@HendrikEbbersdev.karakun.com
The new release train
• Last year Oracle announced new release train
• More flexible with fixed release dates
• A feature will be released "when it's done"
• Shorter lifetime of Java versions
34. Karakun DevHub_
@HendrikEbbersdev.karakun.com
The new release train @ Oracle
• Starting with Java 11 Oracle provides 2 Java builds
• Oracle JDK is the commercial distribution
• Oracle OpenJDK builds still provided under GPL
with classpath exception
36. Karakun DevHub_
@HendrikEbbersdev.karakun.com
The new release train
• Next to the new timeline the new release model
added some additional points
• Deprecated code was removed from Java
• @Deprecated has additional information
39. Karakun DevHub_
@HendrikEbbersdev.karakun.com
The new release train
• Since Java will become more flexibel the users of
Java need to become more flexible, too
• Based on the changes dependencies and
application code need to be checked for a new
version
• Updates should be done more often
50. Karakun DevHub_
@HendrikEbbersdev.karakun.com
• Vendors work in private forks for
versions with commercial support
• Security fixes will be merged in
the fork
• Customer specific changes will be
added to the fork
migrated
OpenJDK workflow
52. Karakun DevHub_
@HendrikEbbersdev.karakun.com
• All companies have the same workflow but the
concrete versions will differ more an more
• Maybe security
fixes can be
handled in an open
branch in future
OpenJDK workflow
61. Karakun DevHub_
@HendrikEbbersdev.karakun.com
Commercial support
• All this support models are made for Java on the
server
• This works fine for classic mainframe applications
• Several models work fine for cloud computing
• No price model is made for Java on the client
62. Karakun DevHub_
@HendrikEbbersdev.karakun.com
Oracle commercial support
User client machines Monthly price per user / client machine
1-999 $2.50
1,000-2,999 $2.00
3.000-9.999 $1.75
10.000-19.999 $1.50
20.000-49.999 $1.25
50.000+ Oracle must be contacted
70. Karakun DevHub_
@HendrikEbbersdev.karakun.com
Amazon Corretto
• Java 8 builds will be supported till 2023 (LTS)
• Java 11 builds will be supported till 2024 (LTS)
• LTS build will contain security fixes
• A new version will be released each quarter
• No commercial support options
85. Karakun DevHub_
@HendrikEbbersdev.karakun.com
Karakun supports you
• Karakun tries to recreate WebStart as an open source
product
• We offer trainings and workshops for Java migration
(8-11), the new release train
• We will inform you about all aspects of this topic at
https://dev.karakun.com