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件)
- ホワイトペーパー
- 企画特集
- 話題のタグ
#1 tomita
- 2008/12/09 18:58
SQLite対応アプリのデータベースファイルを閲覧する
グーグル、「Google Buzz」を発表--Gmailのソーシャル機能を強化
「H.264」ストリーミングのロイヤリティ無料期間が延長
マイクロソフト、「Office 2010」のRC版をリリース
事例 VMwareでデータセンターをクラウド化
御社はまだフリーの転送サービスですか?
仮想化をダメにするストレージの実態
通販サイトのアクセス集中からの危機を救う
身近な業務をCRMが変革!
経営統合後の事業損益構造の見える化を実現
レガシーアプリケーションの稼働どうしてる?
DBのパフォーマンスに困ってませんか?
新しい視点のレンタルサーバが誕生!
仮想環境のバックアップは難しいのか
利用者の理想を追求した最新レンタルサーバ
Xbox Live インディーズゲーム開発の軌跡
アプリケーション仮想化 3つの課題
アンケートから見るセキュリティ対策の実態