2009-08-01から1ヶ月間の記事一覧
先のログでは、Velocity-Tools1.4に付属しているサンプルが、Google App Engine/Java(GAE/J)上で動くことを見た。 そこで、先に「Struts1.3をGAE/Jに乗せてデータ・ストアを使ってみた」で作成したサンプルを改造して、Velocityを使ってみることにする。Stru…
個人的に、テンプレートエンジンが好きだ。 先日、SourceForgeでリリースしたMyznalaはPHPベースの開発基盤だが、これにはDwooを使わせてもらっている(Smartyの方が有名だが、ライセンスがLGPLなので利用しなかった)。Apache Volocityは、JavaEEのテンプレ…
前回のログでは、Struts1.3の簡単なサンプルを作って、Google Apps Engine/Java(GAE/J)上でデータ・ストアを使ってみた。 それを少し発展させて、同じ仕様で、Struts1.3とSpringframework2.5を連携させたサンプルをGAE/Jに乗せてみた。初期画面は以下。ここ…
前回のログでは、Apache Struts(1.3.10)に付属するサンプルをGoogle App Engine/Java(GAE/J)に乗せてみた。せっかく(制限事項つきだが)乗ることが分かったので、struts-blank.warをもとに、データストアを使う簡単なサンプルを作ってみることにした。サ…
Springframeworkにも、(古くから)SpringMVCというモジュールがあるが、いまだにApache Strutsを使うことが多い。10年くらいJavaEEのアプリをやっている方なら、Struts1.0の頃の衝撃を覚えているに違いない(昔話が多いような。。。)。 ActionForm、Action…
前回のログでは、Google App Engine/Java(GAE/J)上で、DWR2からデータストアを利用してみた。この際、最後の「Delete ALLファンクション(1トランザクションで全てのPersonエンティティーを削除する)」で失敗してしまった。 これは、全てのPersonエンテ…
これまでのログでは、サーブレットからGAE/Jのデータストアを使ってみたが、DWR2+Springframeworkから使ってみる。サンプルは、以前のログ「Google Apps Engine(Java)のDWRアプリでテキストファイルを読み込んでみる」で使ったものを発展させる。その際に…
前回のログでは、Google App Engine(GAE)にSpringframeworkのDI(Dependency Injection)を乗せて、無事に動くことを見た。今回は、Springframeworkの柱のもう一つである、AOP(Aspect Oriented Programing)を乗せてみる。AOPでWeavingするので、前回のサ…
DI(Dependency Injection)が注目されたのが、いつ頃だったか忘れてしまったが、廃刊になってしまった「Javapress」でSeaser2とSpringframework(以下、Spring)のサンプル付きの記事を読んだとき、「これはすごい!!」と思った。場所まで覚えている。渋谷の…
数回のログにわたって、GAE/Jのデータストアを触ってみた。 雑誌の記事や、いくつかのHPを参考にさせていただいたが、まだ情報量が少ないのだなぁ、と思う。自分より先に利用をしてみた友人らと話していると、「GAE/Jはデータストアが特殊だからな。。。」と…
GAE/Jのデータストアのマニュアルによれば、非所有関係はサポートしていないので、(プロパティーに)外部キーのようにキーを保管して、アプリケーションでハンドルせよ、と書いてある(これ)。それはそれでいいので、サンプルを作ってみた。前々回のログで…
前回のログに引き継き、今度はGAE/Jで1:Nの所有関係を作ってみた。 1:Nの所有関係も、基本的には1:1の時と同じ。GAEのマニュアルを読む限り、所有側のエンティティーにコレクション型のプロパティーを作成すればよい(サポートされるコレクションは、これ)…
Google Apps Engine/Java(GAE/J)のData Storeで1:1の所有関係を作ってみる。先のログに書いたように、所有関係も(主キー上で表現される)「ルートエンティティーからのパス」概念に帰着される。公式HP(こことかここ)をみると、所有側インスタンスの…
先のログでは、先走ってGoogle App Engine/Java(GAE/J)のデータストアにおけるカスケード・デリート(Cascade Delete。もしくは、リカーシブ・デリート。Recursive Delete)の問題を書いてしまったのだが、とりあえず、話を整理するために、順をおって、GA…
Google Apps Engine(GAE)でよく言われるのが、「データストアが…」ということ。公式HPによれば、JDO2.3、JPA1.0をサポートと言われているが、確かに制限事項が多くて、「なにが使えるのか」分からない。 Joinが使えない。 非所有関係がサポートされていな…
先のログで「Google App Engine(GAE)上に配置したDWR2では、scope=sessionの設定がうまくいかない」と書いた。GAEが準じているとするServetAPI2.5の参照実装であるTomcat6.0では、dwr.xmlにscope=sessionで定義したJavaBean(POJO)はセッションのスコープ…
前回のログで取り上げたサンプルなのだが、実は、Google Apps Engine上ではうまく動かない。 People.javaクラスをsessionスコープに定義しているのだが、レコードを削除して、画面をリフレッシュすると、初期状態に戻ってしまう。これを、そのまま開発環境で…
先日のログ「Google App EngineにDWR2を乗せてみた」で、Google Apps Engine(GAE)にDWR2を乗せて簡単なサンプルを動かしてみた。GAEに関する記事などを読むと、GAEではファイルIOに制限があるとのこと。「(GAEのプラットフォームを)ファイルシステムと見な…
Google Apps Engine(GAE)では、Java6.0の実行環境とServlet API 2.5に準ずるサーバー環境が提供されている。Servlet APIバージョンはスタブとして作成されるweb.xmlから見て取れる。仕様の中で気になることの1つが「セッション管理」である。Webアプリケ…