Friday May 18, 2007
GlassFish, Tomcat, and Oddly Shaped Bicycles
There's some debate in mailing lists and other places about the wisdom or otherwise of continuing to bundle Tomcat with NetBeans IDE. Some believe that it would make more sense to favor GlassFish, at least partly since it is an open-source alternative to Tomcat (although the latter is a web server, while the former is an application server), while others argue that Tomcat is pretty much the de-facto web server of choice, hence an IDE would be shooting itself in the foot (assuming an IDE had a foot) by not bundling it, especially if it had been doing so all along.
I don't know the right answer to these questions and you're not going to find my opinion on these questions in this blog entry, since I don't really have one. However, people deserving the special attention of cranial surgeons are those who begin their e-mail with: "I haven't used GlassFish for over a year, however it is slow." Those people need to be hoisted into a tight white jacket and then locked up in a ward adjoining the one containing those who start their e-mail with words such as: "Although I haven't used NetBeans IDE for the last five years, here are my thoughts."
The reason for the summary justice that should be meted out for such offences is that these statements are the equivalent of saying: "I haven't ridden a bicycle since 1871, but I hate how the front wheel is so much larger than the back wheel." For those who want to know, this is how a bicycle looked in 1871:

Seriously, how can you have an opinion on a piece of software that is constantly, daily, being improved when you haven't used it for over a year? I'm not sure what the internet equivalent of a slap in the face is, but that's what you should get if you can have any opinion on GlassFish if you haven't used it for some time. In fact, you can't have much of an opinion if you haven't used it recently. Even more in fact, you can start up a NetBeans IDE 6.0 daily build and install the GlassFish V3 Server plugin. (You probably won't find this plugin in milestones yet. It is only in the plugin center for daily builds.) Even though the plugin doesn't do anything with server resources, such as JDBC and JPA, one can already see, with the naked eye, that the start up time is significantly improved. I am no expert, but to me it seems like the start up time is already equivalent to Tomcat. Of course, since the various server resources aren't being started up, because they're not supported yet, it is impossible to say how things will be when the final release of GlassFish comes out. However, effectively, GlassFish currently is nothing more than a web server, so one can, to some extent, already compare it to Tomcat, while realizing of course that it is no where near to being stable. FYI, here's a screenshot of what you'll see after registering the technology preview of GlassFish V3, which you can do once you've installed the aforementioned plugin (I don't like the underside of the tabs, among other things, in the IDE below, on Ubuntu Linux 7.04, running on JDK 6 and above, but I've commented on this before):

Now, start up time of GlassFish may or may not be relevant to whether or not NetBeans IDE should continue to bundle Tomcat, but if a full blown application server (i.e., GlassFish) has the same performance as Tomcat, (note that I'm saying "if"), wouldn't the fact that it is performant and more powerful (i.e., no one denies that GlassFish can do far more than Tomcat, it would be silly to deny that, because it is objectively true) wouldn't that mean that GlassFish is objectively BETTER than Tomcat? I'm happy to be shown to be wrong. Just please don't start out by saying that you haven't used GlassFish for a long time. At the very least, pretend you have... :-)
May 18 2007, 11:26:09 AM PDT Permalink
Posted by Ludo on May 18, 2007 at 12:14 PM PDT #
Posted by Daniel Spiewak on May 18, 2007 at 12:25 PM PDT #
Posted by 71.141.248.218 on May 18, 2007 at 12:35 PM PDT #
Daniel, your decision to return so quickly to Tomcat seems odd -- you're comparing a milestone to a released product, which doesn't make sense. Shouldn't you wait for the full release before decising which server to use? As 71.141.248.218 points out, why didn't you file a bug?
Roman, you can't "agree" with me on the replacement of Tomcat by GlassFish V3, because I explicitly never argued that point. Like I aid at the start of the blog entry, I have no opinion on whether Tomcat or GlassFish or both should be bundled with NetBeans IDE. My only points were (1) you should have recent experience of something before commenting on it and (2) if GlassFish becomes as performant as Tomcat, it will be BETTER than Tomcat, because GlassFish already has far more features than Tomcat. Whether or not that means that Tomcat should or should not be bundled with NetBeans IDE is a different discussion, not one that I discussed in this blog entry (and not one on which I have an opinion).
Posted by Geertjan on May 18, 2007 at 12:43 PM PDT #
Posted by Daniel Spiewak on May 18, 2007 at 12:53 PM PDT #
Posted by Roumen on May 18, 2007 at 01:05 PM PDT #
Posted by Alex Baer on May 18, 2007 at 01:09 PM PDT #
Most people only need a servlet container and don't want to be bothered with the complexities of a full application server (I know what I am talking about because in my company I am the only one who uses JBoss and has ever had a look at Glassfish).
"Tomcat is pretty much the de-facto standard." You can safely delete the "pretty much" and replace it with "overwhelming".
How can I ever explain to my (less Tomcat-savvy) colleagues, that a migration to NB 6 requires them to
- Download and install Tomcat manually.
- Create a CATALINA_BASE setup on their own (after learning how to do that).
- Integrate this Tomcat setup manually into the IDE.
Posted by georg on May 18, 2007 at 01:22 PM PDT #
Posted by anjan bacchu on May 18, 2007 at 02:23 PM PDT #
Posted by David Strupl on May 18, 2007 at 02:31 PM PDT #
Posted by afsina on May 18, 2007 at 09:51 PM PDT #
Posted by huntch on May 19, 2007 at 05:25 AM PDT #
Posted by Steven Citron-Pousty on May 19, 2007 at 02:02 PM PDT #
Posted by Steven Citron-Pousty on May 19, 2007 at 02:06 PM PDT #
Posted by Steven Citron-Pousty on May 20, 2007 at 10:44 PM PDT #
Posted by Geertjan on May 21, 2007 at 03:29 AM PDT #
After all it is very simple: if you want to increase your market share, you'd probably want to improve, not reduce the user experience. Using NetBeans as a vehicle to shove a fish into our throats by force will probably only cause antiperistaltic movements...
Posted by georg on May 21, 2007 at 07:08 AM PDT #


