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


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

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


クラウド上にデータベースを作成してみよう

 次に、アプリケーションで使用するデータベースを作成します。コントロールパネルから、作成したアプリケーションの[Manage]リンクをクリックして詳細情報を表示します。

 [Database]タブにある[Create]ボタンをクリックするとデータベースが作成されます。データベース作成完了後、[Database]の[Show Details]リンクをクリックするとホスト名、データベース名、ユーザー名、パスワードが確認できます。

図4 アプリケーション定義の詳細
図4 アプリケーション定義の詳細

データベースの管理もWeb上で

 Morph AppSpaceにはデータベースをWeb上で管理するためのツール(「phpMyAdmin/phpPgAdmin」)が提供されています。コントロールパネルから[DB Admin]のリンクをクリックして、[click here to proceed]のリンクをクリックすると、アクセスできます。

図5 データベース管理
図5 データベース管理

サーブレット/JSPアプリケーションの作成

 ここまでで、アプリケーションを稼働させる環境が整いました。それでは、アプリケーションの作成をしていきましょう。

 サンプルアプリケーションとして、データベース上に作成した社員表を検索するアプリケーションを作成します。ここではアプリケーションのソースコードは省略して、Morph AppSpace上で動作させるための設定だけ紹介します。

 なお、Morph AppSpaceではJDK 1.5、Servlet 2.5以下の仕様で作成したアプリケーションが動作するようになっています。

 社員テーブルのデータを一覧表示するサーブレットを作成します。このサンプルアプリケーションのweb.xmlは以下のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<web-app>
  <servlet>
    <servlet-name>searchServlet</servlet-name>
    <servlet-class>net.kronosjp.javasample.SearchServlet
    </servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>searchServlet</servlet-name>
    <url-pattern>/search</url-pattern>
  </servlet-mapping>

  <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>
</web-app>

 web.xmlの<resource-ref>タグの個所は、Morph AppSpace上に作成したデータベースにアクセスするDataSourceオブジェクトを参照するための設定です。アプリケーション内では以下のようにしてDataSourceオブジェクトを取得します。

    InitialContext ctx = new InitialContext();
    DataSource ds = (DataSource) ctx
        .lookup("java:comp/env/jdbc/morph-ds");

クラウドへのデプロイ(配置と公開)

 Morph AppSpaceへデプロイするために、デプロイ用JARファイルとAntタスクの2つのツールが用意されています。どちらかのツールを利用して、Morph AppSpaceへデプロイします。

 デプロイには、作成したアプリケーションのWARファイルとデプロイ用ツール、そして、デプロイ用のプロパティファイルが必要となります。デプロイ用ツールとプロパティファイルはコントロールパネルからダウンロードできます。

 それでは、2つのツールを利用したデプロイ方法を見ていきましょう。

図6 デプロイツールとプロパティファイルのダウンロード
図6 デプロイツールとプロパティファイルのダウンロード

JARファイルを利用する方法

 コントロールパネルからデプロイ用のJARファイルとプロパティファイルをダウンロードします。コマンドプロンプト上で以下のコマンドを実行します(:下記コマンドは1行です)。

java -jar morph-deploy.jar --user [ユーザー名] --password [パスワード] --config [プロパティファイルのパス] [warファイルのパス]

 コマンドを実行してデプロイが成功すると、以下のようなログが出力されます。

Uploading the code...
Creating new appspace version...
Deploying the application...
Done.

 デプロイが完了したら、Webブラウザでアクセスしてみましょう。URLはドメイン以下がアプリケーションのルートとなります。サンプルアプリケーションのサーブレットにアクセスするURLは以下のようになります。

http://sample.morphexchange.com/search

 デプロイ完了から、アプリケーションが読み込まれるまで少し時間がかかる場合があります。その場合は少し時間を置いて再度アクセスしてください。

Antタスクを利用する方法

 コントロールパネルからデプロイに必要なプロパティファイルとAntタスクのJarファイルをダウンロードします。ダウンロードしたJARファイルはローカルのAntホームディレクトリの「lib」ディレクトリ直下にコピーしてください。Antからデプロイする場合のbuild.xmlは以下のようになります。

<project default="deploy">

  <!-- デプロイタスクの定義 -->
  <taskdef name="morph-deploy"
    classname="com.morphexchange.ant.task.MorphDeployer"/>

  <!-- デプロイターゲット -->
  <target name="deploy">
    <morph-deploy
      username="ユーザー名"
      password="パスワード"
      configFile="プロパティファイルのパス"
      warFile="WARファイルのパス"/>
  </target>

 実行して成功すると、以下のようなログが出力されます。

Buildfile: C:\workspace\morph\build.xml
deploy:
[morph-deploy] Uploading the code...
[morph-deploy] Creating new appspace version...
[morph-deploy] Deploying the application...
[morph-deploy] Done.
BUILD SUCCESSFUL
Total time: 24 seconds

 次ページでは、Grailsそのものや、Grailsアプリケーションをクラウド上で動かす方法について説明します。

1-2-3

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


Java Solution全記事一覧



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

注目のテーマ

Java Agile 記事ランキング

本日 月間