The HIRO Says

If you smell what The HIRO is cooking!!!

GAE/J

クラウドでのデータ設計方法

『日経 SYSTEMS』の2010年10月号から、マイクロソフトの萩原正義さんによる『クラウドの設計セオリー』というコラムが連載されています。 クラウドがこれまでのエンタープライズシステムと比較して技術的な不連続性があることなど、クラウドにまつわる…

Spring RooでGAE!

Spring Roo が GAE をサポートするようになったというニュースを見て、Spring Roo を調べてみることにしました。 公式サイトは→コチラ 細かい話や体験談は、後日少しずつアップしていこうと思います。 (まだ slim3 もじっくり試したいし!) えっと…まず Ma…

slim3本入手しました

slim3 本を、Amazon で購入しました。 (7月末には書店に出回っていたらしいですが、仕事の都合で書店巡りをする余裕がないので Amazon で予約したら、到着は 8/2 でした。。。) slim3 と Windows Azure の夢のコラボw 内容の8割以上は、Datastore につ…

slim3の書籍の予約開始です

slim3 の書籍の予約が amazon で開始されました。 GAE/J でグローバルトランザクションや EoD を体感したい人は読むべし!オープンソース徹底活用Slim3onGoogleAppEngineforJava作者: ひがやすを,小川信一出版社/メーカー: 秀和システム発売日: 2010/07/30メ…

restletを使用したWebサービスの構築・公開

GAE から他の Web サービスを呼び出すには、基本的には URL Fetch を使えばOKです。 では、GAE 上で Web サービスを構築・公開するには、一体どうすれば良いのでしょうか? コチラによると、restlet で実現可能とのことでしたので、試してみることにしまし…

GAE/Jの人向きの書籍

先日、幕張をうろうろしていたら、たまたまみつけました。 『すっきりわかる Google App Engine for Java クラウドプログラミング』(中田 秀基さん著) ちょうど URL フェッチとか OAuth とか XMPP とかを腰を落ち着けて調べようと思っていたところだったの…

【slim3】日付型のvalidation【Struts】

今更なんですが、日付型データの validation で躓いたのでメモしておきます。 ※Struts 由来のものなのですが、slim3 でも同様なので、一応 GAE/J の slim3 カテゴリにしています。 1.具体的な事象 日付型の validation では、"yyyy/MM/dd" などのフォーマ…

Java Cloud Meeting Tokyoに参加してきました

懇親会とかからただいま帰宅。(22:00) ひとまず内容を簡単にまとめ。 Seasar3 Spring の wrapper として、HOT reloading などの機能を追加する形で。 VMforce や Google App Engine for Business での Spring 公式サポートの現状を踏まえ、かつ Seasar2 と…

【slim3】Java Cloud Meeting Tokyo

明日、法政大学でJava Cloud Meeting Tokyoが開催されるので参加してきます。 Seasar3 とか AWS の話もあるので、色々と楽しみです。

SDKなどの更新手順

GAE の SDK などが古くなってきたので、新しいものに更新することにしました。 今回は、これらを Eclipse で更新する手順についてまとめます。 (1)Eclipse のメニューから、「Help」→「Software Updates」を 選択します。 (2)「Available Software」タ…

【slim3】JSPでModelを表示できない?

BigTable から取得した Model の List を HttpServletRequest へセットし、JSP で表示しようとしているのですが、うまく表示することができません。。。 1.forEachで型認識がうまくいかない JSTL の c:forEach を使うと、Model が String 型と認識されてし…

日本語の文字コードはUTF-8で!

slim3 でアプリを開発する際、JavaEE アプリのいつもの癖で、 JSP の文字コード指定を”Shift_JIS”にしていたところ、 入力値の表示で文字化けが発生。 さらに調べてみると、文字コードが UTF-8 でないと、 アプリを Google にアップロードする際にエラーとな…

【slim3】JSPの開発手順および注意事項

前回まで、slim3 の画面遷移制御用コンポーネントである ”Controller”について触れてきました。 今回は、この Controller から呼び出される/を呼び出す JSP の開発手順、およびその際の注意事項について見ていきます。 1.あらかじめ用意されているもの sl…

【slim3】画面遷移のための”Controller”−(3)UTの実施方法

