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.