JRuby on GlassFish<sup>TM</sup> アプリケーションを使ってみよう

はじめに

GlassFish は、 JRuby on Rails アプリケーションの配備に非常に適したアプリケーションサーバです。このガイドでは JRuby を用いた簡単な Rails アプリケーションの作成方法、そしてそれを GlassFish アプリケーションサーバに配備する手順を学びます。

JRuby と Rails のインストール

JRuby on Rails アプリケーションの作成にとりかかるには、以下のステップに従って JRuby および Rails のインストールを行う必要があります。その際、最新バージョンの JRuby と Rails を入手するようにすると、バグフィックスされたモジュールや、新しい機能を利用することができます。

  1. JRuby Getting Started Guide の説明に従って JRuby をインストールしましょう。
  2. JRuby のインストールが完了したら、Rails setup on JRuby を参考に、 Rails をインストールしてください。

Hello World アプリケーションの作成

まず、以下のコマンドを実行してアプリケーションの雛形を作成しましょう:

jruby -S rails hello

次に、以下の手順に従ってコントローラとビューを作成します:

1. hello ディレクトリに移動:

cd hello

2. 以下のコマンドを入力し、 hello アプリケーション用のコントローラとデフォルトのビューを作成します:

jruby script/generate controller say hello

以下の手順に従って、コントローラに変数を追加してください:

1. vi などのテキストエディタでコントローラ( say_controller.rb ) を開きます:

vi app/controllers/say_controller.rb

2. コントローラの hello ヘルパ・メソッドに以下のように追記します:

@hello_string = "v3 Gem is getting polished!"

以下の手順に従って @hello_string の値を読み出しましょう:

1. テキストエディタでビューを開きます:

  • Rails 2.1.0 の場合、 vi などのテキストエディタで hello.html.erb を開いてください:
vi app/views/say/hello.html.erb
  • Rails 1.2.6 の場合は、 vi などのテキストエディタで app/views/say/hello.rhtml を開きましょう:
vi app/views/say/hello.rhtml

2. ビューの末尾に以下の文字列を追加してください:

<%= @hello_string %>

Rails 2.1.0 の場合はデータベースを設定

このセクションの手順は、 Rails 2.1.0 を使用している場合のみ実行します。それより前のバージョンの Rails ( 1.2.6 など)を使っている場合、このセクションはスキップしてください。

In the hello sample, you do not need a database, so you should do one of the following two things:

hello サンプルではデータベースを使用しませんので、以下の*どちらか*の設定を行ってください。

  • データベースを使用しないよう Rails を設定する
  1. hello/config/environment.rb ファイルをテキストエディタで開きます。
  2. 以下の通り、 21 行目の先頭のシャープマーク (#) を削除してください。
config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
  • データベースを作成する

hello サンプルでは model を使用しませんが、 Rails 2.1.0 はデータベースが作成されることを前提に動作します。 scaffold の生成後、以下のコマンドを実行してデータベースを作成して下さい。

jruby -S rake db:create

コマンドを実行すると、 hello_development というデータベースが作成されます。

GlassFish gem を用いた Rails アプリケーションの配備と実行

Rails アプリケーションを配備するための最も手早くかつ簡単な方法は、GlassFish gem を使うことでしょう。 GlassFish gem は GlassFish v3 のカーネル、 Grizzly 、およびいくつかのユーティリティのみで構成されているため非常に軽量で、かつ高速に起動します。GlassFish gem をたった一度インストールするだけで、GlassFish 上にアプリケーションを配備し、実行できるようになります。

GlassFish v3 上への Rails アプリケーションの配備と実行

GlassFish gem は堅牢かつ使いやすい配備環境を提供してくれますが、 Rails アプリケーション内で Java<sup>TM</sup> EE の機能を利用したいような場面もあるでしょう。このような場合、アプリケーションを GlassFish v3 サーバ上に直接配備する必要があります。

GlassFish v2 上への Rails アプリケーションの配備と実行

Rails アプリケーションを Web アーカイブ ( WAR ) にまとめて、 GlassFish v2 アプリケーションサーバ上に配備することができます。 Rails アプリケーションの WAR 化には Goldspike を使用します。Goldspike は、 JRuby on Rails および GlassFish v2 UC モジュールとあわせて使用することが可能です。


日本語翻訳: Kana

英文 (翻訳したバージョン: 52)