SAStruts 【Super Agile Struts】
概要
SAStruts(Super Agile Struts)とは、Java言語によるWebアプリケーションフレームワークの一つである「Apache Struts」を拡張し、設定ファイルの作成・更新の自動化などができるようにしたもの。Seasarプロジェクトがオープンソースとして開発・公開している。Strutsは著名なフレームワークで、Java言語で開発したプログラムをWebサーバ上で動作させ、動的にWebページを生成するWebアプリケーションを開発することができるが、設定ファイルなどの記述量の多さや、修正後のソフトウェアをサーバに反映する煩わしさなどが指摘されていた。
SAStrutsでは「設定より規約」(CoC:Convention over Configuration)と呼ばれる設計原則を取り入れ、アプリケーション上の様々な識別名を特定の命名規約に従って決定していくことで、いちいち設定ファイルに対応関係などを記述しなくても連携できるようになっている。
例えば、クライアントがアクセスするURLのパスの一部をクラス名やメソッド名に読み替え、アプリケーション内の該当する名前のクラスやメソッドを探して自動的に実行するといった仕組みを備えている。従来のように、「このクラスのこのメソッドはこのパス表記で呼び出す」といった対応関係を逐一設定ファイルに記述する必要がない。
また、設定やプログラムコードなどの修正を行なった後、Webアプリケーションが稼働状態のまま更新を反映させるホットデプロイ機能が内蔵され、更新するたびにアプリケーションを丸ごと再起動する必要がなくなった。
(2020.4.8更新)