JavaによるGoogle App Engineクラウドプログラム開発

この記事を読むのに必要な時間:およそ 5 分

プロジェクトの作成

ここまでの手順が終わるとGAEのJavaプログラム作成が可能になります。追加されたボタンのうち左のボタンボタンがGAEforJavaのプロジェクト生成用で,このボタンクリックをクリックすると図11のようなプロジェクト生成用のダイアログが表示されます。

図11 プロジェクト生成用ダイアログ

図11 プロジェクト生成用ダイアログ

図11の画面例では,⁠Project name」「Package」に,guest1を入力し,デフォールトでセットされている「Use Google Web Toolkit」のチェックを外します。GWT(Google Web Toolkit)はAjaxクライアントのプログラムをJavaで作成する機能をもつGoogleのAjaxツールですが,ここでは使用しないためチェックを外します。

以上設定後,図11の画面で「Finish」ボタンをクリックするとGAE用のプロジェクトが生成され,EclipseのPackage Explorerに作成されたプロジェクトの内容が表示されます図12)⁠

図12 Package ExplorerのGAEプロジェクト表示

図12 Package ExplorerのGAEプロジェクト表示

図12のPackage ExplorerからguestbookServlet.javaをダブルクリックすると,図13のようなJava ServletコードがEclipse画面中央のエディタフィールドに表示されます。

図13 guestbookServlet.java の表示

図13 guestbookServlet.java の表示

GAEのプロジェクトはそのまま実行できる形で生成され,実行により,⁠Hello, world⁠が表示されます。

ここではごく簡単に,表示内容を⁠Yes, We can!⁠に変更してみます。

このServletはWEB-INF下のindex.htmlから呼び出されますが,自動生成されるindex.htmlはリスト1のような内容になっています。

リスト1 index.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- The HTML 4.01 Transitional DOCTYPE declaration-->
<!-- above set at the top of the file will set     -->
<!-- the browser's rendering engine into           -->
<!-- "Quirks Mode". Replacing this declaration     -->
<!-- with a "Standards Mode" doctype is supported, -->
<!-- but may lead to some differences in layout.   -->
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <!--                                           -->
    <!-- Any title is fine                         -->
    <!--                                           -->
    <title>Hello App Engine</title>
  </head>
  <!--                                           -->
  <!-- The body can have arbitrary html, or      -->
  <!-- you can leave the body empty if you want  -->
  <!-- to create a completely dynamic UI.        -->
  <!--                                           -->
  <body>
    <h1>Hello App Engine!</h1>
    <table>
      <tr>
        <td colspan="2" style="font-weight:bold;">Available Servlets:</td>
      </tr>
      <tr>
        <td><a href="guestbook"/>guestbookServlet</td>
      </tr>
    </table>
  </body>
</html>

GAEforJavaでは通常のServletにないXMLファイルで,ユーザが直接編集する必要があるものとしてappengine-web.xml(リスト2)があります。このファイルでapplication とversionタグにデプロイ(クラウド環境へのアップロード)するプログラムの値を指定する必要があります。ただしこの部分は記入なしてデプロイを実行してもダイアロクから指定することもできるので,ここでは記入なしでそのままにしておき,デプロイ時に指定してみます。

リスト2  appengine-web.xml

<?xml version="1.0" encoding="utf-8"?>

<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">

<application></application>

<version></version>

<!-- Configure java.util.logging -->

<system-properties>

<property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>

</system-properties>

</appengine-web-app>

著者プロフィール

清野克行(せいのかつゆき)

慶應義塾大学工学部電子物理専攻卒。日本IBM,日本HPなどにおいて,業務系/基幹業務系システムのSE/マーケティングおよび,分散アプリケーション&イントラネットによる社内業務システム開発などに携わる。現在は,Ajax/クラウド/Web 2.0関連の書籍執筆/セミナー講師/ソフトウェア開発/コンサルティングなどを行っている。
情報処理学会会員。

バックナンバー

java