Full GlassFish Adoption Questionnaire by JotBot's James Britt
May 2009


Can you tell us about the application, site, or service in which you have adopted GlassFish?
The application is called JotBot.  It is a cross-platform desktop application for tracking time. It was written using JRuby + Swing + Monkeybars.  (Monkeybars is a library for providing a layer of MVC over the use of Swing to ease development, testing, and maintenance.)

My company is called Neurogami.  We offer JotBot for download from www.getjotbot.com.  It's free to use for 30 days.  Full-time usage costs $25.00.  To run the program you need a license key. 30-day trial keys are free, while full license keys may be purchased from store.neurogami.com

Both forms of keys are managed by the same server process.  When a key is requested, a call is made to a key server running on getjotbot.com, which generates a unique key, stores key and user info in a database, and  E-mails the key to the user.

This server is written using Ramaze, an elegant Ruby Web framework (ramaze.net). It's running under JRuby in GlassFish.


How and when did you first find out about GlassFish?
I am frequently on the #jruby IRC channel on Freenode, and that is probable where I first heard about GlassFish.  I think I first learned of it a year ago.


Did you go through an evaluation process before selecting GlassFish?
The decision process was pretty straightforward. The application was using Java encryption libraries, so it had to run using JRuby. One option was to run it straight from jruby-rack, with an Apache front end and proxying.  The other was to bundle it up as a .war file and serve it through an app server.  GlassFish looked to offer better deployments and management.  It was easy to set up in my development environment, and offered by hosting companies.


What specific version of GlassFish are you using?
Sun Java System Application Server 9.1_02 (build b04-fcs)


On what operating system do you run GlassFish?  Do you use the same OS for both development and production deployment?
The production site is a VPS hosted on eApps, with CentOS 5 as the OS. Development is done on Kubuntu 8.04.


On what hardware platform do you run GlassFish?  Do you use the same platform for both development and production deployment?
I don't know the details of the server used by the hosting company. (I looked around the account site, but found no info about that.)


Have you purchased a GlassFish subscription?
I've not purchased a GlassFish subscription.  The hosting service looks after GlassFish upgrades.


What specific features or modules of GlassFish are you using?
I have a single Web application, plus four virtual servers for various domains serving up static pages.  One of those domains also connects to the Web application.


Are you using OpenMQ?
No.


What do you like most about GlassFish?
The dashboard is usually pretty good for getting and setting basic information. Even better, there seem to be enough command-line tools for what I need as well.


What would you most like to see improved in GlassFish?
Hard to say.  I had some issues as I learned how to manage various features in GlassFish, but now that I've had my sites running for a while I don't think about it much.

The dashboard still strikes me as a little over complicated; it isn't clear how different sections interconnect.  Perhaps better docs or online help is needed.


Are you using any open source or commercial frameworks or tools in your application?
All the (J)Ruby code is written with open source software.  The code runs under JRuby; the Web application uses Ramaze, with Sequel as the ORM talking to MySQL.  The screens for the JotBot application itself were made using NetBeans, and the program was built using Monkeybars. JotBot stores its data using the H2 database via the Sequel ORM.


Does your application use a database? If so, which one?
JotBot uses H2; the key-server Web application uses MySQL.


Are there any figures about the scale of your adoption which you would like to share ?
There is one server; traffic is fairly light right now pending some serious advertising.

The application took about 8 months to develop; exact figures are impossible since it was done more or less in the background by one to three people, first by Happy Camper Studios, and now by Neurogami.


How has GlassFish performed since your application went live?
At first, GlassFish would routinely have memory issues, and stop processing requests.

Some configuration tweaking fixed that.  I also had initial trouble redeploying the key server application; configuration settings would get lost each time I redeployed a war file.  Or the server would die.

I'm still not sure where the trouble was (possibly it was because of how warbler was building the war file, or because I don't know how to correctly define a deployment descriptor), but I now deploy via the command line, shelled into the  sever, which allows me to specify directly important configuration options.

What's essential for me is that I spend my time doing development, not sysadmin work, so I settle for a working solution.   I've had no trouble for a few months now, and redeploy using simple scripts.


How would your describe your participation in the GlassFish project ?
User only.


Is there anything else you think would be of interest in a story about your GlassFish adoption?
The JRuby community has been outstanding.  There are many people all sorting out similar issues, so asking about warbler, war files, GlassFish, and so on, helped immensely.

There's a pioneer spirit, and that makes it more fun for everyone.