I attended the JRuby tutorial. Charles Nutter and Thomas Enebo, the lead developers of JRuby who joined Sun about 8 months ago, gave the talk.
The combination talk and demonstration focused on how easy and “real” development and deployment of JRuby based Rails applications is. An important part of the discussion was around the JRuby value proposition, and how the strengths of existing Java and J2EE infrastructure and implementations can benefit Ruby applications and deployments.
- Threading Java threading is mature and stable. JRuby applications inherit the threading capabilities of a Java JVM. I’d like to see what a busy JRuby application looks like on a T2000. I will borrow a T2000 to try this out.
- Native JDBC Java has exhaustive support of database resources that are made available to JRuby applications.
- Deployment There are several interesting mechanisms for deploying JRuby applications to J2EE servers. The GoldSpike mechanism is available now, the Glassfish GEM is emerging.
- GoldSpike (rails-integration): GoldSpike is a java J2EE WAR packaging tool for JRuby, and supports the deployment of JRuby applications on a J2EE compliant application server. Work is most active for this mechanism with Glassfish, but Tomcat is known to work, and other application servers should work. Arun Gupta has a tutorial on deploying JRuby RoR on a GlassFish application server.
- Glassfish GEM: This bridges a typical WAR deployment approach with the Ruby approach, where the JRuby application is deployed into a running application server directory: make your Ruby changes and hit the URL! This is instant JRuby on J2EE server gratification. This is really emerging stuff that is coming along well, but is actually only about 2 weeks along. We will need to watch the Glassfish blogs as well as Charles’s and Thomas’s blogs to keep up with the availability of this mechanism. Since Thomas and Charles are demoing it, it shouldn’t be too long.
- Integration Calling java libraries form JRuby is a lot easier than you might think. I’m sure I’ll be playing with these mechanisms soon. The first thing I’d like to try is integrating JRuby with Adobe Flex Data Services, since Ruby lacks a complete equivalent.
Part of the talk summarized some of emerging Ruby support in NetBeans worth watching, that includes all the IDE automation support Java developers enjoy, such as code completion, context sensitive documentation, and drill-down navigation to method implementations. Brian Leonard is giving a talk on this on Saturday. More information:glassfish, j2ee, java, jruby, railsconf2007, ror