Full GlassFish adoption questionaire responses from Jason Lee, Senior Software Engineer at International Environmental Corporation.
Received March 9, 2007.
Can you tell us about the application, site, or service in which you have adopted GlassFish?
International Environmental Corporation's GlassFish deployment is currently an internal-only deployment. Prior to our GlassFish adoption, we had applications spread across a number of servers running Tomcat 4 or Tomcat 5. These applications were, typically, various in-house applications to assist in the manufacturing process, with the customers being, for example, our sales, customer service, order entry personnel. Replacing our Struts-based, Tomcat-hosted external web site is currently in the planning stages. Our goal is to migrate that to a GlassFish- (and hopefully JSF-) based solution.
How and when did you first find out about GlassFish?
We had been using JavaServer Faces 1.1 for some time. As 1.2 began to take public shape, we began evaluating what it offered and what it would take to migrate to the new spec. We had also read a fair amount about what EJB3 offered, especially with regard to JSF. Naturally, during our research, the Java EE 5 Reference Implementation came up, so we began to evaluate that as our platform of choice.
Did you go through an evaluation process before selecting GlassFish? If so, can you tell us a little bit about the process and results?
Our evaluation process really focused on two application servers: GlassFish and JBoss. Given the glaring dearth of many servers that had at least nascent EE 5 support, our options were limited to those two. Of the two, GlassFish had, by far, the most complete EE 5 implementation, so that was a huge factor. We also ran some (admittedly simple) performance comparisons, and found GlassFish to have much better performance. We also looked at the administration consoles of the two app servers, and found there was no competition: GlassFish was hands down better.
What specific version of GlassFish are you using?
In production, we're currently running GlassFish v1 UR 1. On my development box, I run either v1 UR1 p01 or a v2 nightly.
On what operating system do you run GlassFish? Do you use the same OS for both development and production deployment?
We currently develop and deploy on Windows XP.
Have you purchased support for GlassFish? If not, have you thought about doing so?
We have not. To date, we haven't needed any help beyond what the phenomenal GlassFish community has been able to offer.
What specific features or modules of GlassFish are you using?
In no particular order or grouping, we have production apps using: JSF, JMS, JNDI, Session Beans, Web Services/jax-ws, resource injection.
What do you like most about GlassFish?
The admin console was one of the first things to grab our eyes, and has continued to hold it. We're not afraid of editing text files (most of us have Unix backgrounds), but the GUI makes changes quick, easy, and safe, which is important as we have several people with access to it. As I noted earlier, we've also been extremely pleased with the GlassFish community. Having access not only to the sharp user base but also to the GlassFish developers has been a real boon to us as we solidify our understanding of both GlassFish and Java EE 5. With over a year in production, GlassFish has proven to be fast, stable and reliable, and it just keeps getting better.
What would you most like to see improved in GlassFish?
The only complaint that comes to mind (slow tree refreshing in the admin console when, for example, modifying JDBC connection pools) has already been addressed with the introduction of the admin console in v2. Clustering has also been on our list since we put v1 in production, but the upcoming v2 FCS will fix that for us as well.
Are you using any open source or commercial frameworks or tools in your application?
All of our applications use JavaServer Faces 1.2 (the RI, of course) and Facelets. While we're moving toward more and more EJB3 usage, we still have a little bit of Spring still in production, and often use it when a legacy database makes JPA difficult or impossible.
Does your application use a database? If so, which one?
We have a mix of databases in production, including PostgreSQL, Oracle, iSeries DB/2, and MySQL, though all new development is targeted for PostgreSQL.
Are there any figures about the scale of your adoption which you would like to share?
Our scale is pretty small. We have one server hosting about 41 different applications. Once v2 ships, we'll look more closely at clustering the servers.
How has GlassFish performed since your application went live? Have you run into any production issues which you would attribute to GlassFish?
GlassFish has performed very well for us. When we first went live, we had issues with PermGen space, but we've been able to manage that by increasing the PermGen space via system properties as well as by reducing the amount of redeploys on the production server. We've not had that issue, though, for probably nine months.
How would your describe your participation in the GlassFish project?
I (Jason Lee) am a committer on the JSF RI, so, I'm told, that makes me a GlassFish developer of sorts.
Is there anything else you think would be of interest in a story about your GlassFish adoption?
As a small shop, we have the capability of moving pretty aggressively on new technologies, which we did with GlassFish and EE 5, putting the server in production sometime in March before EE 5's official announcement at JavaOne that year, such is our confidence in the platform.