GlassFish @ JavaOne
By Nazrul on May 17, 2007
There was a lot of awareness about GlassFish this year. During the Sun General Session, Rich Green announced that Ericsson is contributing their SIP Servlet container to the GlassFish community. GlassFish Day was well attended. I spent most of my time talking to customers, partners and developers at the GlassFish booth this year. With over 2.5 million downloads, GlassFish community is growing rapidly. Just in case you missed the event, here is a GlassFish booth conversation re-created...[If you had more questions, please feel free to leave comments.]
Q: I am familiar with XYZ application server. Why should I look at GlassFish?
GlassFish V2 is a production-ready Java EE 5 application server currently in beta. Apart from being Java EE 5 compliant, it includes support for EJB 3.0, JPA, JSF 1.2, JSP 2.1, Servlet 2.5, JAX-WS 2.1, and JAXB 2.1 technologies. Some of the new features in V2 are clustering (screencast, blog), high availability (screencast), and load balancing (GF page, blog) to support highly scalable, volume enterprise deployments for service-oriented architecture (SOA) and Web 2.0 applications. GlassFish web services stack is one of the best (comparison matrix) in the industry. Microsoft interoperability with Web Services Interoperability Technology (WSIT) comes with GlassFish V2. GlassFish administration console offers one of the best user experience in the industry. One can manage the whole domain (multiple clusters spanning different machines) from the same console. Support for next-generation Web with Ajax, scripting, and RESTful web services is also available. While NetBeans IDE offers the best integration for Java EE 5 and GlassFish, Eclipse (MyEclipse, free) and Intellij plugins are also available. GlassFish community (users@GF alias, forum) is very active. We also have IRC chat for GlassFish. Full release of GlassFish V2 is planned for the Fall 2007.
Q: Wow! The administration console is really nice. Is it available in the open source version [GlassFish]?
Yes, GlassFish administration console comes with the free open source version. GlassFish also has a sophisticated command line interface (blog) if you are interested to script things. You may also use ANT to integrate with your development environment.
Q: How about performance? Does it scale? Have you done any benchmark analysis?
Yes, we have done a lot of performance work lately. The web services stack scales very nicely. We use a NIO based connector called Grizzly€� on the HTTP path, that scales very well. On the HTTP path, you may use the software loadbalancer that comes with GlassFish for free or you may use your favorite hardware loadbalancer (Sun, F5) to scale horizontally. Both IIOP and JMS (blogs) paths support clustering also. GlassFish is the first and only open source application server to submit SpecJAppServer benchmark results. GlassFish V2 numbers are also looking very good.
Q: Is anyone using GlassFish in production yet?
Yes, we are collecting GlassFish adoption stories in a group blog called stories�. Sun who initially donated the code base for GlassFish takes the sources and productize it under the name Java Enterprise System with other middleware software from Sun. It is a yearly subscription-based services model. Currently, there are about 1.5 million subscribers of Java ES.
Q: Have you done any feature comparison with other application servers?
Q: Do you [GlassFish] have any documentation?
Q: I heard GlassFish is a reference implementation for Java EE 5. Is it really production quality?
Yes. Since Sun leads the Java EE specification, we also produce an reference implementation (RI). The RI now also comes from GlassFish community. Since the implementation is production quality, we are seeing many vendors using the implementation. For example, BEA WebLogic Server 10.0, Tmax Soft's JEUS 6, Sun's JDK uses GlassFish web services stack (blog). The list for JAXB is longer, also including JBoss, Geronimo, Celtix, XFire. Jetty 6.1.0 uses Grizzly (blog). On the other hand, GlassFish uses TopLink Essentials for JPA. Open source really works!
Q: I have an application where I would like to bundle GlassFish? Is it free for distribution?
Yes, GlassFish is open source and free. We use General Public License (GPLv2 with ClassPath Exception) and Common development and Distribution License (CDDL). Refer to the licensing terms (blog) for details.
Q: What is the difference between GlassFish and Sun's distribution?
Very little. There is a High Availability Database (HADB) tier and NSS (security) that are not open source. HADB offers 5-9s availability. For most people, in-memory replication that is currently available in GlassFish V2 is good enough. In-memory replication is very easy to setup with almost zero configuration. HADB is heavier. If you are interested in HADB, you may use it from sun.com page. It is also free!
Q: Is it [GlassFish] really free? How do you make money?
Yes, GlassFish is free and open source. We expect people to get support for real world deployments. If you are interested in only application server, you may buy support from here. If you are thinking of using multiple softwares from Sun (since it is free), you may want to consider the Java ES subscription model. If you are interested in Java EE training and certification from Sun, go here.
Q: When is GlassFish V3 going to be available?
We are currently fixing bugs for V2 and beginning to work on V3. What you have seen during keynote at JavaOne is available for you to download and play with as a technology preview. You will see more on GlassFish V3 during next year's JavaOne. Stay tuned! You may join GlassFish community at glassfish.java.net. If you run into any issues while trying GlassFish, let us know (firstname.lastname@example.org). We will help.