App Engine 1.5.1

App Engine SDK1.5.1がでた。手元ではいまだに1.4系を使っていて、アップロードのたびになんかwarningでたりしているのだけど。。。今回は割に小さいネタばかりかな。

変更点

ジオロケーションヘッダ

クライアントからのリクエストをサーブレットに渡すときに、自動的に'X-AppEngine-Country' というヘッダに国名を入れてくれる。IPアドレスから引いてくるんだろう。便利かも。

channel API でuser presenceをサポート

ユーザが接続しているかいないかを知ることができるようになった。

Image API で WebPをサポート

これまでのGIF, JPEG にくわえて、Google が押している圧縮率の高い画像フォーマット WebPをサポート。しかしブラウザでWebPサポートしてるのChromeぐらいなんじゃないだろうか。まだしばらくはつかえないか。

Python でProtoRPCをサポート

ProtoRPC はProtocol Buffer を通信形式としたRPC(Remote Procedure Call)つまりクライアントからサーバ側の関数を透過的に呼び出すことができるしかけ。Java版もそのうちできるのだろうか。

SDKで High Replication をシミュレート

個人的に一番気に入ったのがこれ。あらたなストレージモデルであるHigh Replication は、既存のマスタスレーブとコンシステンシモデルが違っていて、書き込んだ内容がすぐに読み出せるとは限らない。でもSDKで動かすときにはそんなことはおこらないので、いざデプロイしてみると、ときどきおかしなことが起こる、と言ういやな状態になってしまう。

そこででてきたのがこれ。SDKでもときどきわざと古いデータを返してやることで、Eventual consistency を模擬することで、プログラムの開発を支援するという。なるほどねえ。こういうの必要だよね。

JDO でPolymorphic relationship

Datanucleus now supports polymorphic relationships. なんてことがrelease noteに書かれているな。いまさらJDOはつかわないので、もうどうでもいいような。

所感

順当なマイナーバージョンアップ、といったところか。