この特集のトップページへ
Chapter 6:ビジネスロジックの設計

Chapter 6...
ビジネスロジックの設計
〜コンポーネントプログラミング〜

 前提となる知識の解説が少々長くなってしまったが,これまでに説明したCOM+の特徴をうまく利用しながら,ビジネスロジックを構築してゆくことにする。

head1.gif 6.1 ビジネスロジックの概要

 まずは,本節で構築するビジネスロジックの概要から説明しよう。

head2.gif 6.1.1 作成するコンポーネント
 すでに「Chapter 1 クライアント/サーバーシステムの仕組み」でも説明したとおり,ビジネスロジックとは,プレゼンテーション層に配置されたプログラムからの要求を受け,データベース層に置かれたデータベースに対して各種の操作を実行するプログラムである。3階層(N階層)アプリケーションをCOM+で開発する場合,ビジネスロジックはCOMコンポーネントとして実装される。よって,プレゼンテーション層からの要求は,COMコンポーネントのメソッドやプロパティを経由して受け取ることになる。換言すれば,「ビジネスロジックを設計する」ということは,「COMコンポーネントにどのようなメソッドとプロパティが必要になるのかを考える」ということにほかならない。

 このような理由から,一般にビジネスロジックを設計するときには,データベースに対してどのような処理が必要となるのかを考えるよりも,プレゼンテーション層に対してどのような機能を提供するのかを考えて,作業を進めることが多い。

 ここで構築するサンプルアプリケーションが必要とする処理は,大きく「顧客管理」「製品管理」「伝票管理」「請求書管理」という4つの処理に分けることができる。そこでまず,それぞれのビジネスロジックを,「Business.Customer」「Business.Product」「Business.Slip」「Business.Bill」という4つのCOMコンポーネントに分割して実装することにしよう(Fig.6-1Table 6-1)。

Fig.6-1 ビジネスロジックをCOMコンポーネントで実現する
fig6_01
Table 6-1 用意するビジネスロジック
COMコンポーネント用途
Business.Customer顧客を管理するコンポーネント
Business.Product製品を管理するコンポーネント
Business.Slip伝票を処理するコンポーネント
Business.Bill請求書を処理するコンポーネント

 なお,この段階では,まだどのCOMコンポーネントがどのデータベーステーブルにアクセスするのかを決定しているわけではない点に注意してほしい。たとえば,Business.Slipコンポーネントには伝票を全般的に管理させるが,このコンポーネントが伝票の情報を保持する伝票情報テーブル,明細情報テーブル,伝票追加情報テーブルのみを操作するわけではない。製品が発送されれば製品情報テーブルの在庫数を更新することになるし,発送が完了して経理部に受理されれば請求書を発行するために請求書情報テーブルにレコードを追加することになるだろう。ビジネスロジックを機能面で設計するときには,プレゼンテーション側にどのような機能を提供するかを決めるだけである。ビジネスロジックの機能とデータベーステーブルとが,1対1で対応するわけではない。

prevpg.gif Chapter 6 1/92 nextpg.gif