習得しやすく自由度の高いシンプルなアーキテクチャがStrutsの特徴だ。利用に当たっては,設計思想と適用範囲を理解した設計を行おう。「ボタンの二度押し」検出や認証管理機能,入力チェック機能,JSP合成機能を正しく使いこなそう。
| ||
| ||
|
Strutsは2001年にVersion1.0がリリースされてから,多くのユーザーに支持され,わずか3年で急速に世界に広まった。日本でも多くのユーザーが採用している(表1[拡大表示])。
Strutsによる開発を支援するツールも多数出てきた。GUI上で設計した画面遷移からStruts向けの設定ファイルを生成するツールなどが提供されている(写真1[拡大表示])。オープンソースのツール,商用ツールなど様々なものがあり,Javaの統合開発環境(IDE)も多くがStrutsでの開発を支援する機能を持つ。また,IDEのプラグインとして動作するツールも多い(184ページの表2[拡大表示])。
もはやStrutsは,J2EEにおけるWebアプリケーション・フレームワークのデファクト・スタンダードと言っても過言ではない。
習得しやすいシンプルなアーキテクチャ
StrutsはJ2EEの標準技術であるサーブレット,JSP(JavaServer Pages)を用いた,Webアプリケーション・フレームワークである。
Webアプリケーション・フレームワークは,Webアプリケーションの定型的な処理(リクエストを受ける,フォーム・データの操作,レスポンス・ページの生成処理など)を抽象化したものだ。すなわち,Webアプリケーションにおける定型的な処理を作成する必要がなくなる。Struts以外にも多くのWebアプリケーション・フレームワークが存在するが,Strutsは以下のような特徴を持つ。
1.必要な機能のみをシンプルに提供
シンプルなアーキテクチャを持ち,Webアプリケーション構築に必要な,最低限の機能を提供している。このため,多くの開発者にとって理解しやすく,非常に導入しやすいものとなっている。
2.オープンソース開発による品質の向上
オープンソースゆえに,世界中の多くの優秀な開発者,レビュアによって開発が行われている。それだけでなく,Strutsを開発しているApacheプロジェクトは,整備された運用ルールにもとづき,多くの優れた開発者が参加している。
3.商用利用にあたっての制限が少ない
StrutsはThe Apache Software License*3にもとづいて配布されている。商利用や再配布に特別な制限のない,比較的自由なライセンスである。
4.業務ロジック実装の自由度が高い
Strutsのサービス範囲はWeb層に特化しており,モデルの実装方法を規定していない。業務ロジックはEJBでもJavaクラスでも実装可能であり,自由度が高い。
5.移植性の高さ
Pure Javaで作成され,ポータビリティにも気が配られており,ほとんどすべてのアプリケーション・サーバーでの動作が報告されている。
6.API互換性の維持
バージョンアップ時のAPIの互換性を保証するというポリシーを持って開発されており,利用したアプリケーションの寿命を短くしないよう考慮されている。
黒住幸光(くろずみ・ゆきみつ)氏株式会社アークシステム シニアコンサルタント。 |