前回、slim3 の画面遷移制御用コンポーネントである ”Controller”の実装方法をまとめました。 今回は、この Controller の UT の実施方法を見てみます。 1.テストクラスの概要 Controller のテストクラスは、Controller クラスと一緒に Ant で自動生成され…

Google App Engine 実践リファレンスを読んでみた

slim3 を趣味でやっているものの、本業(プロジェクト管理&SAStrutsでの開発)が忙しく、なかなか GAE に時間を割けない昨今。 一念発起して、『Google App Engine 実践リファレンス』を購入して読んでみました。Google App Engine 実践リファレンス作者: …

【slim3】画面遷移のための”Controller”−(2)実装方法

前回、slim3 の画面遷移制御用コンポーネントである ”Controller”の生成方法をまとめました。 今回は、この Controller の実装方法をざっと見てみます。 1.Controllerの基本的な構成 Controller の基本的な要件は、以下の3点です。 (1)org.slim3.contr…

【slim3】画面遷移のための”Controller”−(1)概要と生成方法

slim3 では、画面遷移の制御を、”Controller”というコンポーネントで行います。 Struts で言うところの Action に相当するもので、リクエストを受け付けて次の遷移先を返すという役割を持ちます。 ひとまず画面とその遷移を構築したい!という場合には、JSP …

jsp-configは使えない?

slim3 で Service と Model ばかり作成していて、画面を作成していないことに気がついた今日この頃。 JSP や CSS を放置していたので整理を開始。(後日きちんとドキュメント化します。) で、taglib などの JSP 共通定義をしようと、web.xml に jsp-config …

【slim3】ビジネスロジックとしての”Service”

前回紹介した Model は、あくまで JavaBeans であり、それ自体に永続化の機能はありません。 BigTable への Model の永続化、および BigTable からの Model の取得といった persistence に関する処理は、Model 以外の別のクラスで定義する必要があります。 …

【slim3】永続化対象としての”Model”

GAE ではデータを、”BigTable”という key-value ベースの DB(key-value store)で管理します。 この”BigTable”へ永続化するクラスとして、slim3 では”Model”というクラスを定義・使用します。 1.Modelの作成方法 前回の記事の、”gen-model”をご確認下さい…

【slim3】jUnit4.x系の使い方

前回も触れましたが、slim3 のテストでは jUnit 4.7 を使用しています。 jUnit は、4.x 系になってから、仕様がアノテーションベースに変更になっています。 前回はうまくまとめられなかったので、今回は jUnit 4.x 系の使い方を簡単にまとめてみようと思い…

slim3のテストコードの注意点

slim3 でプログラムを生成すると、自動的にテストコードも作成してくれます。 ただ、テストコードは jUnit 4.7 を使用しているため、3.x 系とは色々と違うところがあります。 (私は知らなかったのでハマりました…) 今回は、jUnit 3.x 系との違いをまとめて…

slim3での基本的な開発手順

slim3 には、必要なプログラムを自動生成する機能が備わっています。 ですので、まずプログラムを自動生成し、要件に応じてロジックを個別に追加していくというのが基本的な開発スタイルになります。 今回は、この基本的な開発スタイルについて説明します。 …

slim3のプロジェクト構成

slim3-blank のプロジェクト構成を、以下に記します。 (個々の意味は、逐次記述を追加していきます。) ※slim3-blank-EA1-SNAPSHOT-11142009.zip を元にしています。 / ├ .apt_generated │ ├ .externalToolBuilders │ ├ com.google.appengine.eclipse.core.…

アプリケーションのアップロード手順

作成した GAE/J アプリケーションのアップロードが、殊の外詰まるポイントだったので、手順をまとめることにします。 アプリケーションのアップロードには、次の5つの手順が必要です。 アプリケーションIDの取得 アプリケーションIDの設定 JDKの設定 アプリ…

slim3の環境構築手順

slim3 とは、Seasar2 などでおなじみのひがやすおさんが開発されている、GAE/J のフレームワークです。 S2 と同様、hot deploy などの機能が用意されており、GAE/J の開発が容易になります。 ただ、公式サイトが英語なので、敬遠される方も多いと聞きます。 …

GAE/Jの開発環境の構築方法

今何かと話題のクラウド技術。 SalesForce とか Amazon とか色々ありますが、この度 Google App Engine(GAE)の Java 版を使ってみることにしました。 詳しいことは公式サイトに書いてありますが、色々と試していこうと思います。 (アクセスするには、Goog…