IIS Developer Express について
この記事は IIS Express が Bata リリース時点で記述されたものです。正式リリース後の改訂記事が以下の URL にありますので、そちらをご覧ください。 https://blogs.msdn.com/b/osamum/archive/2011/01/19/iis-7-5-express.aspx |
Tech・Ed Japan 2010 にご参加いただきました皆様、ありがとうございました。
Tech・Ed 最後の WrapUp セッションでは、私のチームのエバンジェリスト全員で WebMatrix についてご紹介させていただいたのですが、今回はそのセッションで私が担当した IIS Developer Express についてのさらに詳しい情報をご紹介させていただきます。
( 図 : WebMatrix での Web サイト設定画面 )
IIS Developer Express とは
ScottGu のブログ においてさえ、“IIS Express” と記述され、我々もそう呼ぶことが多いのですが、正式名称は “IIS Developer Express” といいます。
その名前に含まれる “Developer” という文字が示す通り、IIS Developer Express は、現在の最新バージョンである IIS 7 を軽量かつ自己完結型とし、開発者向けに最適化したものです。
Web アプリケーションの開発や Web サイトをテストする際に簡易的ながら IIS7.x のパワーを提供します。
IIS 7 をIIS Developer Express は、ウェブサイト開発などを容易にするための以下のような特徴があります。
|
IIS Developer Express と IIS 7 の違い
IIS Developer Express は IIS7 から発展したものであり、IIS7 のすべての特徴をサポートしますが、いくつかの相違点があります。
たとえば IIS 7 では、Web アプリケーションのアクティブ化、非アクティブ化を Windows プロセス アクティブ化サービス (WAS) がサイレントで行うためユーザーが直接それをコントロールすることはできませんが、IIS Developer Express には WAS が無いため、ユーザーはアプリケーションのアクティブ化、非アクティブ化を完全にコントロールすることができます。
IIS Developer Express はコマンドラインを使用してサイトを起動することが可能であり、WebMatrix Beta システムトレイを使用することで Web サイトを起動したり、停止させたりすることもできます。
IIS Developer Express はラッパーとして Hostable Web Core ( HWC の) の上に設計されており、そのためWAS によって管理されていない独立した Web サーバーとして使用することができます。
以下のチャートは IIS7 と IIS Developer Express の主要な違いのいくつかについて表しています。
Area | IIS 7 | IIS Developer Express |
配布メカニズム | OS に同梱 | アウト ・ オブ ・ バンド WebMatrix ベータ版の製品リリースの一部として付属 |
Windows クライアントのサポートされるエディション | Vista Home Premium, Business, Enterprise, and Ultimate | XP 以降の Windows |
Windows 7 Home Premium, Professional, Enterprise, and Ultimate | ||
サポートされている .NET Framework のバージョン | v2.0 SP1 以上 | v2.0 SP1 以上 |
サポートされているプログラミング言語 | Classic ASP, ASP.NET, および PHP | Classic ASP, ASP.NET, および PHP |
プロセスモデル | Windows プロセス アクティブ化サービス (WAS) が、自動的に構成されているサイトを管理 | ユーザーがサイトの起動/終了を行う |
Hostable Web Core サポート | ○ | ○ (IIS Developer Express は HWC のレイヤーとして実装) |
サポートされているプロトコル | HTTP, FTP, WebDAV, HTTPS, and WCF (オーバー TCP, Named Pipes, and MSMQ を含む) | HTTP, HTTPS, WebDAV, and WCF over HTTP |
Non-admin サポート | WAS は管理者権限での実行が必要 | 標準ユーザでほとんどのタスクを完了することが可能 |
開発者ごとの環境サポート | - | Yes. 構成ファイル、設定、および Web コンテンツはユーザーごとに維持される |
Visual Studio サポート | ○ | 将来のバージョンの Visual Studio は、IIS Developer Express が使用される |
ランタイム拡張 | See https://www.iis.net/download/All for a complete list. | WebMatrixにはSEO、データベース管理、Web Deploy などのための標準装備が用意 |
管理ツール | IIS Manager | WebMatrix |
システムトレイサポート | - | ○ |
認証、承認、圧縮などに関する内蔵のIIS 7x モジュール | ○ | ○ |
( 図 : IIS7 と IIS Developer Express の相違点)
その他の情報について FAQ のページから抜粋して記述しておきましょう。なお、β 版であるためリリース時には変更になる個所もあるかもしれませんのでご了承ください。
サポートされている OS
Windows XP SP3
Windows Vista SP1
Windows 7
Windows Server 2008
Windows Server 2008 R2
Windows Server 2003 SP2
ただし、Windows Server 2008 Server Core はサポートされません。(.NET Framework が入らないためと思われる)
サポートされている .NET Framework のバージョン
.NET Fraemwork 2.0, 3.0, 3.5, 4.0
SSL について
使用可能です。既定のセットアップでは SSL シナリオを有効化すめために自己証明書をインストールします。
PHP アプリケーションの実行について
実行可能です。 IIS Developer Express は PHPと、アウトオブボックスに含まれる GCI と FastCGI をフルサポートします。
“クラシック” パイプラインモードのサポートについて
IIS Developer Express は IIS7 の 統合モードもクラシックモードもサポートしています。
標準ユーザーアカウントでの IIS Developer Express の実行について
WebMatrix もしくは Visual Studio 2010 を使用して 標準的なユーザーの作成、開発、および Web サイトの発行など、ほとんどのタスクを実行することができます。セットアップ プログラムは標準ユーザーを昇格することなく、自己署名証明書をインストールします。
より上位のユーザー権限を必要とするものには、以下のようなタスクがあります。
- Web サイトを 80 番のポートか、その他の予約されたポートでホストする場合
- カスタム SSL 証明書をインストールする場合
- network-facing で Web サイトを実行する場合
- Windows Server2003 SP2 以降で WebMatrix BetaとIIS Developer Expressを使用するとき
コマンドラインのサポートについて
IIS Developer Express さまざまな実行時オプションをサポートするために、コマンド ライン オプションを使用して起動することができます。コマンドラインを使用する方法の詳細については以下の URL をご参照ください。
https://learn.iis.net/page.aspx/870/use-the-command-line-to-run-a-webmatrix-site-or-application/
IIS Developer Express の XCOPY による配置について
XCOPY による配置は正式にサポートされている機能ではありません。しかしながら、XCOPY 配置を妨げるようなランタイムの依存性はありません。
外部トラフィックのサポートについて
既定では、ローカル ホストの要求のみ処理されます。 ただし、バインディングを変更することで外部のトラフィックを有効にすることができます。セキュリティ上の理由により、これをセットアップするマシン上の管理者権限が必要です。
net.tcp や MSMQなどの非HTTPプロトコルをサポートについて
サポートされません。IIS Developer Express は HTTP と WebDAV のみサポートします。
FTP のサポートについて
WebMatrix の UI は、プロダクション環境で FTP を使用して Web アプリケーションを公開できます。ただし、IIS Developer Express に FTP サービスは含まれません。
IIS Developer Express が使用する設定ファイルについて
IIS Developer Express は IIS7.x でサポートされているのと同じ “applicationhost.config” と “web.config” ファイルを使用します。
主な違いは、IIS Developer Express では、構成がユーザーごとに維持されるということです。
特に、IIS にはグローバルな "applicationhost.config" ファイルがあるのに対し、IIS Developer Express ではユーザー固有の情報を %userprofile%\documents\IISexpress8\config フォルダー内の "applicationhost.config" ファイルで維持します。
これにより、標準のユーザーに IIS Developer Express を実行させ、また、複数のユーザーが同じマシン上で個別に、互いに競合することがなく作業させることができます。
いくつかの設定を設定および変更するには、管理者権限を必要とします。
同じプロセス内での複数のアプリケーションの実行について
IIS と同じく、IIS Developer Express は同じサイト下の複数のアプリケーションが同じプロセス内で動作することをサポートします。
他の Web サーバーとの side-by-side 実行について
IIS Developer Express は、競合するバインディングがない限り と他の Web サーバーと side-by-side で実行することができます。
たとえば、ユーザーは IIS Developer Express と OS 付属の IIS を実行することができます。
IIS Developer Express の既定の設定では、IIS とのポートのコンフリクトを避けるため、IIS が使用する 80 番ポートではなく、8080番ポートで既定の Web サイトをホストします。
IIS Developer Express とその他の Web サーバーのどちらもポート 80 をリッスンするようにしようとすると、バインディングの競合が発生します。
IIS Developer Express の再頒布について
IIS Developer Express の再頒布については現在のところはっきりしておりません、
IIS Developer Express の FAQ ページでは、以下のように記載がありますが、
Q: Can IIS Developer Express be redistributed or embedded in other applications?
A: The Beta version of IIS Developer Express can only run as a separate executable and cannot be redistributed or embedded. This is being investigated for future releases.
Scott Guthrie のブログでは以下のようなコメントがされています。
以下は ScottGu's Blog - 『Introducing IIS Express 』 のコメント部分から、Scott の回答部分のスクリーンショットです。
"Yes - you can redistribute IIS Express with your applications. " と、ばっちりコメントしていますが (※私も本社でのイベントでも同様の説明をうけましたが)、実際にリリースがされるまでなんともいえないところです。
それと、Tech・Ed 2010 WrapUp セッションで、”IIS Express をアプリケーションに含めて配布…” の質問をお受けした際に “IIS7 に付属している WebCore を使用してください” 回答させていただいたのですが、すみません、これは誤りです。
Hostable WebCore の紹介ページ の内容を読むと、いかにも独自サービスのプラットフォームとして配布できそうな感じを受けますが、私の IIS の師匠である奥主さんが以前開発に問い合わせたところ “OS の一部なので配布はできない” との回答を得ていました。
上記の理由により、IIS7.x 付属の Hostable WebCore はアプリケーションに含めて再頒布することはできません。
誤った情報をお伝えしてしまって申し訳ございませんでした。お詫びして訂正させていただきます。
さて、それでは作成した ASP.NET Web アプリケーションと一緒に、それを動作させる Web サーバーはを配布するにはどうすればいいかと言いますと、ここで あの Cassini の出番です。
ちょうど ASP.NET の MVP である 小野修司さんが Cassini を使用して、CD-ROM から Web アプリケーションを起動する方法について記事を書かれておりますので、こちらをご紹介させていただきます。
『CD-ROMから起動できるWebアプリケーション環境の構築』
https://codezine.jp/article/detail/127
※小野さんより、記事が若干古いですが Cassini のソースを入手して最新の .NET Framewok でコンパイルすれば動作すると思います、とのアドバイスをいただきました。(小野さん、感謝です!!)
さて、今回は IIS Developer Express について紹介させていただきましたが、WebMatrix には他にもたくさんの興味深い新機能が搭載されています。
また、Web Matrix をふくめ、今年の年末にかけてさまざまなものがリリース & 露出予定となっておりますのでどうぞお楽しみに。
Comments
- Anonymous
January 13, 2011
IIS 7.5 Express について 2011/1/13 のタイミングで本家 IIS.NET の内容が更新されています。 このブログの記事もアップデート予定ですが、それまでは以下のドキュメントをご参照くださいませ。 IIS Express Overview learn.iis.net/.../iis-express-overview IIS Express FAQ learn.iis.net/.../iis-express-faq