はじめに

こんにちは。この度、「攻略! ツール・ド・プログラミング」というタイトルで新しい連載を始めさせていただくことになりました。本連載ではプログラミングを手助けするツールやライブラリ、フレームワーク、プラットフォームなどについて紹介していきます。主にJavaを中心としたものを扱っていく予定ですが、それ以外の言語についても積極的に取り上げていくつもりです。また、2月に終了したコラム「Java API、使ってますか?」を引き継いでJava APIに関するトピックもカバーしていければと思っています。したがってタイトルの「ツール」とは"Tour"ではなく"Tool"のことですが、さまざまなツールをできるだけ広範囲に紹介するTourのようなコラムにしたいと考えています。どうぞよろしくお願いいたします。

Java対応のクラウド環境「Stax Networks」

さて、第1回となる今回はJavaアプリケーションに対応したクラウドコンピューティングプラットフォームである「Stax Networks」(以下、Stax)を紹介する。Webアプリケーションのためのクラウド環境としてはGoogle App Engineを有力な候補として挙げることができるが、現状でサポートされている言語はPythonだけだ。近々Javaに対応するという噂もあるものの、Googleからの正式な発表はまだない。

StaxはGoogle App Engineに似たクラウド環境を用いて、Javaを使ったアプリケーションを開発/公開できるPaaS(Platform as a Service)サービスである。Amazon EC2上に構築されているためインフラ自体は十分なパワーを持っており、コマンドベースの開発環境も提供されている。データベースとしてMySQLが利用できるほか、アプリケーションのテンプレートもServlet/JSPを始めとしてApache Struts、Wicket、JRuby on Rails、Jython、GWT、Adobe Flex、Adobe ColdFusionと豊富に用意されている。

将来的にはリソース使用料に応じた課金モデルを考えているとのことだが、現時点ではベータ版として公開されており、無料で試用することができる。有料サービスに移行するにせよ、Google App EngineのJava対応を待つにせよ、今のうちにクラウド環境におけるJavaアプリケーション開発というものを試してみるのもいいのではないだろうか。

アカウントの取得とStax SDKの設定

Staxを利用するには最初にアカウントを取得する必要がある。アカウントの申請はトップページの[Apply for the Beta]ボタンから行える。必要な情報を送信すると、しばらくして登録用のメールが送られてくるので、そこに記載されたURLにアクセスすればStaxを利用できるようになる。

最初にサインインした際のトップページは図1のようになっている。このページがStaxのアプリケーション管理用コンソールになっている。右側の「Getting Started」からコマンドベースの開発環境である「Stax SDK」をダウンロードできる。このSDKでは、作成したアプリケーションのローカル環境での実行やクラウド環境へのデプロイなどを行うことが可能。

図1 Staxのアプリケーションコンソール

ダウンロードしたファイルを任意の場所に展開し、以下の環境変数を設定することで各種コマンドが利用できるようになる。ただしWindowsの場合には、JAVA_HOMEを設定した状態で「Stax Console」のショートカットからコマンドプロンプトを立ち上げれば、他の環境変数は自動的に設定されるようになっている。

表1

変数 Windowsでの設定例
JAVA_HOME JDKのインストールディレクトリ C:\Program Files\Java\jdk1.6.0_13
STAX_HOME Stax SDKを展開したディレクトリ C:\stax-sdk-0.2.16
GROOVY_HOME Stax SDKに含まれるgroovyディレクトリ %STAX_HOME%\groovy
PATH 各種コマンドへのパス %PATH%;%JAVA_HOME%\bin\;%STAX_HOME%;%GROOVY_HOME%\bin3

図2 WindowでStax SDKのコンソールを実行

テンプレートを用いたアプリケーションの作成

Stax上で動作するアプリケーションを作成するには、コマンドラインから行う方法とアプリケーションコンソールで方法があるが、今回は後者の方法を紹介する。まず左上の[Create App]ボタンをクリックすると図3のようなダイアログが表示されるので、任意のアプリケーション名と使用するランタイムを指定する。[Create]ボタンをクリックすれば、すぐに動作させられず状態のアプリケーションの雛型が作成される。

図3 アプリケーションコンソールを利用してアプリケーションの雛型を作成

ランタイムは以下のものから選択でき、それぞれ必要なライブラリが自動的に読み込まれるようになっている。今回はServletとJSPを指定した。

  • ServletとJSP
  • Apache Struts
  • Apache Wicket
  • JRuby on Rails
  • Jython
  • GWT(Google Web Toolkit)
  • Adobe FlexとBlazeDS
  • Adobe ColdFusion 8

アプリケーションの作成が完了すると図4のように表示されるので、[View app]をクリックすればアプリケーションコンソールのMyFirstApp用の管理画面に移動する(図5)。

図4 雛型が完成したら[View app]で管理画面に移動できる

図5 MyFirstAppの管理画面

このときすでにMyFirstAppは実行されているので、アプリケーション名の下に書かれているURL(http://アプリケーション名.ユーザ名.staxapps.net)にアクセスすれば図6のように表示され、[Click here to see a Servlet]のリンクをクリックすれば図7のようにServletが実行される。

図6 MyFirstApp用のURLにアクセス

図7 雛型として作成されたServletが実行される

ちなみに管理画面のアプリケーション名の下に並んだ5つのアイコンは、左から「アプリケーションのソースコードのダウンロード」「アプリケーションの停止」「アプリケーションの公開」「開発者の招待」「アプリケーションの削除」という操作を実行するためのものだ。次回はソースをダウンロードして修正し、再度デプロイする方法を紹介する。