この特集のトップページへ
Chapter 3:データストア層の構築

head2.gif 3.1.2 全体構造
 Fig.3-1に示したビジネスアプリケーションの要件から,各処理のデータを保存するために,少なくとも,伝票情報,顧客情報,製品情報,請求書情報という4つのデータベーステーブルが必要となるだろう(Fig.3-2)。

Fig.3-2 必要なデータベーステーブル
fig3_02.gif
・製品情報テーブル
 製品名,在庫数,価格などを格納するテーブル。
・伝票情報テーブル
 伝票を格納するテーブル。注文された製品の種類や数,納期などが含まれる。
・顧客情報
 顧客の名前や住所などを格納するテーブル。
・請求書情報
 伝票を一定期間で集計し,作成した請求書を格納するテーブル。

 ただし,Fig.3-2に示したデータベーステーブルは概念的なものあって,実装とは少々異なる。実際にどのようなデータベーステーブルを作ってゆくのかについては,「3.2 データベーステーブルの設計」で改めて説明する。

 Fig.3-1に示したビジネスアプリケーションを構築するためには,Fig.3-2に示したようなデータベーステーブルを用意し,そのデータベーステーブルに対してデータを読み書きするアプリケーションを作ればよいということになる。

 このようなビジネスアプリケーションは,データベースに直接アクセスするような2階層モデルでも実現することができる。しかし,すでに「Chapter 1 クライアント/サーバーアプリケーションの仕組み」でも説明したように,直接データベースにアクセスする2階層モデルで構築するよりも,3階層(N階層)モデルで構築したほうがスケーラビリティが高い。そのため,ここではFig.3-3に示す3階層(N階層)モデルとして実装する。

Fig.3-3 サンプルアプリケーションのモデル
fig3_03.gif

○クライアント

 プレゼンテーション層,すなわちクライアント側で動作するアプリケーションは,Visual Basic 6.0による実行ファイルとして作成する。その動作対象となるOSは,Windows 95,Windows 98,Windows NT 4.0,Windows 2000のいずれかとする。

 ただし,近年はWebでビジネスアプリケーションを構築するという事例が増えてきている。Webでビジネスアプリケーションを構築すると,(1) サーバー側でアプリケーションが動作するためにアプリケーションを配布する手間が省ける,(2) アップデートするときにはサーバー側のアプリケーションを置き換えるだけですむ,(3) クライアントはWebブラウザさえ動作すればよいのでクライアントOSの種類を問わない,といったメリットがある。

 このような理由から,このサンプルでもVisual Basic 6.0による実行ファイルを用意するだけではなく,Webから利用できるユーザーインタフェースも別途用意することにする。このユーザーインタフェースの実装には,Windows 2000 Serverに付属しているIIS(Internet Information Service) 5.0と,サーバー側でVBScriptなどのスクリプトプログラムを動作させる仕組みであるASP(Active Server Pages)を用いる。ASPの開発には,扱う言語体系を少なくするという観点から,VBScriptを採用する。

 なお,Fig.3-3を見るとわかるように,IISおよびASPは3階層モデルにおけるプレゼンテーション層に相当する。「プログラムがどの層に相当するのか」という理論設計と,「クライアント側で動作するのかサーバー側で動作するのか」という物理配置とのあいだに関連性はない。たとえサーバー側で動作しても,それがIISやASPのようにユーザーインタフェースを提供するものであれば,それはプレゼンテーション層にあたる。

○サーバー

 サーバーは1台とし,そのなかにビジネスロジック層とデータストア層を配置する(ビジネスロジック層とデータストア層の配置は設定上の問題にすぎない。必要であれば,両層を別々のコンピュータに分散して配置することも容易である)。サーバーOSには,Windows 2000 Serverファミリを利用する。

 ビジネスロジック層にはCOM+,データストア層にはMSDEを用いる。

・COM+

 Windows 2000 Serverファミリに搭載されているCOM+の機能を使って,COMコンポーネントとして実装したビジネスロジックのプログラムを管理・運用する。

 なお,連載中に扱うプログラムのほとんどは,Windows NT Server 4.0上でMTSを稼働させている環境でも動作させることはできるが,一部のプログラムを修正する必要がある。修正すべき個所については,Chapter 4で説明する。

・データベースエンジン

 データストア層のデータベースエンジンには,MSDE(Microsoft Database Engine)を使うものとする(MSDEについては,「3.3 MSDEを使ったデータベーステーブルの作成」で説明する)。MSDEはSQL Server 7.0の機能制限版に相当するデータベースエンジンであり,Visual Studioのユーザーであれば,作成したアプリケーションとともに再配布することができる。

prevpg.gif Chapter 3 3/22 nextpg.gif