JRuby on Rails on Glassfish - code camp (I)
We were running a JRuby on Rails on Glassfish code camp last week. We have presentaed and practiced a development environment of Glassfish V3 Prelude, running inside a VirtualBox, which is freely available for all popular desktop platforms. The guest OS we used inside the VirtualBox was OpenSolaris 11/08. People were installing VirtualBox on their laptops, copied a virtual disk image file which we have prepared, and running some examples and exercises.
My main takes from the code camp were -
-
Glassfish has many benefits for developers (and of course as a deployment application server) – for development, it has a tight integration with Netbeans. Netbeans also has an excellent integration with databases like Mysql, so you really do not need to leave the IDE – controlling Glassfish and Mysql can be very easily done from within Netbeans. It also has a very convenient debugger for JRuby. Ruby/Rails profilers like NewRelic supports Glassfish, and there are also the Java built in profiling capabilities (jconsole, jstat, jmap, jinfo, etc.). Deployment is easy, either from Netbeans, or from the GUI (web based) or command line (Glassfish asadmin capabilities are among the best built command line interfaces I have experienced).
-
DTrace capabilities in Solaris/OpenSolaris has been widely discussed before, but are continuing to charm (yes, I think this is the appropriate word) developers. Its ability to observe system wide activities, including all end to end high and low level activities, is unique. Its extendability (based on USDT probes), enables new environments and user application to easily and quickly implement new probes. In our code camp scope, we have been showing the capability to trace the whole flow with DTrace – from the DTrace instrumented Javascript engine in Firefox 3.0, to the Solaris DTrace instrumented Ruby (C Ruby, even from Netbeans you can switch between Ruby environments), or Java 6.0 with its built-in DTrace support, to the back-end DB, Mysql, which is easily DTraceable (see here), and Mysql 6.0 will even bring its own built in DTrace probes. Developers of high level environments like Rails are sometimes so detached from what's going on behind the scenes - DTrace can provide the complete picture.
-
Ruby On Rails is, not all about, but to a large extent about a quick starting of end to end web application development. Starting from a ready to run virtual disk image, which contains all the components and can be run under almost any OS, is well appreciated by developers. You save downloading (except the image itself) and installation (except the trivial VirtualBox installation). I will try to put our ready image (with Mysql automatically running, Glassfish V3 integrated with Netbeans 6.5, Jruby, Dtrace instrumented Ruby 1.8) on the web and refer to it in my next post. Stay tuned...