Welcome to The T-Struts (仮称) Project
T-Struts (仮称) とは、エンタープライズ・システムにStrutsを適用することを目標として、Strutsの機能を拡張するプロジェクトです。Struts本家へのフィードバックも行っていきます。
現在のバージョンは 1.0alpha2 です。2003年度中をめどに下記の機能をすべて実装し、リリースします。
News
- 2003-12-22
- SourceForge.jpにプロジェクト公開
機能一覧
T-Strutsで強化する機能の一覧です。同一機能が複数のカテゴリに重複して登場しますが、そのような機能は複数の観点から検討され、実装されているものです。
1.Webアプリケーション・フレームワークとしての機能強化
機能 |
内容 |
ステータス |
認証補助(User Profile) |
JAAS認証後、ユーザ属性(認証に必要な情報以外のユーザ情報)をDBなどから取得する機能 |
リファクタリング中 |
Servlet仕様に定められたFORM認証を拡張し、ログイン画面に直接アクセスし、ログインできるようにするためのTomcatプラグイン。 |
実装済み |
画面間データ引継ぎ機能 |
複数の画面で共有したいデータを、Sessionを使わずにHTMLのhiddenフィールドとして埋め込むことで引き継ぐ機能。 |
実装済み |
二重送信防止機能 |
「ダブルクリックによる二重送信」「戻るボタンによる画面の二重遷移」などを防止する機能。 |
実装済み |
強化版Tiles |
タイル生成をハンドラ化し、JSP以外のシステムによってタイルを生成させることを可能にするとともに、サーバーサイドキャッシュなどを利用可能にする。 |
実装中 |
再ログイン時の不正動作防止機能 |
同一セッションで2つ以上のブラウザウィンドウを起動しておき、再ログイン操作を行ったときの不正動作を防止する機能。 |
実装中 |
クライアントサイドValidator改善 |
入力妥当性検証をクライアントサイドで行う際のJavaScriptコードが全ページに毎回挿入されてしまうという仕組みを改善。 |
実装中 |
2.プロジェクトの開発生産性とマネージメント性向上のための施策
機能 |
内容 |
ステータス |
開発環境構築システム |
Apache Mavenを利用し、開発環境構築を自動化する |
実装済み |
ビルド・レポートシステム |
Apache Mavenを利用し、テストとレポート出力を自動化する |
実装済み |
デバッグ機能 |
プレゼンテーションロジック(JSP)とビジネスロジック(Java Class)を別々にテストするための拡張。 |
実装中 |
テスト記述の生産性を向上させるためのユーティリティAPI。 |
実装中 |
BL呼出機能 |
Struts標準のActionクラスに類似したJavaクラスを記述することで、EJBとして動作させるための機能。EJBの知識習得を不要にする。 |
実装済み |
環境依存定数の外出し化 |
動作環境によって異なる可能性のある定数(パスなど)を設定ファイルに出すための機能。 |
実装済み |
コードテーブル機能 |
リストボックスの選択肢など、コード-文言セットの集合を定義し、取得するための機能 |
実装中 |
3.システム方式の柔軟性向上のための施策
機能 |
内容 |
ステータス |
BL呼出機能 |
ひとつのBL記述方法(通常のJavaクラスとして記述)で、EJBコンテナ上でEJBとして動作させたり、Servletコンテナ上で通常のJavaクラスとして動作させたりするための機能 |
実装中 |
インフラ機能の部品化 |
キャッシュ、ログ、ジャーナル、キューなど、システム方式の設計に依存する機能を部品化し、差し替え可能にする。Nimbus(仮称)プロジェクトとして独立予定。 |
実装済み |
環境依存定数の外出し化 |
動作環境によって異なる可能性のある定数(パスなど)を設定ファイルに出すための機能。 |
実装済み |
強化版Tiles |
タイルの生成結果をサーバーサイドでキャッシュし、コンテンツ生成時間を短縮する。各々のタイルをキャッシュするか否かは設定のみで切り替えることができ、アプリケーション実装に対して透過的になる。 |
実装中 |
インターセプター アーキテクチャ |
ビジネスロジック実行の前後に前処理・後処理を自由に追加できるようにする機能。 |
実装中 |
4.システムの運用性向上のための施策
機能 |
内容 |
ステータス |
ジャーナル機能 |
リクエスト・レスポンスデータや、ビジネスロジックのIN/OUTデータなどを記録し、監査可能・再現可能にする機能 |
実装済み |
ログ出力機能強化 |
WebアプリケーションのContext名をログ出力に追加し、同一サーバで複数のWebアプリケーションを運用する際の識別性を向上。 |
実装中 |
リクエストにシーケンシャルIDを付与し、アクセスログ、ログ、ジャーナルの出力に追加することで、リクエストの追跡性を向上。 |
実装中 |
画面閉塞機能 |
システムを停止させずにビジネスロジック部をメンテナンスするため、指定されたActionへのアクセスを「メンテナンス中画面」へ転送する機能。 |
実装中 |
JMX対応 |
JMXによる操作、監視、稼動統計取得を行うための機能 |
実装済み |