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

head2.gif 4.4.2 サーバー側の設定
 リモートのCOMコンポーネントを利用する場合には,ネットワーク通信することが必要となるため,クライアントとサーバーとでネットワークの設定を合わせる必要がある。これは,コンピュータ同士でネットワークを構築するときに,単にケーブルでつなげただけでは通信できず,通信プロトコルやセキュリティの設定が必要となることと同じ理屈である。

 デフォルトでCOM+は,ほとんどの設定が完了しており,実際に何も設定しなくとも同じドメイン(WindowsドメインおよびActive Directoryドメイン)に属するコンピュータからはCOM+で管理されたCOMコンポーネントを呼び出すことができるようになっている。しかし,その設定ではセキュリティ上よくないこともあるので,ここでサーバー側の設定について説明しておくことにする。

 サーバー側の設定をするには,[コンポーネントサービス]管理ツールの[コンピュータ]の配下にある[マイコンピュータ]を右クリックし,表示されたメニューから[プロパティ]を選択し,プロパティページを開く(Fig.4-37)。

Fig.4-37 プロパティページを開く
fig4_37.gif

 プロパティページには,[全般],[オプション],[MSDTC],[既定のプロパティ],[既定のセキュリティ],[既定のプロトコル]という6つのページが存在する。このうち設定しておきたいのは,[既定のプロパティ]と[既定のプロトコル]という2つのページである。

 既定のプロパティでは,この環境でリモートからCOMコンポーネントを呼び出せるかどうかを設定する(Fig.4-38)。

Fig.4-38 既定のプロパティ
fig4_38.gif

 重要な設定が,[このコンピュータ上で分散COMを有効にする]というオプションである。デフォルトでは,このオプションが有効になっているが,無効にすると外部からのCOMコンポーネントの呼び出しを受け付けることはできなくなる。もし,インターネットサーバーとして利用するような場合には,このオプションを無効にしておけば,外部からの不正なCOMコンポーネントの呼び出しを防ぐことができる。

 [既定のプロトコル]ページでは,どのプロトコルで通信するのかを決める(Fig.4-39)。通常はデフォルトのままでよいが,場合によってはプロトコルを変更したいかもしれない。たとえば,[接続指向TCP/IP]を選択して[プロパティ]ボタンを押すと,特定のポートだけを利用するように設定することも可能である。

Fig.4-39 既定のプロトコル
fig4_39.gif

 なお,あたりまえのことであるが,[既定のプロトコル]ページではクライアント側で利用できるものを選択する必要がある。COM+のデフォルトでは,クライアント側で使われるほとんどのプロトコルが含まれているが,これを削除してしまうと,特定のクライアントと通信できなくなることもあるので注意する。逆にいうと,使わないプロトコルを削除しておくことで,セキュリティを高めることができる。

 Fig.4-38において,[このコンピュータ上でCOMインターネットサービスを有効にする]を有効にすると,Internet Information Server(IIS)と連携し,HTTPを使ってリモートのCOMオブジェクトを利用できるようになる。この機能は,「COMインターネットサービス(CIS)」と呼ばれる(Fig.4-40)。

 一般的に社内LANをインターネットに接続する場合は,セキュリティを強化するためにファイアウォールを設けて外部からのパケットを遮断することになる。ところが,このような設定にすると,DCOMで使われているMS RPCプロトコルまで遮断されてしまい,結果としてインターネットを経由してリモートのCOMオブジェクトを呼び出すことができなくなる。しかし,COMインターネットサービスを使えばHTTPで通信されるため,Webのプロキシサーバーを使ってファイアウォールを越えることができる。ただし,この機能を有効にするには,IISの設定を変更したり,RPCプロキシと呼ばれるプログラムをインストールしたりする必要がある。また,むやみにこのオプションを有効にすると,IISを起動しているときには常に不特定のクライアントからCOM+で管理されたCOMコンポーネントが呼び出されてしまう可能性があるため,COM+アプリケーションのセキュリティをしっかり設定しておかないと,極めて危険である。COMインターネットサービスは今後,HTTPでXMLを使用してCOMオブジェクトを呼び出す「SOAP(Simple Object Access Protocol)」という仕組みに置き換わるようなので,この段階であえて学ぶ必要性はない.そのため,本連載ではCOMインターネットサービスの機能は使わない。

 ほとんどの場合,インターネットを使ってビジネスアプリケーションを構築する場合には,COMオブジェクトを直接クライアントから呼び出すのではなく,Webベースのクライアントアプリケーションを提供するのが一般的である(Fig.4-41)。本連載でも,そのような方法でWebアプリケーションを構築する。COMインターネットサービスについての詳細は,http://msdn.microsoft.com/library/backgrnd/html/cis.htmを参照してほしい。

Fig.4-40 COMインターネットサービス
fig4_40.gif
Fig.4-41 Webページを使ったアプリケーション
fig4_41.gif
prevpg.gif Chapter 4 13/16 nextpg.gif