JRuby-Rack

PythonでいうところのWSGIのRuby版というべき、アプリケーション(ウェブ)サーバとウェブアプリのインターフェイス抽象化ライブラリ”rack”
このrackは仕様にそったAPIでアプリをつくれば、アプリケーションサーバにかかわらず、アプリを動作させることができるというもの。
そのrackをJRubyから使えるようにした”JRuby-Rack”が先日リリースされました。このJRuby-Rackはその名の通り、rackの機能を提供するもので、rackコンパチブルなアプリケーションをjavaアプリケーションサーバ上にて動作させることができるものです。つまりこのライブラリをつかえば、Railsだけではなく、近ごろ話題のMerbやRamazeなどもglassfish上などで動作させることが可能になります。
ダウンロードはこちらから。またwarblerの新バージョンにもバンドルされています。
またJRuby-rackだけの機能として、
- サーブレット・フィルター
ダイナミックなリクエストのみアプリケーションサーバで処理される - GoldSpike互換サーブレット
GoldSpikeと同様の設定が可能 - Servlet/JSPとの統合
Servlet/JSP<=>Rubyアプリ相互の呼び出しが可能 - JRuby ランタイム管理
ランタイムのプールやダイナミックな変更(Rails)に対応。
Servlet/JSPとの統合では、たとえば
<jruby-rack:rails path="/projects/activity" params="layout=none"/>
とすることで、RailsにJSPからパラメータが渡せる。
ついにRails以外のフレームワークでも簡単にJavaアプリケーションサーバで動作させることができるようになりました。これでパフォーマンス面で問題になることがあるRubyの1つの助けになるかもしれません。
2008/05/20 by Tomo Nozawa
« Project Fuji | メイン | Lohas Design Awards »