JRuby brings Rails applications to Glassfish
It is now possible to deploy Ruby on Rails applications on Glassfish. Utilizing JRuby and its growing support for Rails, Glassfish can now be used as a production platform, allowing a more robust and scalable deployment platform.
Previously, Rails applications were deployed using multiple processes of Mongrel, which required managing all of them, and handling zombie processes. Now, Takai Naoto has detailed the steps to deploying a JRuby on Rails application in Glassfish. Charles Nutter, one of the JRuby leads, describes the benefits of this approach:
The potential here should be obvious. GlassFish, like other Java EE application servers, is extremely good at scaling up many concurrent requests across many independent applications; so good that many organizations deploy only a single appserver-per-machine and stuff it full of applications to serve. That means a single server, a single process to manage. GlassFish also supports clustering, which means you'll be able to hit the deploy button once and have your n-server cluster instantly start serving up Rails. But there's one last area that trumps all the rest:
That single app server can handle as many concurrent requests across as many independent Rails apps as you desire, scaling them across all the CPU cores you can throw at it.
There are some drawbacks to this solution, namely the deployment process. Robert Cooper describes how this loses all the benefits of WAR packaging. He points out that the Java tools are very good and while it is good to have Rails applications running in Glassfish, it should be done in such a way to leverage the existing tools.
WAR-based deployment *will* happen
A bit like PHP in Oracle Application Server
Paul , Technology in Plain English
New screencast showing first JRuby app using NetBeans
This entry also shows how the Rails app can be deployed as WAR on GlassFish.
Todd Montgomery Dec 19, 2014