Locked History Attachments

Etupirka

EtupirkaはGAE上で動作するJavaで実装されたCMS。

アーキテクチャ

GAE/J

実行環境はGoogle App Engine/Javaとなる。 したがって、GAE/Jの持つ制限は全て適用される。

また、データストアも必然的にBigTableとなる。

T2 Framework

URLディスパッチなどフロントの処理はT2 Frameworkを採用。 T2 Frameworkを採用することで、関連する処理をPageクラスにまとめ安く、URLパターンの設定も容易となる。また、将来的にRIAクライアント拡張をする予定もあるため、レスポンスを拡張しやすい。

slim3

slim3は単体でGAE/J用のフレームワークとして十分なポテンシャルを持つが、後述のテンプレートエンジンPirkaの採用やCMSのURLパターンには相性があまり良くない為、Datastoreのみを採用する。~ slim3のDatastore APIはS2JDBCのようなタイプセーフなインターフェイスを持ち、JDO,JPAを用いるよりも解りやすく実装もやりやすい。

pirka

View層のHTMLテンプレートエンジンとしては、pirkaを用いる。~ pirkaはXMLと独自属性を用いたテンプレートファイルを用いる為、WEBデザイナがローカル環境で確認しやすく、宣言的な文法でテンプレートを構築できる。CMSにおいて重要な要素であるテンプレートの作成しやすさを重視している。

Google Guice

DIコンテナとしてguiceを用いる。~ guiceの設定ファイルにてプラグインの制御や、各種フレームワークの依存性を吸収する。