584●MVCアーキテクチャ

584●MVCアーキテクチャ

584.アーキテクチャ・デザイン・コンセプト

584.1 POSAMVCアークテクチャ

  • ソフトウエアの設計指針にはPOSA(Pattern Oriented Software Architecture)に基づくMVCアーキテクチャパターンを用います。
  • これは対話型アプリケーションをModel(必要なデータの保持と業務ロジック)、View(ユーザー・インター・フェース)、Controller(ModelとViewの制御)の三者に役割分担を行い開発するための設計技法です。


      • JavaアプリケーションにおいてはSwingのイベントソースにおけるGUI表示部とイベントハンドラによる制御部、及びBeanの仕様によるモデル部に分割することが可能である。
  • ServerSideJavaにおいてはDBアクセスや在庫検索といった業務処理に関する部分をJavaBeansとしてコンポーネント化し、入出力画面はJSPで開発することでデザイン変更に柔軟に対応できる。さらに、JSPとJavaBeansの連携、HTTPプロトコルに関わるRequest、Responseの制御、データベースコネクションに関わる接続プーリングの実現など統制・制御に関わる部分はServletによって適切に行われる仕組みを実装します。


584.2 Webサーバ・DB接続のプログラム

・サーバサイドのプログラム(今回はJSPやServlet)でDBに接続し結果をhtmlで成形してブラウザに返します。


・具体的にはDBに接続し結果を保持するBeanを用意し、直列化インターフェースを実装してレスポンスパラメータで転送します


584.3 Webサーバ上のプログラム

  • Webサーバ上のプログラムの基本はブラウザからリクエストを受け取ったときにWebサーバ上で処理を行い結果をレスポンスとしてブラウザに返す仕組みを実装することです。
  • この仕組みをJavaで実現するためにサーブレットコンテナを実装したWebサーバを用います。サーブレットコンテナ内でServletJSPが連携して処理を実行することになります。
  • 具体的にはHttpServletクラスを継承しdoGetメソッドdoPutメソッドを実装するServletプログラムを作成します。
  • また業務処理の実行にはServlet内でBeanを実体化することで対応し、結果の出力はsetAttributeメソッドを用いてリクエストにBeanを設定しgetRequestDispatcherメソッドでJSPに対して、リクエストとレスポンスを転送することで対応できます。詳しくは実習で検討しましょう。