Full GlassFish adoption questionaire response from Clarity Accounting's Dobes.
Date: Dec 2008


Can you tell us about the application, site, or service in which you have adopted GlassFish?
Our application is Clarity Accounting - online accounting software for small businesses and self employed professionals.  We're serving the "solo-preneurs", startups, and home-based / internet businesses out there, for example consultants, freelance designers, photographers, tech startups, and e-commerce sites.  The product was born when I switched to freelancing and found out that I wasn't the only one having trouble finding things in QuickBooks, or correcting mistakes caused by misunderstandings of how the data model works.  Our application was thus built with a simple flexible model and plenty of access to information - we put relevant reports on almost every page, next to the data entry fields.  You can see your financial status update each time you enter a new invoice, bill, or payment.  As a SaaS application, customers don't have to worry about IT issues like backups and upgrades, we do the work for them.  As a newcomer, we're offering great free customer support which is a huge benefit compared to the giant companies who charge money to provide support for their lousy application.


How and when did you first find out about GlassFish?
Did you go through an evaluation process before selecting GlassFish? If so, can you tell us a little bit about the process and results?
It wasn't much of a process - my brother had been doing Java EE consulting so I just asked him which one was the best to start with. Some other reasons are better standards compliance with EJB3 (at the time, this may have changed) and a better administration system (web admin interface and asadmin command line tool); you usually don't have to edit any XML configuration files in glassfish if you don't want to. Also Facelets and JSF are better supported by GlassFish at the time.  I'm not using facelets anymore, but glassfish is working for me so I'm sticking with it anyway.


What specific version of GlassFish are you using?
Glassfish v2ur2


On what operating system do you run GlassFish?  Do you use the same OS for both development and production deployment?
In production we use Linux, for development we're running Windows.


On what hardware platform do you run GlassFish?  Do you use the same platform for both development and production deployment?
In production we run on a 3tera AppLogic grid, which uses commodity Intel hardware to create a grid computing environment with hot failover.


Have you purchased a GlassFish subscription? If not, have you though about doing so and do you know it includes access to patches and sustaining releases?
No, I haven't really thought about it.  I suppose I have run into a few quagmires that support might have helped with, like setting up SSL certificates and a bug where glassfish won't come back after a power failure unless I delete a particular lockfile.  The issues I still have outstanding I don't think support can help with much anyway.  I don't feel ready to buy "insurance" on my glassfish right now - I feel self-sufficient enough to take care of the few problems that are popping up.


What specific features or modules of GlassFish are you using?
EJB3, Servlets, and Web Services.


Are you using OpenMQ?
No.


What do you like most about GlassFish?
I like the admin interface, especially the monitoring an logging aspects of it.  When I discovered the monitoring and logging interfaces I was quite delighted.

I find EJB3 and Annotations in general to be very nice.  I'm not sure whether these kudos apply only to glassfish, but it is the reference implementation so it does get credit in a way.

Annotations are an enormous improvement over the XML files of the past, I often feel a pain at the potential usefulness of this new paradigm, waiting to see Java EE as easy and powerful as it really could be.  It's already really good - as good as any of the Python and Ruby frameworks out there - but unlike those other frameworks it is only beginning to reach its potential, whereas other frameworks seem to be reaching their limits.

Also, the I/O performance of glassfish seems to be really good.  In python and PHP I feel nervous about scalability but glassfish already has asynchronous I/O, clustering, and a high-performance JIT to keep it speedy.


What would you most like to see improved in GlassFish?
Glassfish is a great Java EE container, make no mistake, but of course I can find flaws with anything.  If I were to pick just one area to improve it would be monitoring.

The monitoring that is built in is great, but I'd still like to see some improvements there - more visuals, summaries, smart reports, making it easier to identify slow queries and errors.  Perhaps a page with a dashboard showing the current requests per second, active sessions, VM heap size, and other key stats would be great.


Are you using any open source or commercial frameworks or tools in your application?
I'm using Hibernate and Hibernate Search for the database abstraction.  I'm using the Google Web Toolkit for the user interface.


Does your application use a database? If so, which one?
PostgreSQL


 How has GlassFish performed since your application went live?  Have you run into any production issues which you would attribute to GlassFish?
It's done OK.  There was a bug where it wouldn't come back after a power failure, which I've resolved by deleting a particular lockfile on system startup.


How would your describe your participation in the GlassFish project
I've submitted some bug reports.


Is there anything else you think would be of interest in a story about your GlassFish adoption?
Currently, I cannot think of any interesting stories to share.  However, if something comes to mind, I'll let you know.


Thanks for sharing your experiences, Dobes!