adam bien's blog

Why you (developer) will like Glassfish v2 - 10 1/2 reasons 📎

  1. The installation is easy and fast ( jar -Xmx256m glassfish…  + ant -f setup.xml) or just download it with e.g. Netbeans 6.0b2 - then no additional steps are required.
  2. Glassfish can be easily administered from commandline (launch asadmin.bat), XML-configuration, partially Netbeans (the services tab), and slick webapp ( http://localhost:4848)
  3. Glassfish allows autodeployment: just copy the ears, wars, ejb-jars into one folder (e.g. domains/domain1/autodeploy), as well as JMX deployment (used by the IDE).
  4. The mailing lists are responsive. You get in general feedback in hours (if not in minutes). Especially important is the persistence@glassfish.dev.java.net (persistence is the most complicated part of the Java EE 5). So you get a good base support for free (commercial support is available as well).
  5. Debugging and even profiling (threads, memory, performance) is really easy and e.g. built-in in netbeans 6.0b2 (right mouse click, profile)
  6. Glassfish is surprisingly well documented. Most of the docs are available in PDF as well. The answers for more detailed questions (clustering, caching, mod_jk integration etc) are available in blogs.
  7. The buit-in monitoring capabilities are useful. E.g. the callflow visualizes the call hierarchy of Servlets, Session Beans (also nested) etc.
  8. (The performance, scalability are good as well) - this feature isn't so important for developers :-)
  9. You can set all JVM-parameters (-Xmx), logging etc. using the admin console. The administration is easy: e.g. you can create a JMS Destination or JDBC-Datasource with only few clicks.
  10. Project WSIT makes Glassfish interesting for all interoperability projects with .NET.
  11. Glassfish is lean: no strange and proprietary ant tasks, annotations, XML-deployment descriptors etc. for the development and deployment of Java EE 5 applications are needed.
  12. I use Glassfish since early V1. It improves continually. The V2 seems to be solid. Dependency injection, especially overwriting the annotations with XML etc., Interceptors etc. work really well (just no issues). Until now I hadn't had any problems with EJB 3 layer (WebServices, Session Beans, Stateful Beans, Interceptors) - in fact I use Glassfish to reproduce issues with other commercial servers as well :-).  The persistence is also solid- in more complicated applications it is hard to say whether it is a JPA' or application's problem. However there were no show-stopper so far. I even use GlassfishV2 for controlling the heating - and we have hard winters in Germany :-). I will opensource the application soon (Project GreenFire) and present it at the oop conference 2008 in munich.