Home > 強みと特徴 > Webミドルフレームワークの導入
Webミドルフレームワークの導入
私たちはMVCフレームワークにはStrutsを採用しておりますが、右図のようにビジネスロジックとStrutsとの間にもう一つ独自のフレームワークを挟んでWebアプリケーションを構築しております。
この独自のフレームワークをITソリューション部ではWebミドルフレームワークと呼んでいます。
Webミドルフレームワークを導入するメリットは
下記の通りです。
1) モデルとビューの密結合を受け入れ生産性を向上
そもそもStrutsはマッピング情報を設定ファイル(struts-config.xml)に定義することにより、 モデルとビューの疎結合を実現しています。 しかし業務アプリケーションのビジネスロジックに限って言えば、そもそもモデルとビューの結合度は高いのは当然であり 逆に設定ファイル(struts-config.xml)に記述する煩雑な作業自体が生産性やソース可読性を下げていると言われています。
そこでミドルフレームワークにより、モデルとビューのマッピングを直接ソースコードに記述出来るようにし、 アプリケーション開発の生産性を大幅に上げソースの可読性も高くしました。
2) Strutsの機能を限定しソースコードをシンプル且つ統一的に
Strutsは非常に汎用的なフレームワークである為、守備範囲が広く担当者よって実装の仕方が異なる場合があります。 それを統一させる手段としてコーディング規約を定めることが一般的ですが、 私たちはコーディング規約ではなくミドルフレームワークによってStrutsの機能や使い方を限定することにより ソースコードをシンプル且つ統一された構造にしています。
例えば、StrutsのValidatorは非常に強力な機能ですが、私たちが開発する業務アプリケーションは複雑な相関チェックが多く 逆にソースの可読性が下がるという理由から、ミドルフレームワークによりその利用を制限しています。
3) Strutsの有効な機能はミドルフレームワークから委譲
それでもMVCフレームワークをスクラッチ開発するのではなく、Struts上で動作するミドルフレームワークという形になっているのは Struts自体の有効な機能と高い信頼性を活用したいからです。Strutsの同期トークンやDataSource、カスタムタグライブラリ等の 機能はミドルフレームワークからStrutsに委譲しています。
4) 容易なバージョンアップ
業務アプリケーションは、バージョンアップが容易で息の長いシステムである事が求められます。
ミドルフレームワークにより基本的にビジネスロジックはStrutsに依存していない為、
容易にStruts自体のバージョンを上げる事が可能です。
5) 後からでも共通機能を容易に取り込める
ミドルフレームワークはStrutsと業務アプリケーションの間にワンクッションある為、システム全体に亘る共通機能を容易に取り込めます。 例えばSQLコマンドインジェクションの防止やクロスサイトスクリプティング防止機能といった機能は ミドルフレームワークに取り込んでいます。 また、インフラ固有の共通機能もミドルフレームワークの存在により、後からでも容易に取り込むことが出来ます。
