And now, something slightly different
August 28th, 2008Back in May, I was a manager.
I feebly attempted to direct 8 great guys and gals to further the goals of JBoss.org. After the Codehaus, you’d think I’d be able to help build an opensource community with fun and flair. But I came to realize that it’s hard to build a community as an active effort. Instead, I think community develops as a by-product of a useful and well-run project. And that’s under the control of the project leaders and contributors, not necessarily some external third party.
Back in May, I gave up being a manger.
Now, the day after Labor Day, fittingly enough, I’ll be jumping back into the world of JBoss. But not as a manager. When I was burned out and felt like resigning, Mark Proctor and Sacha Labourey instead talked me into taking a sabbatical. And I’m truly grateful to them. Now, after unwinding for a few months, I asked to rejoin the team as an engineer. Through Sacha’s patience and budget manipulation, I’m once again excited to go to work. I think JBoss should definitely be held up as a company that takes care of its people. They could’ve easily given me the boot, but instead they’ve been extremely kind and accommodating.
So, what will I be doing?
After talking to Java developers and Rubyists alike, my first goals are to look at Rails as just-another-way to write J2EE apps (or “JEE” I reckon, these days…). Yes, I know about (and plan to use) things like Warbler and JRuby-Rack. Both are good things.
But I also have full control of the deployment environment, to build a stack to make it happier than “build and deploy a WAR”.
Through the miracle of AS5 built on JBossMicrocontainer, along with the awesome VFS bits, it should be possible to deploy a Rails app in-situ, right from your working directory. There should be no reason to have to build a WAR while you’re hacking a rails app. And deployment to a server should still involve capistrano (in my opinion). Stick to the Rails way of doing things, but make it Java under the covers.
Various blog posts have shown Rails apps on Glassfish in 12, 10, or 5 steps. My goal is to get it down to 1 step. And you should magically be able to pick up and use all the wonderful JEE bits that maps to the Rails functionality the Railers of the world enjoy, without having to be aware of the JEE bits.
Speaking with Mark Newton (the guy who runs JBoss.org now), it seems sensible to view Rails as simply yet-another-programming-model for writing Java apps. The idea is to avoid leaky abstractions, so we’re not having to write some psuedo RubyJava application.
Once we’ve got that base covered, then we can make fun and exciting Ruby bindings to all the powerful JBoss tools, such as Drools, ESB, Cache or MQ.
I expect to have a bit of fun with this. More fun than being a manager, certainly.
August 28th, 2008 at 5:25 pm
Great to have you back working on such an important area - I look forward to seeing the results.
- Rich
August 28th, 2008 at 5:58 pm
[...] Bob McWhirter is coming back - have’t met him but I’ve heard good things about him. He’s going to be working on integration of AS 5 and Ruby - that’s going to be pretty neat. Read more on fnokd! [...]
August 28th, 2008 at 7:39 pm
hi there,
cool! That will be really cool. Giving competition to the sun glassfish/RoR/jruby team! Competition will get the best out of all of us.
As users, we will benefit! When do you expect to have something for alpha/beta users to play around with ? BTW, will JBoss have a mini webcontainer like Glassfish ?
thank you,
BR,
~A
August 29th, 2008 at 6:44 am
Welcome back Bob!
August 29th, 2008 at 2:42 pm
@anjan–
Yah, having multiple people attacking something from multiple angles tends to make everything a little better. No idea on timeframe, but the first order of business it to polish up the EmbeddedAS that Bill Burke worked on a while ago, and use it as a starting point for a Java deployment environment. It’s just a special/magical way to bootstrap the MC with a core set of services.
The code will be available via GitHub pretty soon, as a work-in-progress.
@Dimitris, @Rich, and everyone on thecore@ –
Thanks for the welcome return!
August 30th, 2008 at 2:48 am
Get your fact straight about GlassFish before making false statements about support of Rails applications on GlassFish.
To deploy your pure rails applications on GlassFish v3, all you need is to just say:
asadmin deploy
or just do it Rails style,
jruby -S gem install glassfish
then just run your rails application inside your rails application directory:
jruby -S glassfish_rails .
August 30th, 2008 at 2:53 am
@vivek–
Apologies; I wasn’t trying to knock GlassFish. A slew of blog posts have recently demonstrated more steps to convert a traditional RoR app into a JRoR deployment, involving such things as editing your database.yml to make it JDBC-aware. The exact same is true for deployment on JBoss as this point too, so I’m not claiming any superiority.
But I work for JBoss, so I’m focused on doing it with JBoss stuff.
August 30th, 2008 at 4:00 am
[Re-post with correct WebSite URL]
Ruby applications can be run with GlassFish in “1 step” today, although it depends on the starting point, how one defines “step”, and how far to take it (”Load page in browser” for example).
Option 1) Install NetBeans 6.5 BETA, write your code, and “Run” the app. Ruby apps run in GlassFish v3 Prelude by default. See Arun’s blog: http://weblogs.java.net/blog/arungupta/archive/2008/07/netbeans_65_m1.html
Option 2) With GlassFish v2, run updatetool and select check box next to JRuby. Runs ruby apps with warbler in servlet container.
Option 3) With GlassFish v3 Prelude, run updatetool and select checkbox next to JRuby. Runs JRuby “native” without warbler or servlet container. GlassFish v3 Prelude is currently in early access, so YMMV.
Option 4) Assuming JRuby is already installed: “jruby -S gem install glassfish”.
That’s 4 ways to use JRuby with GlassFish in (essentially) one step.
Hope this helps.
John Clingan
GlassFish Product Manager
August 30th, 2008 at 12:43 pm
@John–
Thanks for the response and examples. I think all the “disagreement” is in the definition of “a step”.
Thinking about the problem from the POV of a traditional rubyist, “install JRuby” and “install an appserver” count as non-trivial steps.
Having seen acts_as_solr do an awesome job of removing a lot of steps by embedding a Jetty-based server and providing rake tasks like solr:start/solr:stop, I’m inspired at what’s possible. With acts_as_solr, rubyists don’t have to know or care that they’re using Java. At all.
That’s awesome.
September 3rd, 2008 at 5:46 pm
[...] Recentemente uma pessoa importante na JBoss retornou para a companhia que é o Bob McWhirter, ele que já foi o cara por trás da CodeHaus e Drools agora vai estar a frente da iniciativa JBoss para Ruby que nem nome tem ainda, mas você pode conferir a carta de retorno do Bob aqui [...]