この特集のトップページへ
Chapter 2:Component Object Model

Chapter 2...
Component Object Model

 COMは,Windows DNAを使ってN階層アプリケーションモデルを実装するうえで欠かせない技術である。なぜなら,ビジネスロジック層を管理するMTSおよびCOM+で管理可能なプログラムは,COMの仕様に則ったものでなければならないからである。

 もちろん,MTSおよびCOM+をビジネスロジック層として使わずに,独自のシステムで3階層アプリケーションモデル(N階層アプリケーションモデル)を構築することも不可能ではない。しかし,それにはネットワーク通信も含めたかなり大掛かりなプログラムを設計・開発する必要があり,生産性の点でとても現実的ではない。そのため,Windowsプラットフォーム上で3階層アプリケーション(N階層アプリケーション)を構築する場合には,COMの仕様に則ってデータベースにアクセスするプログラムを作り,それをMTSおよびCOM+に登録して,プレゼンテーション層に配置されたアプリケーションから呼び出すという手法をとる。

 Visual Basicでは,COMはもはや馴染み深い技術であり,ほとんどの開発者が知らず知らずのうちに利用しているはずである。たとえば,データベースにアクセスするときにはADOというコンポーネントを使うが,ADOはCOMコンポーネントとして提供されている。また,社内で使う簡易システムでは,Microsoft ExcelをVisual Basicから呼び出して帳票を処理させることもあるだろう。これも,ExcelというCOMを外部機能として呼び出す例である。

 Visual BasicでCOMコンポーネントを使うには,NewキーワードないしCreateObject関数を使う(その書式などについては「2.2 Visual BasicでCOMコンポーネントを使うには」で説明する)。すでにVisual Basicを利用している開発者にとって,NewキーワードやCreateObject関数といった構文は日常的に使われているものであり,いまさら改めてCOMが何であるかを説明する必要はないかもしれない。

 しかし,Windows DNAで提供される機能を使って3階層アプリケーション(N階層アプリケーション)を構築するためには,COMに対するより深い知識が必要とされる。

 そこで本章では,COMとは何なのか,Visual BasicでどのようにしてCOMコンポーネントを利用するのか,そして,COMコンポーネントをどのようにして作成するのかを説明する。

prevpg.gif Chapter 2 1/15 nextpg.gif