Why I am Excited about JRuby

The JRuby team just released the 1.0 version of the library.  Having played with Ruby before and Ruby On Rails before, this is an awesome step forward for using Ruby within the enterprise.  Now I can build Ruby On Rails applications that can easily interact with other JEE systems and services.  I can leverage some of rapid development properties of Ruby while leveraging the benefits of JEE for many server side processes.

As a contrast, at HMS, we have a legacy application that was written in Perl about five years ago that we would like to interact with a JEE application.  The application is the classic case of a prototype being built using a scripting language that made its way into production and never left.  Now, we are stuck maintaining it, but all of our other systems are in Java and we need to integrate this Perl application with them.

For performance reasons, protocols that involve XML over HTTP (e.g. XML-RPC or SOAP) are out of the question.  So our options are pretty limited.  We can use Inline::Java and connect over RMI (small community and some interesting JVM issues as we increase the number of Perl processes), we can embed CORBA into our Perl application (I love IDL), or we can write our own wire protocol (all of the pain of CORBA with none of the functionality).

Consider if we had written in JRuby.  Since it is running in a JVM, breaking out directly to Java is trivial.  So I can easily build out my prototype application and if it turns out that I need to extend the application lifetime, I can easily integrate it into my enterprise architecture.