RailsではなくJRuby on Railsを選ぶ理由とは?
Sun Tech Days 2008 in Tokyoでは「なぜJRubyを使うのか」を中心に据えたセッションが行われた。このセッションでは、JRuby on Railsの利用に3つのメリットがあることが説明された。
12月2日から4日の3日間、東京ミッドタウン・ホールにおいてサン・マイクロシステムズの主催による「Sun Tech Days 2008 in Tokyo」が開催された。本稿では、2日目に行われたテクニカルセッションより、JRuby on Railsの特徴や利点を紹介した「(J)Ruby and Rails」の様子をレポートする。講演者は同社システム技術統括本部の野澤智氏だ。
なぜ「J」Ruby on Railsなのか
セッションの前半では、RubyおよびRuby on Railsに関する基本的な特徴や開発手順の紹介、実際にRailsを用いてアプリケーションを開発するデモなどが行われた。開発手順を紹介しながら実際に動作するウェブアプリケーションを作ってしまえる手軽さはRailsならではといえる。
興味深かったのは「なぜJRubyを使うのか」というテーマが中心となった後半部分だ。JRubyは言わずと知れたRuby仕様のJavaによる実装であり、野澤氏はその強みとして次の特徴を挙げている。
さらに、JRuby上でRailsを使う「JRuby on Rails」のメリットとしては次の項目を挙げている。
- アプリケーションをWAR化してデプロイ可能
- JPA、JTA、JMS、EJB、JDBC、JMXなど、強力なJavaライブラリを利用可能
- コンテナとしてGlassFishを利用可能(GlassFish Gem)
野澤智氏
Railsは2.2.xよりスレッドセーフになったが、グリーンスレッドであるためRubyインタプリタで動作させる場合には単一のネイティブスレッドとして扱われる。それに対してJVM上で動作するJRuby on Railsはネイティブスレッドに対応するため、スレッドを活用することでより高いパフォーマンスを得ることが可能となる。
そのほか、JDBCコネクションプールやJNDI Lookupなどを利用できる点も大きなメリットだと野澤氏は指摘している。コネクションプールなどはRubyでもサポートされているが、JDBCの方がよりセキュアだという。
デプロイメントの面では、JRuby on RailsではWarblerや前述のGlassFishが使用されることが一般的だそうだ。WarblerはRailsアプリケーションからWARファイルを自動生成するライブラリ。WAR化してしまえばどんなJavaアプリケーションサーバでも動作させられるため、デプロイできるターゲットは大幅に広がる。
GlassFishについては、GlassFish v3をコンテナとして使用するGlassFish Gemが公開されており、軽量かつ高速なGlassFish v3に対して非常に簡単にRailsアプリケーションをデプロイすることが可能だ。さらに、この方法ならばGlassFish v3上でJ2EEアプリケーションと混在させることができる。また、ホットデプロイやデータベースコネクションプーリング、クラスタリングなどの機能が利用できるなどのメリットもあると野澤氏は言う。
セッションでは実際にGlassFish Gemを利用してGlassFish v3上に作成したRailsアプリケーションをデプロイするデモも行われた。
Ruby on Railsは手軽にウェブアプリケーションを開発できるという点で非常に優れたフレームワークだが、一方で大規模アプリケーションへの適用となるとパフォーマンスやスケーラビリティ、セキュリティなどの面で不安の声が上がる。JRuby on RailsはRailsとJavaの利点をうまく融合させるための賢い選択肢と言えるだろう。
- 2人の推薦記事
- 0人がクリップ
-
ソーシャルブックマーク(-)
- トラックバック(1)
-
- タグ
- クラスタリング
- JTA
- スレッドセーフ
- JDBC
- JMS
- コンテナ
- デプロイ
- インタプリタ
- データベース
- Java
- Ruby
- Ruby on Rails
- Ruby on Rails 2.2
- Ruby on Rails 2.2.x
- コネクションプール
- 大規模アプリケーション
- データベースコネクションプーリング
- JDBCコネクションプール
- セキュア
- ホットデプロイ
- J2EEアプリケーション
- コネクションプーリング
- Javaアプリケーションサーバ
- WARファイル
- JNDI Lookup
- Warbler
- MRI
- Java実装
- Ruby実装
- Rubyインタプリタ
- グリーンスレッド
- GlassFish Gem
- WAR
- ネイティブスレッド
- 開発手順
- 野澤智
- Javaライブラリ
- デプロイメント
- GlassFish v3
- 東京ミッドタウン
- Sun Tech Days
- Sun Tech Days 2008
- Sun Tech Days 2008 in Tokyo
- サン・マイクロシステムズ
- テクニカルセッション
- 高速
- 手順
- メリット
- 機能
- 開発
- コメント(1件)
- 3日前のトップ記事
- 4日前
- 5日前
- 6日前
- 7日前
- ホワイトペーパー
- 話題のタグ
#1 tomita
- 2008/12/09 18:58
MS運営のオープンソース開発プロジェクト支援サイト「CodePlex」を探検する(2)
Snow LeopardではNTFSをサポート--その源流を訪ねる(1)
フォトレポート:「Windows Server 2008 R2」--あまり知られていない有用な機能10選
マイクロソフト、「Office 2010」ベータ版を開発者向けにリリース
100万円で実現!中小企業の情報漏えい対策
企業ITシステムの企画、構築、運用のイロハ
電力に"ふた"をする独自の省エネ機能とは!?
【最終警告】パンデミック対策特集
大丈夫?あなたの会社のセキュリティ対策
―エン・ジャパン厳選求人☆毎週更新―
高まるiSCSIストレージへの注目度