Orca†
Orcaはサーブレットの薄いラッパーとして位置づける簡易的なWebアプリケーションフレームワークです。Orcaは主に次のことを目標にしています。*1
- 1ページ=1クラス+1JSP
- ブックマーカブル/or NOTなページを区別する
- パラメータやセッションの取り扱いを楽にする
1ページ=1クラス+1JSP†
HTMLのUIモックを起点に開発を進めるページ駆動開発を念頭に置いています。ひとつのページにつきひとつのクラスとひとつのJSPを必要とするようになっています。要するにたとえば「入力画面の入力値チェックは入力画面クラスのメソッドがする」し「リダイレクト画面なんかない」ということです。
ブックマーカブル/or NOTなページを区別する†
ページ遷移の方法としてOrcaでは3つの方法があります。ページ名を指定する方法、ページクラスを指定する方法とページインスタンスを指定する方法です。たとえば××確認ページはパラメータによって再現されるべきページではない(ブックマーカブルでない)ページなのでインスタンスを指定してページ遷移します。
パラメータやセッションの取り扱いを楽にする†
パラメータや表示項目はページのインスタンスフィールドとして扱います。たとえば所定のアノテーション「@Parameter」をつけたフィールドはパラメータ項目として扱われ、フィールド名で紐づくパラメータの値がセットされた状態でリクエスト応答メソッドがコールされるようになっています。
メニュー†
作ってみてなんですが...†
プッシュ型ならTeedaまたはSAStrutsが、プル型ならWicketがあるよ*2というのが僕の見たところです。それでもあえてOrcaを開発したのはあまりたくさんのことをしないフレームワークが新人研修において必要だったことと、単に僕自身の勉強のためです。このためにEJBにも触れてみましたがリフレクションが不自由になってしまうのと、JBossが重たすぎるのとで結局ほとんどを自前で書いてみることにしました。開発期間が短かったこともありいろいろ粗末ですが誰かにとって何かの参考になればと思います。むしろその程度の意味の公開です。