Java/GrailsのWebアプリを
無料クラウド環境で動かす


【特集】Ruby on Railsも動かせる「Morph AppSpace」とは?

株式会社 クロノス
奥 清隆
2008/9/18


Grailsアプリケーションの環境設定とデプロイ

 Morph AppSpaceにはGrailsで作成したアプリケーションもデプロイ可能です。ここからは、Grailsアプリケーションの詳細な作成方法については触れませんが、GrailsアプリケーションをMorph AppSpaceへデプロイするまでを紹介します。

コラム 「GroovyのRails? Grailsとは?」

Grailsは、Java VM上で動作するスクリプト言語「Groovy」によって作られたWebアプリケーションフレームワークです。Grailsはその名のとおり、G(Groovy)のrailsで、Ruby on Railsに影響されて作られたRuby on Railsライクなフレームワークです。


Grailsアプリケーションの環境設定

 Grailsアプリケーションの場合も環境設定はJavaアプリケーションと同様に、Morph AppSpaceのコントロールパネル上で設定してください。新しい環境設定を作成する場合は、コントロールパネル上の[+ New Subscription]のリンクをクリックして作成します。

図7 アプリケーション定義の追加
図7 アプリケーション定義の追加

データベースの設定

 そのほか、データベースの作成手順も同様です。Grailsアプリケーション側の設定は、以下の2点になります。

  • DataSource.groovyの修正
  • テンプレートweb.xmlの修正

 Grailsアプリケーションを作成したら、grails-app/confディレクトリ下にあるDataSource.groovyファイルをMorph AppSpace上のデータベースに接続するように修正します。

dataSource {
    pooled = true
}

hibernate {
    cache.use_second_level_cache=true
    cache.use_query_cache=true
    cache.provider_class
        ='com.opensymphony.oscache.hibernate.OSCacheProvider'
}

// environment specific settings
environments {
    development {
        dataSource {
            dbCreate
                = "create-drop" //one of'create','create-drop','update'
            url = "jdbc:hsqldb:mem:devDB"
        }
    }
    test {
        dataSource {
            dbCreate = "update"
            url = "jdbc:hsqldb:mem:testDb"
        }
    }
    production {
        dataSource {
            dbCreate = "update"
            driverClassName = "com.mysql.jdbc.Driver"
            dialect = "org.hibernate.dialect.MySQLDialect"
            username = "ユーザー名"
            password = "パスワード"
            url = "jdbc:mysql://ホスト名/データベース名"
        }

    }
}

 「production」の括弧内が、Morph AppSpace上のデータベース接続設定になります。Morph AppSpaceへは、「production」モードでデプロイするとして、ほかのモードに関しては修正していません。

 次に、テンプレートのweb.xmlを修正します。以下のコマンドをアプリケーションのディレクトリ上で実行してテンプレートをインストールします。

grails install-templates

 テンプレートをインストールしたら、「src/templates/war」ディレクトリにあるweb.xmlに、以下のようにデータソースを参照する設定を追記してください。

  <resource-ref>
    <description>Morphlabs Datasource</description>
    <res-ref-name>jdbc/morph-ds</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>

Grailsアプリケーションのデプロイ

 GrailsアプリケーションもWARファイルにしてデプロイします。以下のコマンドを実行して「production」モードのWARファイルを作成します。

grails prod war

 WARファイルを作成したら、後はJavaアプリケーションと同様の方法でMorph AppSpaceにデプロイできます。

無料でインフラを利用してWebアプリを世界に公開しよう

 本稿では、Morph AppSpaceというクラウド環境をJavaアプリケーションとGrailsアプリケーションで利用する方法を紹介しましたが、いかがでしたでしょうか。

 クラウド環境は「システム管理者にとっても、システムの維持管理コストを抑えられるというメリットがあるのではないか」と筆者は思います。開発者/プログラマーには、「クラウド環境を利用する」といっても、イメージしにくいかもしれませんが、アプリケーションの設定を少し変更するくらいの作業で、Morph AppSpaceのインフラを利用してアプリケーションを世界に公開できます。

 Morph AppSpaceには、本稿で紹介し切れなかったさまざまな機能があります。一度、自作したアプリケーションなどをMorph AppSpaceにデプロイしてクラウド環境に触れてみてはいかがでしょうか。

@IT関連記事


Twitterやクラウドへも分岐するAjax/Web APIの道
Ajax うきうき Watch(29) 芸能人も参加中のGoogleマイマップEXPO、日本語化するTwitter、クラウドコンピューティング、もうすぐ始まるIE 7への自動更新など全8トピック
リッチクライアント & 帳票」フ ォーラム 2008/1/23
Google App EngineはAjaxへのハードルを下げるか?
Ajax うきうき Watch(32) Ajaxに挑戦するなら、自由にプログラミングできるサーバ環境が必須。Google App Engineは、そんなハードルを取り払ってくれるはずです……
リッチクライアント & 帳票」フ ォーラム 2008/4/24
Google App Engineは20%プロジェクトから生まれた
Google Developer Day 2008特集(2) プロダクトマネージャーに聞く、App Engineの成り立ちと現状、ビジネス、Amazon EC2との違い、そして日本人への期待
リッチクライアント & 帳票」フ ォーラム 2008/6/24
Groovyに触ってみよう
developerWorks Java言語の厳格さや懐の深さとは対照的に、使いやすさと利便性、小回りの良さを武器にしたJavaプラットフォーム上の新言語が登場した
Java Solution」フォーラム 2004/9/25
Project Zeroでスクリプト+Ajaxのアジャイル開発
CoolなEclipseプラグイン(19) 
次世代動的Webアプリのアジャイル開発にフォーカスしているIBMの新プロジェクト。そのJava版では一体どんなことができるのだろうか?

Java Solution」フォーラム 2007/8/16

1-2-3

 INDEX
  Page1
  Web上のリソース=雲? 「クラウド環境」って何?
英語でも怖くない! Morph AppSpaceへの登録手順
クラウドで動くアプリケーションの環境を設定
  Page2
  クラウド上にデータベースを作成してみよう
サーブレット/JSPアプリケーションの作成
クラウドへのデプロイ(配置と公開)
Page3
  Grailsアプリケーションの環境設定とデプロイ
コラム 「GroovyのRails? Grailsとは?」
無料でインフラを利用してWebアプリを世界に公開しよう


Java Solution全記事一覧



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

注目のテーマ

Java Agile 記事ランキング

本日 月間