今年の始めにバージョン1.0 RC2がリリースされたScooter frameworkはJavaの開発者にRailsに似たRESTfulなウェブプラットフォームを提供する。InfoQはScooter Frameworkプロジェクトの主宰者であるJohn Chen氏に話を聞いた。
Scooter frameworkの開発はRuby on Railsの単純さに着想を得ている。Scooter frameworkはStrutsやSpringとHibernateを使ったJavaでのウェブアプリケーション開発の代替案となるフレームワークであり、CRUD ジェネレータとアクティブレコードが主要な特徴だ。Scooter frameworkにはXMLの編集やアノテーションは必要なく、Servlet/JSPとJDK1.4の基本的な知識があれば利用できる。
The final release for the Scooter バージョン1.0の最終リリースは今年の6月か7月に予定されている。
現在のRC2の特徴は、
- 実行時コンフィギレーション: log4j.propertiesを含むすべての構成ファイル変更はすぐに反映される。
- 実行時コンパイル: Javaのソースファイルを編集してブラウザを更新すれば変更がすぐに反映される。
- 実行時スキーマ変更: データベースのスキーマ変更をすぐに検出する。
- 柔軟なコントローラ:POJOに似たコントローラでアクションの前後に処理を入れる、またはアクションをスキップするフィルタ処理、flashメソッドやグローバルスコープ、ページ切り替えなどをサポートする。
- アクティブレコード: belongsTo、hasOne、hasMany、hasManyThrough、polymorphic associations、nested include、cascade、counter cache、actAsTaggableなどをサポートする。
- エンタープライズORM: 複合主キーの自動検出、名前付きSQL、ビューやファンクション、ストアドプロシージャ、複数のデータベース、トランザクション、参照データのキャッシュなどをサポートする。
- I18N: フレームワークのすべてのレイヤの国際化をサポートする。
- Web 2.0対応: AJAX、Markdown、タグ付けのインターフェイスをサポートする。
- RESTfulなウェブサービス: 自動化にREST化されたデータストアを提供する。
- ルーティング: データやリソース、ネストしたリソースに対してウェブからのアクセスを構成ファイルを変更することで制御する。
- その他: コード生成、コード統計、CRUDの自動化、RESTの自動化、データブラウザ、ロギング、組込みウェブサーバなど。
バージョン1.0で盛り込まれる予定の機能は、
アクティブレコードベースのORMの実装も再構成が計画されている。これによってこのフレームワークは非ウェブ環境でも使えるようになる。
将来の計画は、
- ウェブサーバのパフォーマンスの改善する。
- dev centerモジュールの開発: Javaのコードを編集するためのウェブベースのdev centerモジュールを開発する。
- 開発者のためのドキュメントとヘルプの整備。
- ビューテンプレートエンジン: 現在のビューはJSPベースだが、新しいテンプレートエンジンを実装することで一度回はビューがブラウザ、iPhone、iPad、Androidなど複数の環境に対応できるようにする。
- オープンソースツールとの統合: JasperReport、Lucene、JQueryなど。
- OpenID、Captcha、RSS、JSONのサポート。