【プログラミング】Apache Strutsについて想うこと
最終更新日: 2017/04/12 2:31pm
こんにちは。経理の小高です。
先日、Apache Struts2の脆弱性と弊社の管理するWebサーバーへの攻撃事例についての記事を書きました。
少し手が空いたのでなつかしさに駆られてApache Strutsのホームページを見てみました。
ずいぶん雰囲気が今風なホームページになっています。
このソフトウェアは「ウェブフレームワーク」という種類のソフトのはしりで、バージョン1.1のときに脚光を浴びました。もう10年以上前のことです。
わたしが以前勤めていた会社でこのソフトを使って、かなりたくさんの大がかりなシステムを作りました。Strutsのバージョンは1.1~1.2だったと記憶しています。
ウェブフレームワークというのは、名前が示すように「ウェブシステムを作るためのフレームワーク」の意味で、「ウェブシステムのお決まりのプログラム」の集合体です。こういった部品を再利用しよう、というのが発想のおおもとにあります。対象となる言語はJavaでした。
特に当時のウェブシステムは、
- 画面を表示
- 画面に入力をしてサーバーに送る。
- サーバーから画面を戻す
という動きをするものがほとんどで、Strutsを使えば、この動きを簡単に実装することができました。(この動きにデータベース処理を加えて、MVCモデルといいます)
Strutsが脚光を浴びる中で、Javaのためのフレームワークが乱立してきました。WebWork、Tapestry、Springなどなど。こういった環境の中で、StrutsはWebWorkを取り込むという決断をしました。これを機にバージョン2となり現在に至っています。
Strutsの売りが「シンプル・イズ・ベスト」でしたので、この転換に違和感を覚えました。
実際、Struts2を仕事で使うことはなくなり、その変わりにSpring Frameworkを使うことにしました。
時はどんどん進み、JavaからLL(Lightweight Languageの略ですが「死語」かと)への移行が進んだり、MVCモデルからSPA(Single Page Application)への移行が進んだりする中で、Strutsがまだ現役で活躍しているというのはとても驚きです。(私自身もJavaでコードを書くことはなくなりました)
ホームページには
Apache Struts is a free, open-source, MVC framework for creating elegant, modern Java web applications. It favors convention over configuration, is extensible using a plugin architecture, and ships with plugins to support REST, AJAX and JSON.
と書かれていて、CoC(Ruby in Railsで脚光を浴びた開発手法)、REST・Ajax・JSON(Javascriptの見直しに中で注目を浴びるようになった技術)への対応がうたわれています。
今回は思い出話だけになってしまいました。
←「【Webサーバーへの攻撃】Struts2の脆弱性を狙った攻撃情報」前の記事へ 次の記事へ「会社情報に事務所の写真を掲載しました。」→