Sunday, June 10, 2007

Glassfish...Summing it Up

I've been using Glassfish for about a year now and its cousin the Sun Java System Application Server for several years prior to that and have noticed a steady improvement in the product. Some of the nice things about Glassfish include:

1) Support for leading edge technology like EJB 3
2) Nice GUI for administration
3) Price :)
4) Good user community (see link to the right for home page)
5) Support for clustered environments
6) Relative ease of use (due in part to the GUI)
7) Very nice logger...it even has some graphic capability in Log Statistics :)
8) Stability of the actual application server (not necessariliy the admin console...read on) is very good with the later versions like the one tested. In fact, I cannot remember having any problems with and vesion of Glassfish after build 33 with respect to up time during my load tests.

All things considered, Glassfish proves to be a very capable Java application server. There are some things that can be done to make it even better though. First, as with all software of this magnitude, there are a few bugs to be ironed out here and there. The Glassfish community does a good job with this, but a couple items I noticed for this latest build include:

1) Problem with Help Search. Typing in JDBC then clicking Search for example yielded no results.
2) As mentioned in a prior blog post, there are some instances where drop down boxes were not populated...having them deactivated may make more sense.
3) Missing System Properties icon (no biggy obviously)
4) Clicking on Admin Service under Configuration logged me out. This only happened once (the first time) but I am certain it was not due to a time out as I had just clicked on Connector Service before that and received a response. This also happened the first time I clicked on Security->Realms and Connectors.

There are also some things that I would like to see added/changed to Glassfish. Those include:

1) Snap points in logs. What I mean by this is to give the admin the ability to click a button and have the log insert some sort of marker. This is useful when changing setting or running tests. You might give them the ability to add text to the marker. For example: <<<<<<< MARKER: Test new connection Pool >>>>>>>
2) Snap point in configuration with comparison utility. This would allow administrators the ability to roll back changes much more easily and to see what was changed and when it was done. It would also be nice to be able to see performance characteristics tied to these changes. In other words, have the configuration changes add markers that can be seen in the monitors.
3) When running on Windows, there are some Unix specific items that should be greyed out or not displayed. Example: Logging->Write to System Log to use Unix syslog service.
4) The ability to configure email alerting based on application and log level.
5) The ability to tune the application server based on anticipated usage. For example, I noticed in my performance testing that this version of Glassfish produced better results for smaller sized data packets than build 36, but that build produced better results for larger sized packets. That made me wonder if it might be possible to allow tuning at least at the install level. If it could be done at the application level, all the better!
6) Although the help system (aside from the bug I mentioned) is very good, a printed manual that gave detailed information and good real world examples would go a long way in helping the adoption of Glassfish IMHO.

Aside from these wants and minor bugs, when it comes down to the ability of Glassfish to do what it needs to do easily, efficiently, and reliably, I think Duke says it best:

No comments: