はじめに
このフレームワーク(以下「コア」と称します)はベースにjakartaプロジェクトのstrutsを使用します。
strutsはMVCパターンをベースとしたWEB構築のためのフレームワークであり、当社では以前から利用しています。
strutsを利用することで、WEBアプリケーション構築の際の手順やモジュール毎の役割分担が明確になり、成果物の再利用性、メンテナンス性が向上するという恩恵を受けることができます。
しかし、当社で開発するアプリケーションの傾向にあわせてフレームワークの適用範囲を広げることで、さらに多くの恩恵を得ることが見込まれます。
そこで、(1)当社で開発するアプリケーションの多くが必要とするいくつかの機能をstrutsに付加することで実際のアプリケーション開発での工数を削減することを目指しました。
(2)また、当社では、機能単位の再利用のニーズが高く、これを効率的に行うためのパターンを用意しました。
現状でのstrutsを用いた案件での処理の流れは、大まかに以下の図のようになります。
現在までの当社のアプリケーションでは主に黄色の部分のフローが確定していないために、案件毎に処理方法が異なり、再利用性を損なっていました。そこで、この部分を開発するためのパターンを設計しました。
このように、Actionで直接DBにアクセスすることを避け、あくまで「ビジネスオブジェクト」でDB操作をおこないます。開発済みの機能がこのパターンを遵守していれば、必要な一部分を案件にあわせて実装するだけでその機能を案件に追加することができます。また、開発済みの機能にはテストケースを含めることができますので、テスト工数の削減も実現できます。
これらの標準化作業によって、もたらされる利益はいくつか考えられますが、最も重要視したのは顧客への提供スピードの向上です。これまでの混沌とした再利用法から脱却し、管理され、再利用を前提とした仕組みのなかで再利用をおこなうことで、安全で迅速な機能の再利用を実現したいと考えています。



