Michael Guterl wrote:
I have had a hard time keeping track of the different deployment options for
deployment of Rails applications on JRuby. I try following all of your
blogs but I'm not sure what is the recommended setup. I'm familiar with
mongrel from MRI, however, I'm not a Java guy. When it comes down to
Tomcat, GlassFish, etc. what are my best (from performance to simplicity)
options? What are the best options for packaging my applications for
deployment to these application servers? I have seen mention of goldspike
and warbler but I am not sure which I should be using.
To be honest, I'm as confused as you are. There's a massive simplification that needs to happen somewhere. Warbler has helped a lot though, and it's being used internally by Sun to package Rails apps as WAR files. I'd expect the Warbler approach is most people will want to follow in the future.
What we really need is this kind of feedback, to smack the GoldSpike and Warbler people around and let them know "this is getting too complicated". You should pass that along on the JRuby or JRuby-Extras mailing lists (and if you have any ideas, you should offer them...even if you don't think you're qualified. The "Java way" is very often the wrong way.)
Like I said earlier, I'm not a Java guy but my interest has grown since
seeing JRuby come to life. Here are some other questions from someone
lacking Java experience/knowledge.
1. Specific areas that Java can handle that MRI currently has no solution
for, libraries, interesting tricks, etc...
That would be a good list to have; it's just hard to assemble because of the massive number of such areas. GUI development has really captured a lot of attention in JRuby recently, since Swing is a great low-level API and Ruby is a gerat high-level language. The two together make GUI programming almost fun. Others might include Java's better support for XML manipulation, remote services, garbage collection/memory management, and arguably an easier language for writing extensions.
2. This has more to do with Java and less to do with JRuby, but what are
some good resources for learning Java?
For learning the language, probably the Deitel books, "Core Java", and a few others. It's been a long time since I had to learn Java, so I'm not a great reference here.
If you're planning to primarily use Ruby on the JVM, you can generally get by with just the documentation associated with various class libraries, starting with Java's own libraries here:
http://java.sun.com/j2se/1.5.0/docs/api/index.html
Like I say, it's an extensive collection, even in just the base distribution of Java. And all those libraries are usable in JRuby with normal Ruby code.
3. What about JRuby internals? There is
http://eigenclass.org/hiki.rb?ruby+internals+guide for MRI. I'm sure
something like this would be useful for educating people interested in
contributing to JRuby.
There's one article on the JRuby wiki...I've intended to write more but haven't had a chance yet:
http://www.headius.com/jrubywiki/index.php/JRuby_Internal_Design
I'd be interested in hearing what specific areas of this need to be expanded on. In general, JRuby's internal design isn't very complicated, especially if you exclude parsing and compilation. The interpreter's pretty straightforward and the core class impls are easy to follow.
I have been watching the progress of JRuby over the past few months and I am
extremely impressed. You guys are making amazing progress!
Thank you It's been a long hard process, but we're finally starting to meet many of our longer-term goals.
- Charlie