Seasar Conference 2009 Springで聞いた内容をざっくりと書いた

昨日のSeasar Conference 2009 Springで聞いた内容をざっくりと書きました。


Slim3 on Google App Engine / Java

ひがさんのSlim3についてのセッション。

Slim3の話に先立ち、「Google App EngineBigTable老害リトマス試験紙」であるとガツンとおっしゃっていました。
Google App Engineサンドボックスによる制限が強いため、従来のJava Webアプリケーションで出来ることのうちいくつかが出来ません。また、BigTableは、従来のRDBMSと同じ使い方は出来ません。「従来のモノと比べて、出来なくなったこと」を理由にして、Google App EngineBigTableを否定する人には老害の危険性があると、ひがさんは指摘されていました。
Googleはよく考えた上で、Google App Engineに多くの制限をかけたり、BigTableRDBMSとは異なるものにしたそうです。だから、制限ががあることによってダメだと判断するのではなく、制限があることの意味を理解して使う必要があるとのことでした。


その後、本題のSlim3のお話でした。
Slim3Google App Enjine for Javaに最適化されたフルスタックのMVCフレームワークで、Webアプリを作るのに本当必要なものだけを含んでいるそうです。そのためか、Slim3にはDIは含まれていないそうです。
以下が、Slim3の3つの特徴です。

TDD(テスト駆動開発)のサポート

Slim3では、空のテストケースの自動生成や、サーブレット環境のエミュレートを行うことで、TDDをサポートしています。さらに、データアクセスのテストをするには、googleにより提供されているBigTable用のテスト環境が利用できます。

ホットリローディング

スクリプト言語のように、ソースの変更結果を即座に画面で確認できます。

タイプセーフクエリ

タイプセーフクエリではコンパイル時にクエリのスペルミスをチェックできます。さらに、コード補完を利用することもできます。


Seasarの利用状況について あらため、はじめてのS2入門(非技術編)

非技術的なSeasarの説明でした。

Seasarには以下の3つがあるそうです。

  • ソフトウェアとしてのSeasar
  • プロジェクトとしてのSeasar
  • 組織としてのSeasar
ソフトウェアとしてのSeasar

Javaによる国産DIコンテナ。OSS

プロジェクトとしてのSeasar

The Seasar Project。Webフレームワークを中心に、.NETやPHPRubyのプロダクトも持ちます。代表作は、S2Container、S2DAOTeedaです。

組織としてのSeasar

特定非営利活動法人(NPO)のSeasarファウンデーション。OPEN INTRA-MARTやThe Ashikunep Kotan、escafe.orgの支援も行う。


Seasarの歴史についても説明されていました。大雑把に書くと以下の通り。

2004
  • Seasarの開発開始
  • S2Containerリリース
  • S2Daoリリース
2005
2006
2007
  • S2系プロダクトがたくさん出る。
  • SAStrutsリリース
2008
  • なんか組織ができる?
2009
  • なんか組織ができる?


Seasar2みんなでやればこわくない

Seasar2の適用事例、ADEBiS AutoBidのお話でした。
ADEBiS AutoBidは、Adwards APIとOverture APIを使用した広告自動入札システムで、ユーザが自動入札のルールを設定できることが特徴です。

ADEBiS AutoBidでは、以下のSeasarプロダクトが使用されています。

DB接続
Webフレームワーク
自動入札ルールのバッチ処理
Adwards APIやOverture APIとの連携


Webサービスの育て方 - チョイスタディの場合 -

Seasar2の適用事例、チョイスタディのお話でした。
チョイスタディは、無料で使えるインターネット学習サービスです。ITエンジニアのスキルアップを支援するため、IT技術を中心に約10000問の問題を用意しています。新人研修や基本情報技術者試験対策に利用されています。

チョイスタディでは、以下のSeasarプロダクトが使用されています。

DB接続
Webフレームワーク


チョイスタディでは、頻繁にリリースがあるため、以下の仕組みを用意しています。

  • モジュールのリリースは、Maven-rerealse-pluginで完全自動化。
  • Webアプリケーションのリリースは、リリースの種類ごとにスクリプトを作成。
  • Seleniumにより、リリース後に全画面を自動的に閲覧。表示の確認が常にできていることを保証。


ここまでできるTeeda&DBFlute

Seasar2の適用事例、Anestaのお話でした。
Anestaは、塾経営支援サービスです。

Anestaでは、以下のSeasarプロダクトが使用されています。

DB接続
Webフレームワーク
DIコンテナ
  • S2Container


感想

Slim3の説明の感想

率直に分かりやすいと感じました。あれほど簡単にWeb開発ができるなら、一度は使ってみたいです。Slim3によるServlet環境のエミュレートや、googleによるBigTableのテスト環境も魅力です。

Seasarの適用事例の感想

目的に応じて必要なプロダクトを選択することが大事だと思いました。例えば、Web APIを使用したい場合には、S2Axisを選ぶなどです。ですので、まずは各プロダクトで達成可能なことを理解する必要がありそうです。特に、DB接続やWebフレームワークのプロダクトは複数存在するので、各プロダクトの違いがわからないと選択に迷いそうです。