The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

fastest, most-lightweight, java app server

Ok guys following up on yesterday's post I have decided to go with java over RonR as my site design includes a need for back end multi-threaded processing (most likely i'll end up with some sort of pooling for this too, but that's another issue).  My next question is, in my experience App Servers provide too much unneeded functionality for me (having used Tomcat im not convinced on it's speed). 

Essentially I'll be using a mysql db and potentially hibernate to provide persistence.  Im hoping to avoid using EJBs and initially at least I will have no need for load-balancing and other such enterprise level issues...  so which app server will provide best performance for a web app based on POJOs?
Entropy Send private email
Sunday, May 07, 2006
I talked recently to a fairly large Telco and they have some services running on Tomcat - serving up something like 30 million hits a month.  So I don't think that performance of Tomcat should be an issue.

A better way of looking at this would be to follow this chart:

(1) Choose Language (done)
(2) Choose Web Framework (possibly influences #1)
(2a) Choose Toolset that supports that Framework
(3) Choose Appserver that works best with #2 and #2a
(4) ??? (write the code, market the better mousetrap)
(5) Profit

Having chosen Java you then have half a dozen different frameworks to choose from ("no framework" is a valid choice).  Most of which seem to have a fetish for avoiding writing Java code (sometimes going to great and painful lengths to avoid doing so).

Struts: I have yet to meet a Java programmer that actually likes working with Struts.

When I had to make this choice it came down to which Framework best supported the security model we wanted to use - and the answer for us at least turned out to be none.

But if your security requirements are less esoteric than ours were you might benefit from (for instance) downloading JCreator from Sun and having a play around with that (I think they are big on JSF).

Spring is also popular.  If I didn't think that dependency injection was the spawn of the devil I might be inclined to try it out.

There are some others out there like Rife that have their adherents.  Good luck and happy hunting.
Monday, May 08, 2006
You seem to not want to use Tomcat, but in my experience, its best option for Java-based web apps, if you can avoid using EJBs and JTA and JMS. And it sounds like you can. It is easier to deploy than any J2EE app server I have used, configuration is minimal, and it performs well enough.

If you are worried about future performance, there are lots of tricks to deal with that. Primarily by using Apache as the server, which serves with all static resources, such as CSS files and images. Any dynamic resource, such as a JSP or a servlet-generated page is passed from Apache to Tomcat.
Imminent Send private email
Monday, May 08, 2006
+1 for Rick and Imminent. About all I would add is

EJB: I have yet to meet a Java programmer that actually likes working with EJB. uses the combo of Apache and Tomcat for their high volume site. So Tomcat can perform  describes it.
cbmc64 Send private email
Monday, May 08, 2006
Id avoid EJBs like the plague if I were you!

If TomCat seems too fat for your liking then take a look at Jetty instead. It has a reputation for a lighter footprint.
Java GUI Programmer
Monday, May 08, 2006
I think i'll go with Jetty, a servlet container is probably all i need as it's likely I won't have any static pages either.  Regarding the 'can Tomcat perform' query I posed I suppose I left out the one important piece of info relevant to me, ie 'can Tomcat perform when I can't afford a whole bunch of server farms' :)

Entropy Send private email
Monday, May 08, 2006
Entropy, a part of the equation should be your knowledge of J2EE. (J2EE does not have to have EJB). Because Tomcat has the best documentation and support while Jetty is by far the fastest/leanest servlet container I have seen.

Regarding Jetty, I have not had any single problem transfering my servlets/JSPs from Tomcat to Jetty.
Friday, May 12, 2006
"Because Tomcat has the best documentation and support while Jetty is by far the fastest/leanest servlet container I have seen."

Agreed.  Tomcat works very well, haven't had any funny/weird issues like my experiences with Jboss.  I *have* seen performance graphs that show that tomcat has trouble scaling as well as websphere/weblogic/etc, but that may have been before NIO, which (hopefully?) the newest version of tomcat uses.

Then again, those graphs could have been ibm/bea bullshit invented to sell 50,000 dollar app servers.  Good luck, report in with your choice/findings if you don't mind.
Vince Send private email
Monday, May 15, 2006

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz