Karsten asked, "Do you have some details how to deal with applications that require different Java versions? I've heard that we can handle this but how exactly? From my understanding each Java runtime needs to be part of the appropriate application layer, right?"
That's one way (the simplest). Or the apps need to be called using our EXEC command line option, which makes it run as if in the same layer as the Java version needed -- more efficient when you have lots of apps.
A third option (for apps in the base), is to launch the apps from a script/batch file/etc. that is in the corresponding Java layer.