GAE(Google Apps Engine)でTwitter用Botを作ろう(ライブラリの構成を決める)

今日は早く寝ようと思ってたのになー、結局こんな時間まで遊んでしまった。
という訳で、Botアプリとバッチの構成をちょっとばかし。

f:id:p_r_party:20100914010416j:image
※GAEJという巨人に、自分が向かってるイメージ

肝となるのはWEBとバッチ。ライブラリの選定でもしてみましょう。
ちなみに私が使うのはGAE/Jです。

WEBの構成


想定しているのはこんな感じです。

f:id:p_r_party:20100914013917p:image

荒っぽいのはご愛嬌。
要するに以下のライブラリを使います。

  • Sripes
  • Spring
  • JDO
  • Twitter4j
  • Log4j
  • Apache Commons関連

Stripesは前にGAEで使ってみて、軽いし実装も楽なんで使っちゃいます。
SpringはDIコンテナとして。あれ、重くなっちゃうかな。
DataStoreはJDOでいじくります。
WEBからTwitterとの連携を行うかはわかりませんが、とりあえずTwitter4jも。
Spring使うんで色々パッケージ使っちゃいますが、そこらへんは割愛。

バッチの構成

f:id:p_r_party:20100914013918p:image

構成は以下。

  • Spring Batch
  • JDO
  • Twitter4j
  • Log4j
  • Commons

ほとんどWebアプリと変わらないんですけど、見慣れぬヤツを突っ込んでみました。「Spring Batch」。かのSpringさんのバッチ処理用ライブラリなんで、かなり気になってたんですが、勉強がてら入れてみます。
ってか、この程度のアプリのためのヤツじゃないだろうに…、かわいそうw
ってかそもそもGAEのCron Jobsと連携ってできんのかな…。
出来なかったらSpring Batchを取り除いて、Cron Jobsから普通にキックします。


また明日以降。