WEBアプリケーションのアーキテクチャ
連載記事:アプリケーション開発技術 第2回
WEBアプリケーションのアーキテクチャ
Javaの普及によりオブジェクト指向が一般となり、多くのアプリケーションフレームワークが開発され、業務システムをオブジェクト指向で分析・設計することが注目を集めています。しかし、アプリケーション開発に携わる全てのSEにオブジェクト指向で考えることを求めるのは非現実的です。
要求分析・基本設計で、ユースケースによりシナリオを定義していくことで見えてくるオペレータ画面操作のひとつひとつを、オンライントランザクションと捕らえざるを得ないWEBアプリケーションにおいて、トランザクションに紐づく業務ロジックの粒度は既に十分に細かいため、業務ロジック部分をオブジェクト指向で設計することが必ずしも必要とは考えません。
SCCでは以下に示すアプリケーションテンプレートに従い、フレームワーク部分は専門のオブジェクト設計技術者がシステムに応じカスタマイズ(特定フレームワーク:Struts、Spring、Seaserなどへのポーティングを含め)を行い、業務ロジックの設計については、業務SEが従来の構造化設計に基づいたモジュール分割、共通化を実践しています。
※アプリケーションテンプレート図(クリックで拡大されます)
アプリケーションテンプレート図で示すように、リクエスト情報(inputBean)を入力にして表示情報(outputBean)を返すというインタフェースが明確なPOJOで作成されるため、フレームワーク依存性がありません。フレームワークの知識とは独立した業務ロジックの開発を可能にします。