目指せ! Webアプリケーションエンジニア

第3回 Webアプリケーションはどのような構造になっているか

この記事を読むのに必要な時間:およそ 2 分

前回の連載では,利用者がWebサーバ上のアプリケーションを動かすには,Webブラウザから該当アプリケーションのURLを入力すればよいことを学びました。今回は,アプリケーションの作成に先立ち,Webアプリケーションがどのような基本構造になっているか詳しく解説します。

Webアプリケーションの基本構造

前回の連載で例としてとりあげた、口座間の送金処理を行うWebアプリケーションをもう一度振り返ってみましょう。図1に示すように,利用者がURLを入力し,該当する送金業務画面を表示させて,利用者が送金操作を行うことで該当する口座のデータベースを更新するアプリケーションです。アプリケーションは,この図からもわかるように画面に関係する部分と,送金業務を行いデータベースを更新する業務処理部分に分けられています。

図1 口座間の送金処理を行うWebアプリケーションの例

図1 口座間の送金処理を行うWebアプリケーションの例

もちろん、図1の各パートはそれぞれが連動して行われるわけですから,それらを制御する部分も必要です。そこでWebアプリケーションにおいて,このようなプログラムの役割を明確にする方法としてよく用いられる手法がMVCモデルです。

MVCモデルとは

MVCモデルとは,アプリケーションをM(Model)⁠V(View)⁠C(Controller)の3つの局面に分けて、それぞれに独立性を持たせた開発ができるようにする手法です。ここで,Modelは業務処理,Viewは画面表示、ControllerはModelとViewの制御を行う部分として定義されています。

図2 MVCモデルの概念

図2 MVCモデルの概念

Model(モデル)

Modelは業務処理を担当します。この業務処理を行うアプリケーションをJavaで実装する場合、EJB(Enterprise JavaBeans)と呼ばれる仕組みを利用するのが一般的です。EJBは,Javaプログラムを部品化(コンポーネント化)する技術を採用しているため,部品の共有により業務開発の効率化が期待できます。

業務ロジックを表現するEJB
EJBは画面から入力された内容に従い,業務ロジックを実行します。たとえば,送金額の妥当性をチェックしたり,データベースの更新をしたりします。
データベース操作とJDBC
データベースの操作は,SQLというデータベース操作言語で行いますが,SQLとJavaでは,双方で定められているデータの型(日付とかデータの桁数など)に違いがあります。また,データベースへの接続方法などもデータベースのベンダーごとに異なります。このような仕様の差異やベンダー間の差異を吸収し,共通のインタフェースでJavaプログラミングできるようにするための仕掛けがJDBCです。EJBからはこのJDBCを経由してデータベースの更新などを行います。

著者プロフィール

友成文隆(ともなりふみたか)

株式会社日立製作所

http://www.hitachi.co.jp/cosminexus/

コメント

コメントの記入