第1回講座では,「コントロールパネル」から「コンピュータの管理」を開き,Messengerというサービスの「コンソールメッセージ送信」機能を使用しました。送信したメッセージが相手先に到着すると,その通知が画面に表示されると同時に,イベント・ログという特殊な領域にも書き込まれていました。覚えていらっしゃるでしょうか。

 今回は,Messengerやイベント・ログをはじめとする“サービス”を取り上げると共に,IPアドレス,ドメイン名,ドメイン・コントローラなどのネットワーク用語を紹介いたします。

 第1回目で述べたように,今回からは実行環境としてWindows 2000 Serverが管理するネットワーク環境が必要になります。しかし,Windows 2000 Serverをお持ちでない方もいらっしゃるでしょうから,基本的にWindows 2000 Serverからメッセージを送信してもらい,そのメッセージに対してWindows 2000 Professionalから応答する,という場面を想定します。このため,Windows 2000 Serverを利用できない方は,「ネットワーク環境で作業する場合には,このようにコンピュータ同士が通信するのか」というイメージをつかむつもりで今回の講座を読まれるとよいでしょう。

“サービス”とは何かを考えてみる

図1●Windows 2000レジストリ情報
 皆さんは,第1回講座でMessengerとEvengLogというサービスを実際に使用しています。例えば,メモ帳を使用する場合は,デスクトップ上のショートカット・アイコンをダブル・クリックしたり,あるいは,「スタート」メニューから選択して起動していますね。では,Messengerサービスを使用したとき,プログラムをダブル・クリックなどして起動したでしょうか。しませんでしたね。実は,Messengerをはじめとする“サービス”は,通常のWindows 2000プログラムには違いないのですが,Windows 2000システムの特殊な機能を使用しているのです。ここで特殊な機能とは何か,という更なる疑問が湧いてしまいますが,ここでは,次のように考えておいてください。

Windows 2000は,通常のアプリケーションが“サービス”と呼ばれる特殊なアプリケーションになるためのメカニズムを用意している

図2●Messengerのプロパティ
 このため,Messengerをはじめとするサービス・プログラムは,Windows 2000が提供しているメカニズムを利用しているといえます。ちょっと難しい説明になりますが,まずは次のような情報を見ていただきましょう(図1[拡大表示])。

 この画面をじっくり見ると,Messengerという単語が見えるはずです。さらによく見ると,StartやTypeという単語もあります。結論から言ってしまうと,通常のアプリケーションがサービス・プログラムになるためには,このような情報をシステム・レジストリ内の特定の場所に書き込んでおく必要があるのです。このような書き込み作業を,“サービスの登録”などと呼んでいます。先ほど,Windows 2000は通常のアプリケーションがサービスとなるためのメカニズムを提供していると述べましたが,そのメカニズムは自分が動作するための情報を持っていなければ何もできません。そうです。図1に示した情報こそ,Windows 2000のサービス・メカニズムが動作するための情報だったのです。それでは今度は図2[拡大表示]のような情報を見ていただきましょう。

図3●Event Logのプロパティ
 先に紹介したレジストリ情報と比較してみてください。この情報は「コンピュータの管理」から「サービス」を選択し,その後Messengerサービスのプロパティを選択すると表示されます。「コンピュータの管理」は確かに「コントロールパネル」の一部を構成しますが,サービス・プログラムの動作を制御する機能も提供しています。このようなサービスの動作を制御するプログラムは,専門的には,サービス・コントロール・プログラム,略してSCPと呼ばれたりします。

 図2の画面をじっくり眺めてみましょう。「コンピュータの管理」から起動できるサービス・コントロール・プログラムは,Messengerサービス・プログラムの動作を「停止」したり「開始」したりすることができます。また,Messegerサービス・プログラムは,「スタートアップの種類」が「自動」となっています。つまり,このサービスはWindows 2000が起動するときに,Windows 2000によって自動的に起動されるのです。このため,私たちはMessengerサービスを起動する必要がなかったのです。次に,EventLogサービスの同じような画面情報を見てみましょう(図3[拡大表示])。

図4●Windows 2000 Serverからのコンソール・メッセージ
 Messengerサービスとの決定的な違いがありますが,おわかりになるでしょうか。EventLogサービスは,「スタートアップの種類」がMessengerサービスと同じく「自動」ですが,その動作を「停止」することができません。「停止」ボタンが無効になっています。通常のアプリケーションが停止できない場合,それは“暴走”と表現されますが,サービス・アプリケーションの場合は,設計上の機能の1つなのです。結論を言えば,サービス・プログラムはサービス・コントロール・マネージャ,略してSCM(スカムと発音)により管理されています。より正確に言えば,サービス・コントロール・プログラムは,サービス・コントロール・マネージャ経由で,目的のサービス・プログラムに動作要求信号を送る,という手順を踏んでいます。一種の約束事が決められているのです。

