Over a million developers have joined DZone.

Java EE 6 Servers Are Too Small, Or Why Some Are Bloated

DZone's Guide to

Java EE 6 Servers Are Too Small, Or Why Some Are Bloated

· Java Zone ·
Free Resource

Start coding something amazing with our library of open source Cloud code patterns. Content provided by IBM.

"Java EE 6 Servers are too small to be taken seriously..." One of my first server-side Java projects started in 1996-97 was deployed on JavaWebServer 1.0, later JavaWebServer 2.0. JavaWebServer was Servlet-compatible way before the advent of Tomcat and any other web containers. The project was a e-commerce portal, which was supposed to be shipped to customers and installed on their servers. Our marketing department insisted on packaging the application on a installation CD-ROM. CDs were new and appealing back then. Most of the software at that time was shipped on floppies.

Our entire code base was self-contained and so relatively small. It was about 600kB-1MB. Our marketing guys freaked out, they said: "It is impossible to build serious enterprise software with less than 100MB - no one will take us seriously". We saved the situation with some high-res splash-screens, PDF brochures and putting the PDF-Reader on disc. At the end our installation package looked very professional with about 120 MB and was absolutely enterprise-ready :-). Bundling JDK 1.1.X (~10 MB) and JavaWebServer (8.5 MB) wouldn't help a lot...
I guess we could take over the world with < 1MB portal these days (OMP - One Megabyte Portal) :-). Most of the smoke-tested Java EE 6 servers so far: Resin, Siwpas, JBoss, Glassfish, TomTom are smaller than 50 MB. They would be in serious trouble back then as well - no one would consider them as "enterprise ready" and take them seriously...

From http://www.adam-bien.com/roller/abien/entry/java_ee_6_servers_are

Use this tool to look at the contents of GitHub and classify code based on the programming language used.  Content provided by IBM Developer.


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}