Slide 11
Slide 11 text
JVM
Tomcat
Linux
App 1
App 2
App 3
...See any problems?
The container hides the O.S.
11
The original idea in Java was to hide the O.S. from application code. Everything the running
app needs from the environment is provided by the Java Virtual Machine. So far, so good.
Then the Java Enterprise standard says that starting, stopping, running application should
also be done inside an “application container”. You are then able to avoid dependencies from
variations in O.S., but you are now depending on variations in application container.
The idea of shielding the app from the O.S. makes sense when you want to distribute a
desktop application to a variety of O.S. But there is no value in shielding a custom server
application from the O.S. In the server there is no need to have variations in O.S.; you choose
the O.S. and you don’t have usually change it. It goes to your advantage to exploit the O.S.
for all the services it can provide. You are not going to change Linux for Windows anyway,
are you? :o)
Apart from all this, what I find completely unacceptable is the idea that different applications
should be running inside the same container, which means inside the same O.S. process.
What can go wrong?