Apache Strutsの概要
Apache Struts(アパッチストラッツ)は、Java言語を用いてWebアプリケーションを効率的に開発するために使用される、MVC(Model-View-Controllerの略で、アプリケーションを役割単位に分割するソフトウェアアーキテクチャ)ベースのオープンソースのフレームワークです。
最初のリリースは2001年で、当時複雑化していたJ2EEベースのWebアプリケーション開発を容易にし、生産性の向上と実装の均質化を実現するフレームワークとして大きな注目を受けました。
その後、2005年頃にはApache Strutsは、Webアプリケーション・フレームワークとしてはデファクトスタンダードと言えるほどのシェアを持つことになります。
しかし、Spring FWなどの他のフレームワークの登場とともに、技術的な欠点も多く指摘されるようになり、2007年にリリースされたStruts 2ではそれまでの仕組みを捨て、開発されていた別のフレームワーク(WebWork 2)をベースとしたものへと置き換えられています。したがって、Struts 1.xとStruts 2.xには互換性がありません。
現在、新規Webアプリケーション開発の選択肢となることはほとんどありませんが、多くのシステムの中で動作し続けています。ただし、Struts 1.x がEOLを迎えた2014年以降もセキュリティ脆弱性の存在を報告されることが度々あるため、新しいフレームワークへの移行の需要が増えています。
Apache Strutsの特徴
Apache Struts(アパッチストラッツ)は、次のような特徴があります。
- サーブレット/JSPコンテナベース
- MVCアーキテクチャ
- 強力なカスタムタグライブラリ
- 長い間、JavaのWebアプリケーションのフレームワークとしてデファクトスタンダードだった
- 開発に慣れた技術者が多い
- Struts 1.xとStruts 2.xには互換性が無い
- Struts 1.xは2013年4月5日にEOLとなっている
- Struts 2.xの開発は現在も継続している
Apache Strutsと脆弱性
Apache Strutsには、多数のセキュリティーホールが見つかっており、攻撃による被害が多く出ています。特にStruts 2.0から導入されたOGNL (Object-Graph Navigation Language) と呼ばれる式言語に関する脆弱性が多く、根本的な対策がなかなかできていないのが現実です
Apache Strutsの脆弱性対策
NRI OpenStandiaではStruts 2.x だけでなく、1.2.x 1.3.xへの脆弱性パッチの提供を行っています。詳しくはお問い合わせください。
Apache Strutsのライセンス
Apache Struts(アパッチストラッツ)は、Apache 2.0ライセンスです。
Apache Struts(アパッチストラッツ)のコードが使用されていることの明記を条件に、ソースコードの自由な改変と公開が認められています。
Apache Struts(アパッチストラッツ)のライセンスについてご不明な点がありましたら、お気軽にお問い合わせください。
Apache Strutsのダウンロード
Apache Struts 脆弱性パッチ提供
NRI OpenStandiaではStruts 1.2.x 1.3.xへの脆弱性パッチの提供を行っています。詳しくはお問い合わせください。
Apache Strutsのサポート
NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。