2009年5月19日火曜日

無料クラウドでGrailsを動かす




以前JGGUGのコミュニティでお会いした方が、書かれた記事を参考に自分も、Grailsをクラウド上で動かしてみました。 (GAE/Jも、SDKは落としてあるんで、時間があったら早く試してみたいです。)
参考「Java/GrailsのWebアプリを無料クラウド環境で動かす」

■無料クラウドの登録
「Morph AppSpace」という、PaaSを提供しているサイトに行き、サインアップを行います。
@IT記事の方に丁寧に書かれているので、英語がチョット( ´_ゝ`)∂゛な自分でも簡単に登録が出来ました。





登録完了後、アクティベーションをする為のURLを貼り付けたメールが直ぐ来て、サイトへ行けば登録完了です。


■Subscriptionの登録とデータベースの作成
「New Subscription」のボタンを押すと登録画面へ移ります。ここで実行環境やドメインの設定を行います。実行環境には”Rails,Java,PHP”が選べて、データベースは”MySQL,PostgreSQL”が選べました。
リソースは、「Cube」という単位で、1Cubeだとフリーで扱えるようです。
(ちなみにJavaの開発環境は「JDK 1.5 or lower must be installed on your system」と書いてあったので、1.5以下が良いのかもしれません。自分は1.6jdkとGrails1.1で今回試しました。)



作成したら「Manage」ボタンで管理画面に移動します。管理画面の真ん中ぐらいに「Database」タブが有るので、Createをします。
右上のShowボタンを押すとデータベースの詳細が表示されます。







■Grailsの変更
DataSource.groovyに先ほどのデータベースの情報を記述します。今回はprod環境を前提にしています。







コマンドラインで「grails install-templates」をします。すると「project_home/src/templates/war」に”web.xml”が作成されるので、以下の様に追加します。







■アプリのデプロイ
アプリをデプロイする為に、管理画面の「Java Tools for Morph AppSpace Deployment」から、"Property File"とビルド用の"jar File"か"Ant plugin"の何れかをダウンロードします。自分は今回antでやりました。







自分の場合は、ダウンロードしたプラグインをEclipseに設定しました。
「eclipse_home/plugins/org.apache.ant_1.7.0.~/lib」にプラグインをコピー。
「設定Ant」→「ランタイム」→「外部JARの追加」で先ほどのプラグインを追加します。







デプロイ用のbuild.xmlを以下の様に作成します。
プロパティファイルやWARの場所は、適宜変えて下さい。 ここでのusername,passwordはアカウントのユーザー・パスワードです。







Antの実行。結果確認。













2009年5月14日木曜日

EclipseにGroovy plugin

EclipseにGroovyのプラグインを入たのでメモを残してきます。 (少し前なんでもう古いかもです。)

■参考
①Groovy公式サイト(http://groovy.codehaus.org/Eclipse+Plugin)

②Grails日本語公式サイト(http://docs.codehaus.org/display/GRAILS/Japanese+IDE+Integration)

③参考書籍 Grails徹底入門(218~219ページ)

■pluginの導入と初期設定
①Eciplse前提バージョン3.3、3.4、3.5(ちなみに自分のは日本語です。)

②「ヘルプ」→「ソフトウェア更新」→「使用可能なソフトウェア」タブを選択

③「サイトの追加」で”http://dist.codehaus.org/groovy/distributions/update/”をurlに登録。
(最新のGroovy plugin は→”http://dist.codehaus.org/groovy/distributions/updateDev/”)










④「ウィンドウ」→「設定」→「JAVA」→「ビルド・パス」→「クラスパス変数」に”GROOVY_HOME”と”GRAILS_HOME”を追加。












⑤「実行」→「外部ツール」→「外部ツールの構成」を開き、Grailsコマンドを実行出来る様に設定。









■Groovyプロジェクトの作成・実行・デバッグ
①「ファイル」→「新規作成」→「Javaプロジェクト」を選択して作成。











②作成したプロジェクトをプロジェクトエクスプローラより右クリックして「Groovy」→「Add Groovy Nature」を実行して”groovy-all-xxx.jar”をプロジェクトに取り込み。(最新のGroovyプラグインでは、Groovyプロジェクトが選択出来るので、「Add Groovy Nature」はいらないようです。)

③実行・デバッグは”Javaアプリケーション”で構成を作成し、プロジェクトと実行したいGroovyプログラムをメインクラスに指定。(最近のGroovyプラグインでは、Groovyデバッグが選択できるようです。)










■Grailsプロジェクト作成・実行・デバッグ
①「ファイル」→「新規」→「その他」→「Grails」→「New Grails Project」を選択して作成。



















②作成したプロジェクトのプロパティを表示して、”Groovy Project Properties”の”Groovy compile output location ”に”bin-groovy”を、”Disable~”の2つのチェックを外す。










③「ウィンドウ」→「設定」→「JAVA」→「デバッグ」→「ステップ・フィルター」で「パッケージの追加」を選び、”org.codehaus.*”と”groovy.*”を追加。(※これが無いとデバッグで来ませんでした。












④実行・デバッグは”Javaアプリケーション”で構成を作成し、「メイン」タブのプロジェクトとメインクラスに”grails.util.GrailsMain”を指定。 「ソース」タブのデフォルトに、作成したGrailsプロジェクトが含まれていない場合は、Grailsプロジェクトを追加。(※未検証だが、デフォルトに含む時場合と含まれない場合があった。plugin?Grails?のバージョンによって違うのか?eclipseの設定か?2台のマシンで動作が違ったので...。)











⑤デバッグ実行時に下記のボックスが表示されたら、今後通知しないにチェック。



2009年5月9日土曜日

JGUGG第2回g*ワークショップ

第1回に続き、JGGUG第2回g*workshopに参加してきました。
Grails1.1(もうすぐ1.1.1)を斬ると題しまして、1.1での新たな実装機能・Plugin等の貴重なお話を聞かせていもらい、満足して帰ってきました。
Grailsに関して、自分は教材を見てアプリを作る初心者もいいところレベルなので、参加者の方々のレベルが高いお話を聞かせて頂くと、感心してばかりで、まだまだ勉強不足だなと実感します。
懇親会でも、技術的な事ばかりでなく、仕事や業務に対する考え、ポリシー、姿勢など共感させられる話を聞いて、何だかパワーを貰った気がします。
頑張っている人、凄い人を見ると自分も”頑張らなきゃ”ってなります。

2009年5月8日金曜日

GroovyをPASE環境に続き

今回Groovyを入れて何となくの結果

1.PASE環境のGroovyソースからのビルドは、テストを除外しないと駄目のようだ。

2.Groovyshも「jline-0.9.94.jar」ところで、例外が投げられていそうで、”UNIX~云々閑雲”といわれてしまった。

3.Groovyスクリプトは問題なく動きそう。”~/.groovy/lib”に「jt400.jar」を配置して、DBの内容をprintlnしたら、PASEシェル上には特に文字化けせずに表示できたし、問題ないと思う。
やってないけど、Grailsもそのまま問題なく動くんでないかな?JAVAは偉大ですね。

import groovy.sql.Sql
driverClassName = "com.ibm.as400.access.AS400JDBCDriver"
username = "xxxx5035"
password = "********"
url = "jdbc:as400://localhost/ILEFLE"

sql = Sql.newInstance(url, username,
password, driverClassName)
//全レコードの処理
sql.eachRow("select * from MSA00F") {
println it.MSA001 + " -- ${it.MSA003} --"
}

結果
1 -- 鈴木 昇 --
2 -- 佐藤 素明 --
5 -- 山田 吉樹 --
7 -- 北上 淳 --
11 -- 中村 良治 --