Mini GlassFish Review
Project GlassFish is Sun’s effort to produce a high quality and open source JEE5 application server. It is not a small task. They have hundreds of people working on this project and it will serve as the foundation of their future commercial product.
Reason for my interest is mostly JEE5; GlassFish is one of the very few application servers that fully supports JEE5. I’m mostly a JBoss user, so I also thought it would be interesting to see what the ‘others’ are doing.
I must say that I am very impressed with GlassFish and I’m even considering switching away from JBoss for future projects that I will be doing. Here are some of the reasons:
Easy Setup - Setting up an application server can be a daunting task. Just look at WebSphere or BEA. Not in the case of GlasFish; I downloaded the main jar file, executed the embedded installer and less than two minutes later the server had configured a default instance and I could deploy my first application to it. Excellent.
Open Source - Open source application servers are great; they allow me to figure out how things work inside and to think outside of the box when I need to solve not so standard problems for my clients. Open Source has saved me many times. Understanding the internals of JBoss was a pretty big investment but totally worth the effort. I’ve browsed through the GlassFish code and it is very clean and very well documented so I’m confident that I can do the same here.
Domain Configuration - GlassFish works with domains. Domains allow you to define a configuration for an instance of the application server. If you are hosting multiple independent applications on that nice Sun Fire T2000 server then you can define multiple domains so that each applications lives in a completely seperate application server environment. You can also bind these domains to seperate IP addresses. Creating and managing domains is simple with the supplied ‘asadmin’ command line tool. As an extra bonus, you can also backup and restore a domain. A backup is basically a zip file with the complete domain configuration including the deployed applications. This is awesome for management.
Administration Console - Each domain has it’s own web-based administration console. Through this web site you can inspect and control the domain and the deployed modules (web application, enterprise applications, etc.). You can configure global resources like JMS, Security and Thread Pools. It sounds like nothing special, but it goes way beyond what JBoss offers in their console. You can also setup and inspect monitoring and logging. Monitoring is very extensive and I’ll dive into that later.
GlassFish is still in beta, but I think they are close to a first final release. This is excellent stuff and I can’t wait to try out more complex tests on the T2000 that I got through the try-and-buy program. More updates later!
Created
