staxでサンプルアプリを動かす

StaxというJavaのアプリケーションをクラウド環境で動かせるサービスを提供しているところがあります。
無料です。
ここでアプリケーションを動かそうと思うのですが、その前にローカル環境でサンプルアプリケーションをテストする方法などを押さえておきたいと思います。
以下、その説明です。


以下のサイトを参考にしました。
a_kimuraの日記: infoScoopをStaxで動かしてみた

SDKダウンロード

アカウント作成は上記ブログを参照。
ログインすると、Stax Web Consoleの画面が表示されます。
Console画面の右上に、以下のようにGetting Startedがあります。
リンクをクリック。

SDKのページの上部にあるリンク"Download Stax SDK"よりStax SDKをダウンロードします。
どうやらStax SDKとはローカル環境からWeb上のアプリケーションやデータベースにアクセスできるコマンドラインツールらしいです。

SDKインストール

インストールについては、上記同様SDKに説明されています。
前提条件:Java5以上がインストールされ、PATHに設定されていること
以下、Stax SDKを使えるようにするための手順です。

  1. ダウンロードしたSDKを任意のディレクトリに解凍(STAX_HOMEと呼ぶこととする)
  2. 上記ディレクトリをSTAX_HOMEとして環境変数に登録、PATHに設定する
  3. Windowsなら)STAX_HOME直下にあるStax Consoleをダブルクリックで起動

試しに以下のコマンドをSDKコマンドラインから入力してみます。

stax help

以下のように返ってきたらインストール成功です。

Downloading Stax SDK configuration from http://stax-downloads.s3.amazonaws
dk/stax-sdk-config-0.3.3.xml
.
download completed
usage: stax subcommand [options] [arguments]
Stax command-line client, version 0.3.6
Type 'stax help ' for help on a specific subcommand.

Project subcommands:
    clean
    compile
    create
    deploy
    getapp
    run
……

上記のコマンドを次に試していきます。

SDKでサンプルアプリを作ってStax上で動かす

以下のページに、サンプルアプリを作る方法が説明されています。
http://wiki.stax.net/w/index.php/Creating_your_first_application
ローカルで作ったアプリ("Hello Servlet World!"を表示させる)をstax上にデプロイします。
以下、その手順です。

アプリ作成

D:\staxディレクトリ配下に作ってみます。
アプリケーションを作成するためにはSDKのコンソールから以下のコマンドを実行します。

D:\stax>stax create myFirstApp

これでC:\stax配下にサンプルアプリを動かす環境が作成されました。
D:\stax\myFirstApp\webappにはデフォルトでサンプルアプリが配備されています。

ローカル環境でサンプルアプリが動くかテスト

以下のコマンドを実行すると、staxのサーバが立ち上がります。

D:\stax>cd myFirstApp
D:\stax\myFirstApp>stax run

http://locahost:8080にアクセスすると、以下のように表示されます。

リンクをクリックすると、サンプルが動いていることを確認できます。

ローカル環境でテストしたアプリをwebのstax上にデプロイ

Stax SDKには便利なコマンドがあり、ローカル環境で作成したアプリケーションをそのままstax上に配備できる、というものがあります。
以下のコマンドを実行します。

D:\stax\myFirstApp>stax deploy
…
dist:
    [mkdir] Created dir: D:\stax\myFirstApp\dist
      [war] Building war: D:\stax\myFirstApp\dist\webapp.war
      [jar] Building jar: D:\stax\myFirstApp\dist\stax-deploy.zip
      [zip] Building zip: D:\stax\myFirstApp\dist\stax-src.zip
uploading application to: http://api.stax.net/api

deploy:
   [deploy] Deploying application: c-mutoh/myFirstApp (environment: prod)
API call: http://api.stax.net/api/application.deployArchive
........................uploaded 25%
........................uploaded 50%
........................uploaded 75%
........................upload completed
deploying application to server(s)...
…

WebのStaxクラウド環境にアップロードされます。

Web上でサンプルアプリの動作確認

Stax Web Consoleに戻ると、先ほどアップロードしたサンプルアプリがあることを確認できます。

リンクをたどると、ローカル環境で表示されたのと同じように"Hellow Servlet Wolrd!"が表示されます。

以上です。

次回は…

サンプルアプリを動かせたので、次回はいよいよ本番。
infoScoop Calendarを動かしてみたいと思います。
infoScoop Calendarはアプリケーションが複数連携して動いているので、少し難しそうです。
でもやってみます。