ブックマーク / shin1o.blogspot.com (5)

  • #appengine MakeSyncCallServlet

    昨日のappengine-java-nightに参加した皆さんなら、エントリのタイトルだけ見たら中身を見る必要はありませんね! ちょっと今は時間がないのでコードだけうpしますが、クライアント側の環境で通常通りappengineのサービスにアクセスしたら、なぜかデプロイ環境側のサービスにアクセスする、という仕組みが動作しました。 リクエストされたバイト配列とサービス名、メソッド名、アプリケーション名(うっかり間違ったアプリを触るのを防ぐため。)を使ってmeksynccallをするだけのサーブレットを作成し、デプロイ環境にデプロイする クライアント側では、makeSyncCallへのリクエストを上記のサーブレットへ転送するだけのApiProxy.Delegateを実装し、ApiProxy#setDelegate(ApiProxyLocalImpl)した後で、ApiProxy#setDelega

    knj77
    knj77 2010/05/18
  • marketplace用の #appengine javaアプリの雛形を作ってみました

    最近Apps MarketplaceというプラットフォームがGoogleから公開されました。B|CtoB なアプリケーションを登録できるプラットフォームです。アプリケーションの登録・公開方法については@ITさんに記事がありますので、そちらを参考にして下さい。今はまだ開発ベンダ向けのGoogleによる課金のサービスが提供されていませんが、これが開始される時までにそれなりにMarketplace向けのアプリの構築に慣れておきたいものです。私の場合は、モチロン AppEngine を使うことにします。 Google Apps Marketplace企業向けアプリ出店入門(1/2) ─ @IT 注意が必要な点として、登録できるアプリケーションには2種類あるって事です。アプリケーションの登録時に「directly installed into Google Apps domains」という選択肢をオ

    marketplace用の #appengine javaアプリの雛形を作ってみました
    knj77
    knj77 2010/04/13
  • #appengine でスキーマ変更に対応するバッチ処理を行う

    2009/11/05追記ひがさんより指摘を頂いて、30秒制限に関する補足を文中に青字で追記しました。いつもありがとうございます、助かります>ひがさん ここから文 タイトルの処理について、いくつかノウハウを書いておきます。ポイントは以下の2点。 全てのエンティティにスキーマバージョンを保持する ローカル環境からデプロイ環境へ直結してバッチ処理を実行する事で、30秒制限なんて無視してしまう 実例をもとに説明してみます。最近、appengine java night用のまとめページとかに使おうとしているサイトを運営していて、そこに「TwitterでAppEngine関連についてつぶやかれた内容を収集する」という機能を実装しました。しかし、つぶやきを保存する際の投稿者の情報として「Name」を保持しているものの「ScreenName」を保持しておらず、投稿者のタイムラインページへのリンクを作成

    knj77
    knj77 2010/03/23
  • #appengine javaでcapability serviceを利用する

    capabilityサービスを使用すること自体は、今回作ったモジュール(ProtocolBufferの定義、それを使用するサンプル)をそのままコピーするなどして使えば簡単にできます。このエントリは、普段JavaでAppEngineを使う人も、Pythonコードを読むと色々役に立つよ、というような内容になってますので、そのあたりに興味が無い人は読んでもあんまり面白くないと思います。Java, Pythonの関係だとその逆も言えるんですけどね。AppEngineは今のところJavaPythonがありますが、どちらかだけじゃなくて両方触っておくのが一番です。AppEngineJavaを深く触っている人にはSDKのpythonコードもよく参照している人が多いです。 題App Engineのサービスがメンテナンスモードの時に、例えばデータストアが読み込み専用になったりします。この時、データストア

    knj77
    knj77 2010/03/08
  • #appengine java でローカル環境のデータファイルをほげってみる

    目的はKind名の一覧を取得する事。Kind名さえわかれば、後は普通にDatastoreServiceFactory#getDatastoreService()を使って、Entityを読み込む事ができて、Entityが読み込めればそこから全propertyを取得できたりして、色々な事ができそう。ローカルからAppEngineにアップロードする時にも使えそうだし。Eclipse用にLocalDatastoreViewerPluginとかも作れそうだし。 ……っていうエントリを書くつもりだったんだけど、SchemaやらEntityProtoやら色々要素が多すぎて、説明するのが大変に面倒になって来たので、ユーティリティクラスのコードだけ晒す事にしますw ゴメンナサイ、ゴメンナサイ。 AppEngineの起動と終了Datastore周りの単体テストをする時とほぼおんなじ。 static final

    knj77
    knj77 2010/02/20
  • 1