>>I'm forming more and more concrete opinions on this recently as I've begun >>working on a system in exchange for equity in a local startup. We acquired >>the system for pennies from another company that folded. It started out on >>WebLogic, but as they got into it they first pitched WL's jdbc connection >>pooling and wrote their own because of an inability to cache prepared sql >>statements.
When we switched to prepared SQL statements on DB2, our performance TRIPLED. So, I think this is HUGE. Prepared SQL statements are exactly how DB2 and Oracle win a lot of performance bakeoffs. The cached statements avoid the statement parser and optimizer, and that makes all the difference in world.
>>They also pitched JSP as being too simplistic and wrote their own html >>template processor. The object to database mapping was written by hand (ie - >>class methods provide meta info to their custom mapping code). Bottom line >>is that WL has been reduced to running servlets. Since we're a startup with >>no funding (everybody has a second job except me), I'm probably going to end >>up moving the thing to Tomcat or Jetty or something free like that.
Here's another thing I agree on. We used servlets first, then JSP, when the CEO didn't like the "look and feel" of the servlet code, and he wanted the creative arts department involved. But, it is clumsy to embed the Java into the HTML, especially when you want "really dynamic" OO pages. I'm really surprised that someone hasn't built a Smalltalk-like OO web tool that would build "dynamic web pages", using objects to assemble the screen dynamically with each request.
I also agree that the highest performance is to keep as much as possible on a single machine, mainly because a in-system call overhead is usually about less than 1 millisecond on newer systems, and between-system overhead is at least 10-15 milliseconds, even on fast networks, similar machnes, with no marshalling. For each method call, it's at least a factor of 10 slower, and probably explains Maggie's 8 second transations on an EJB system.
Glen Austin