Insider's EyeWindows .NET Serverを支えるIIS 6.0(3)
|
|
Michael Cherry 2002/07/26 Copyright(C) 2002, Redmond Communications Inc. and Mediaselect Inc. |
互換性を実現する特殊モード
カーネルモードのHTTP.sysとワーカープロセスの追加、その他の変更により、IIS 6.0は一部の既存アプリケーションに対してバックワード互換性を持たない。そのためIIS 6.0では、IIS 5.0の特定の動作に依存するアプリケーション(生のHTTPリクエストを読むためにISAPIフィルタを使用するアプリケーションなど)向けに、従来との互換性を提供する“IIS 5 Isolation Mode”を用意している。
IIS 5 Isolation Modeに含まれるIIS 6.0の機能は、HTTP.sysだけだ(詳細は次の図を参照)。
IIS 5 Isolation Mode |
IIS 5 Isolation Modeは、ほとんどのプロセスをIIS Administration Serviceで実行する。 |
IIS 6.0ネイティブのWorker Process Isolation Mode(前ページの「IIS 6のアーキテクチャとリクエスト処理」を参照)の場合と同様、HTTPリクエストがカーネルモードのHTTP Listenerに到達すると、リクエストの有効性がチェックされる。リクエストが無効なら、要求者に対してHTTPエラーを返す。リクエストが有効なら、HTTP Listenerはリクエストをキャッシュで処理できるか確認する。レスポンスがキャッシュ内にあれば、HTTP Listenerはただちにそれを送る。 |
しかしこの後、両モードはかなり違ってくる。IIS 5 Isolation Modeは、HTTPリクエストに対して1つのキューしか持たず、ユーザーモード(点線の上)のサービスはすべてIIS 5.0と同じように機能する。つまり、Webアプリケーションは一般に、IIS Administrative Service(INETINFO.EXE)の同じプロセスで実行するか、隔離されたプロセス(DLLHOST.EXE)で実行する。また、Web Administration Service(WAS)はHTTP Listenerのコンフィギュレーションしか行わず、プロセスの監視や再起動は行わない。 |
Microsoftでは、WebアプリケーションがIIS 5.0の特定の動作(HTTPデータストリームから生データを読み込むなど)に依存しない限り、アプリケーションは通常のIIS 6.0モード、つまり“Worker Process Isolation Mode”で動作する、としている。また同社によると、IIS 5.0で動作するすべてのアプリケーションは、IIS 6.0のIIS 5 Isolation Modeでも動作するという。
ただし、両モードを1台の物理サーバ上で共存させることはできない。つまり、IIS 6.0サーバは、Worker Process Isolation Modeか、IIS 5 Isolation Modeのいずれかで動作する。両モードを必要とする場合は、少なくとも2台のサーバが必要となる。
IIS 6.0はインストール方法に応じて、いずれかのモードで起動する。前バージョン6.0サーバへの新規のインストールとアップグレードの場合、デフォルトはWorker Process Isolation Modeとなる。また、前IISバージョンからのアップグレードでは、IIS 5 Isolation Modeがデフォルトとなる。モードはIIS Managerか、IIS Administration MMCスナップイン、あるいはスクリプトで切り替えることができる。
ASP.NETアプリケーションは再コンフィギュレーションが必要
サーバの実行モードの選択に加え、一部のASP.NETアプリケーションでは、IIS 6.0で動作させるために再コンフィギュレーションを行う必要がある。ASP.NETは本来、IIS 5.0を前提に設計、リリースされたものであり、独自のプロセスモデルを採用している。ASP.NETがIIS 6.0で動作する場合、IIS 6.0 Worker Process Isolation Modeを使用し、固有のASP.NETプロセスモデルを無効にする(ASP.NETについては、Directions on Microsoft 2002年1月15日号の「Webアプリ開発環境を改善するASP.NET」参照)。
開発者はASP.NETのリクエスト処理モデルを避けるか、適切なIIS 6.0ワーカープロセス・コンフィギュレーションを手動で設定する必要がある。
新規コードに伴う疑問
IIS 6.0は現在、非公開のベータ版Windows .NET Serverの一部として、ベータテストされているところだ。従って、同製品に含まれるかなりの分量の新規コードが、全体の安定性を損なったかどうかを判断するのは時期尚早かもしれない。IISの新バージョンは、Windows .NET Serverベータの一部として、またMicrosoftのWebプロパティで稼働するいくつかのサーバ(例えばmicrosoft.com)上でのみテストされることになる。
自社アプリケーションのIIS 6.0への移行を検討する企業は、IIS 5.0の場合よりも厳格なテストプロセスを計画すべきだ。アプリケーションを新しいWebサーバで動作させるのにIIS 5 Isolation Modeが必要だと判明した場合、そのアプリケーションをIIS 6.0で動作できるように変更するのは簡単か、それとも(たとえIIS 6.0のメリットをフルに享受できないにしても)サーバをバックワード互換モードで運用した方がいいか、慎重に検討すべきだろう。
出荷時期と参考資料
MicrosoftはWindows .NET Serverを2002年中に出荷する計画で、2003年初めには一般に入手可能となる。IIS 6.0はWindows .NET Serverのすべてのバージョンに含まれる予定だが、LinuxやApacheへの攻勢で先陣を切るのは「Windows .NET Web Server」と呼ばれるWindows Serverファミリーの新メンバーになるだろう。ライセンシングやコストの詳細を含む最終的なパッケージングは、現時点ではまだ不明だ。しかし、このサーバ製品はおそらく導入が容易な中小企業向けのWebサーバと位置付けられ、Webサーバとしてのみ稼働する製品になるだろう。
[参考情報]
IIS
6.0の設計変更に関する情報
Windows
.NET Serverファミリーの概要(IIS 6.0に関する説明も多少含む)
Windows .NET Serverに関する情報
Windows
.NET Serverに関する日本語の情報
バルマーCEOが来日、東大シンポジウムで講演 6月24日、米国マイクロソフトのスティーブ・バルマーCEOが来日し、東京大学大学院情報理工学系研究科とマイクロソフトの共催シンポジウム(東大安田講堂)で講演を行った。冒頭のコメントは、ITがまだ普及途上にある現状を大学になぞらえたもの。 同研究科の田中英彦研究科長のプレゼンテーションに続き、バルマー氏が行った講演のタイトルは「The Digital Decade-The Vision of Future Environment」。 今後の情報技術における進化のトレンド、シナリオ、そしてそれらを実現するアプローチが語られた。また、向こう10年におけるイノベーションは、従来にはないほどの極めて大きなものになるとし、ITは社会と生活に今後も変化をもたらし続けるとともに、大きなビジネスチャンスの生まれる可能性が強調された。さらに、「クライアント側PCは、シングルハンドの携帯電話、ダブルハンドのPDA、よりリッチなモバイル環境を提供するタブレットPC、そしてデスクトップに分かれて進化していく」との見方も示した。 講演の途中、マイクロソフトリサーチによって研究されている、自然言語技術を持つスピーチエンジンと、C#を用いた .NETフレームワークのデモが行われた。そして「日本の研究機関とマイクロソフトリサーチとの連携をより深めたい」というバルマー氏のコメントで講演は締めくくられた。 |
Directions on Microsoft日本語版 本記事は、(株)メディアセレクトが発行するマイクロソフト技術戦略情報誌「Directions on Microsoft日本語版」から、同社の許可を得て内容を転載したものです。Directions on Microsoftは、同社のWebサイトより定期購読の申込みができます。 |
INDEX | ||
Insider's Eye | ||
Windows .NET Serverを支えるIIS 6.0(1) | ||
Windows .NET Serverを支えるIIS 6.0(2) | ||
Windows .NET Serverを支えるIIS 6.0(3) | ||
「Insider's Eye」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|