待望の新バージョン

Ruby on Rails 2.0はとっても“RESTful”

2007/12/12

 Web開発フレームワーク「Ruby on Rails」の待望のバージョン2がリリースされた。

 バージョン2がリリースされたのは12月7日。主要な強化機能としては、REST(Representational State Transfer)のサポート強化と、セキュリティの改善などが挙げられる。

 「Rails 2.0で気に入っているのは、RESTfulの原則を追求してアプリケーション開発が調和的になった点だ」とRuby on Rails作成者デビッド・ハイネマイヤー・ハンソン氏はeWEEKに語った。「これにより、アプリケーション開発が予測可能で、クリーンで、楽しめるものに感じられる。HTTPは常にそれを正しくやっていた。われわれWebアプリケーション開発者がそれを理解し、評価するのに少し時間がかかった」

 ハンソン氏は、米シカゴのWeb製品開発会社37signalsの開発者。同氏はRails 2.0の完成に1年を要したと語る。

 同氏は、4年間Railsフレームワークに取り組んでおり、開発者の中核グループも同じくらいの期間、開発に参加している。その過程で数百人が貢献してくれたという。「今回のリリースは、大規模なオープンソース開発の勝利だ」

 最新リリースには多数の新機能が盛り込まれているが、ハンソン氏は、Rails 2.0の作業の大半はRESTサポートの追加に費やされたと説明する。「RESTfulなライフスタイルにかなりの改良を加えた」

 さらに同氏はこうも語る。「RailsがSOAP(Simple Object Access Protocol)対RESTの議論で片方の側に付いたことは驚かれないだろう。統合のために絶対にSOAPを使わなければならない、というのでなければ、われわれはそうしないことを強く勧める」

 セキュリティ強化も大きな懸念事項だった。

 「セキュアなアプリケーションをより簡単に開発できるようにするのは常に喜ばしいことだ。Rails 2.0では、それをいろいろな面から実現している」とハンソン氏は自身のブログで述べている。「最も重要なのは、CSRF(クロスサイトリクエストフォージェリ)攻撃に対応する内蔵メカニズムを提供していることだ。すべてのフォームとAjaxリクエストに特別なトークンを含めることで、自分のアプリケーションを外部リクエストから防御できる。新しいRails 2.0アプリケーションではこれがすべてデフォルトでオンになる」

 ハンソン氏は、Rails 2.0はまた、開発者のXSS(クロスサイトスクリプティング)攻撃への対処を容易にしているのと同時に、ユーザーがHTMLをページに埋め込めるようにしていると説明する。「HTTPオンリーのcookieサポートを追加した。これはまだすべてのブラウザでサポートされているわけではないが、対応している場合は使える」

 Rails 2.0のAction PackはHTTPとの親和性を高めることを目指していると同氏はいう。「HTTP Basic認証と連係する新モジュールを追加した。これは、SSL経由のAPI認証を実行する素晴らしい方法だと分かっている」

 さらに、Rails 2.0は新しいリクエストプロファイラを備える。「実際に利用した場合のボトルネックがどこにあるのかを見つけ出すのは難しいこともある。だが、利用スクリプト全体を追跡して、その結果を報告できる新しいリクエストプロファイラで、それをずっと容易にした」とハンソン氏はいう。

 同氏は、Railsチームは、以前から軽量だった開発フレームワークを、Active Recordのコンポーネントなどいくつかのものを外すことでさらに軽くしたと語る。RailsのActive Recordは、ビジネスオブジェクトとデータベース表をつないで、ロジックとデータを1つのラッピングで表示できる持続的なドメインモデルを作り出す。

 「Active Recordをもう少し軽くするために、『acts as XYZ』機能を削除して、Rails SVN(サブバージョン)リポジトリの個々のプラグインに入れた。また、すべての商用データベースアダプタをそれぞれのgemに押し込んだ。だから、 Railsはいま、MySQL、SQLite、PostgreSQLのアダプタのみが入った状態で提供されている。これらのデータベースは、われわれが簡単にテストできる」(同氏)

 だからといって、商用データベースが置き去りにされているわけではないと同氏はいう。「むしろ、メインのRailsディストリビューションから独立したリリーススケジュールを自由に設定できるようになった」

 またRails 2.0の新たな点としては、「HTTPでたくさんのファイルをリクエストしなくても、JavaScriptとスタイルシートファイルを論理ユニットで構造化するのがずっと簡単になった」こともあると同氏は語っている。

原文へのリンク

(eWEEK Darryl K. Taft)

情報をお寄せください:

Coding Edge フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

キャリアアップ

- PR -

注目のテーマ

ソリューションFLASH

「ITmedia マーケティング」新着記事

イーロン・マスク氏がユーザーに問いかけた「Vine復活」は良いアイデアか?
イーロン・マスク氏は自身のXアカウントで、ショート動画サービス「Vine」を復活させるべ...

ドコモとサイバーエージェントの共同出資会社がCookie非依存のターゲティング広告配信手法を開発
Prism Partnerは、NTTドコモが提供するファーストパーティデータの活用により、ドコモオ...

「インクルーシブマーケティング」実践のポイントは? ネオマーケティングが支援サービスを提供
ネオマーケティングは、インクルーシブマーケティングの実践に向けたサービスを開始した...