Windows 2000 ProfessionalからServerへのメッセージ
このため,サービス・プログラムの開発者は“受け取らない要求”を設計時に自由に定義することができます。これ以上の詳細には入りませんが,Windows 2000サービス・プログラムの特異な性質の一端はお分かりいただけたのではないかと思います。では,なぜEventLogサービスはWindows 2000と同時に動作を開始し,停止要求を受け付けないのでしょう。実は,Windows 2000自体がEventLogサービスを内部で多用しているからなのです。

IPアドレスとは何かを考えてみる

図6●IPアドレスを指定すると,ホームページが表示される
 システム管理者から図4[拡大表示]のようなコンソール・メッセージが到着したとしましょう。このメッセージにあるEPSON_TOYOTAというのは,Windows 2000 Serverを実行している私のサーバー・マシンの名前です。ちなみにWindows 2000 Professionalを実行しているクライアント・マシン名は,TOYOTA-SOTECという名前を持っていますが,このメッセージにはそのような単語はありません。その代わり,「192.168.111.6」という数値が入っています。この数値こそが実は,IPアドレスなのです。IPアドレスを使用してシステム管理者に返答を送信すると,図5[拡大表示]のようなメッセージ・ボックスがサーバー・マシンの画面に表示されると同時に,サーバー・マシンのイベント・ログにも書き込まれます。

 この場合,私のサーバー・マシンのIPアドレスは「192.168.111.2」ということになります。まとめると,IPアドレスとは各マシンが持つネットワーク上の住所と考えるとよいでしょう。しかも,IP(Internet Protocol)の名前が示すようにInternetを意識して作られた番号体系といえます。このため,インターネット・エクスプローラなどで,“http://192.168.111.2/myhomepage/”などと入力すれば,インターネット・インフォメーション・サービス(IIS)がそれを解釈し,目的のホームページが開かれることになります。具体例を図6[拡大表示]に示します。

図7●コンピュータのドメイン名を表示する
 ちなみに,192.168.111.2というIPアドレスは,正式なIPアドレスではありません。インターネットに自分のサーバー・マシンを接続する場合には,所定の機関から正式なIPアドレスを発行してもらうことになります。ここで使用しているIPアドレス192.168.111.6は,イントラネット内では自由に使用してもよいとされているアドレス値です。詳細は関連図書に譲ります。

ドメイン名とドメイン・コントローラとは何かを考えてみる

 文章だけの説明では飽きてしまうでしょうから,ここではまず図7[拡大表示]を見ていただきましょう。この画面情報は,「コントロールパネル」の「システム」を選択すると表示されます。画面の中には,ドメインという文字列があり,ttoyota.comとなっています。これは,一般にはインターネット上に接続されたサーバーを管理できる“一部の領域”と考えてしまうとよいでしょう。自分が設置したサーバー・マシンが管轄する“縄張り”といってもよいでしょう。

図8●コンピュータ名を使ってメッセージを送信する
 ちなみに,この画面はフルコンピュータ名を教えてくれています。さっそく、このコンピュータ名をMessengerの「コンソールメッセージの送信」に使ってみましょう。図8[拡大表示]のような画面が表示されます。少し文字列が欠けていますが,正常に送信されます。これはサーバーから送られたメッセージです。実は,「コンソールメッセージの送信」にはttoyota.comというドメイン名のみを記述することも可能です。図9[拡大表示]に送信されたメッセージを示します。

図9●ドメイン名を使っても,メッセージを送信できる
 いかがでしょう。Messengerの「コンソールメッセージの送信」機能は学習ツールとしてはかなり便利です。何しろ,送信したメッセージがイベント・ログに記録されるのですから。ノートを取ることが好きな人にはうってつけの機能といえるでしょう。IPアドレスその他の情報も「コントロールパネル」を開くと取得できます。ぜひ探検してみてください。

第3回講座のまとめ

 今回は,MessengerやEventLogサービスを取り上げ,Windows 2000のサービスという仕掛けを紹介しました。また,Windows 2000が誇るネットワーク機能(正確にはイントラネット機能)も具体的に検討しました。Windows 2000の世界は確かに複雑そうに見えますが,その世界が広いだけに,冒険する楽しみもあります。行く手は険しくとも正確な情報があれば,正しい判断ができるものです。「コントロールパネル」や「管理ツール」などを使いまくってください。

 次回は,これまでの知識を生かしながら,MessengerやEventLogサービスを使用したときのWindows 2000の内部世界を,パフォーマンスモニタで具体的に覗いてみます。ごきげんよう。