About Cassini.


みなさんは “Cassini” ( カッシーニ ) をご存じでしょうか?

正式デビュー後は “ASP.NET 開発 サーバー” と呼ばれています。

Visual Studio で ASP.NET プロジェクトを実行したときに、画面の右下にひっそりと表示される、そう、まるで路傍にひっそりと咲く花のような "それ" です。

image
図 : "ASP.NET 開発サーバー" こと Cassini が実行されたところ

Cassini は、IIS がない環境でも ASP.NET の開発が行えるよう、 Visual Studio に搭載されている簡易的な Web サーバーです。

これにより、IIS が付属していない Windows のエディションを使用しているユーザーや、なんからの事情で IIS をインストール、使用できないユーザーであっても ASP.NET アプリケーションの開発を行うことができるのです。

登場以来、今も多くの ASP.NET 開発者のコードを実行し、支えてきた Cassini でしたが 先日発表された IIS Express の登場により、近い将来歴史の表舞台から姿を消すことになりました。

今回は、今まさに押し寄せる時代の波間に消え去ろうとしている “ASP.NET 開発サーバー” と呼ばれた、まさにASP.NET 開発にその生涯をささげた  Cassini に焦点をあて、その実像に迫ってみたいと思います。

 

About Cassini.

Cassini の誕生

Cassini の出自は 2004 年までさかのぼります。

当初、Cassni は、System.Web.Hosting API を使用した ASP.NET のホストのサンプルプログラムに過ぎませんでした。

いまでこそ “ASP.NET 開発サーバー” と呼ばれている Cassini ですが、その正体は System.Net.Sockets を使用してビルドされた単純な HTTP リスナーに過ぎません。

実際のところ Cassini のソースコードは今でも公開されており、誰しもが簡単に入手することができるのです。

Cassini Sample Web Server
http://www.asp.net/downloads/archived-v11/cassini

しかし、その手軽さと ASP.NET アプリケーションがホスト可能であるということから、いつしか IIS を使用することのできない ASP.NET 開発者の代替 Web サーバーとして使用されるようになりました。

 

時代の要求

Cassini が登場するまで、ASP.NET の開発には IIS の存在が不可欠でした。

ASP.NET プロジェクトの作成から、デバッグ、配置まで、ASP.NET は IIS なしでは開発を行うことができませんでした。

しかし、当時、ホームユースを目的としてリリースされた Windows XP Home エディションには IIS が搭載されておらず、それを知らずに Visual Studio を購入した多くの開発者が、ASP.NET が開発できないことに途方に暮れていました。

また、社内のポリシーでフル・スペックの Web サーバーを PC に入れることができない開発者や、管理者権限のないアカウントで作業を行っているため IIS をインストールできない開発者たちも同様でした 。

時代が、人々が、IIS に代わる、ASP.NET 開発者のための Web サーバーを必要としていました。

そこで、意図的であったのか、純粋に運命のいたずらであったのかは不明ですが、Cassini にスポットが当てられました。

 

さよなら ノーマ・ジーン

かくして、 Cassini には数多くのユーザーにダウンロードされ、当時の最新バージョンであった Visual Studio 2003 で使用されるようになりました。

そして、次のバージョン Visual Studio 2005 では、”ASP.NET 開発サーバー” という名前で製品の一機能として正式に搭載されたのです。

この姿は、かつて田舎の片隅で工員としてして暮らしていた “ノーマ・ジーン” という名の娘が、”マリリン・モンロー” という名前を与えられて全米の男性の(※自主規制)・シンボルとなっていった様をほうふつとさせずにはいられません。

以来、多くの開発者の何万、何億というコードが、Cassini の上で実行されてきました。

そして今この瞬間も、世界中のどこかで Cassini は ASP.NET 開発者のコードを実行しているのです。

 

Cassini のスペック

ASP.NET 開発者に使用される Cassini ですが、もともとが単なるサンプルコードだけあり、そのスペックは Web サーバーとして必要最低限のスペックを満たす簡易的なものに過ぎませんでした。

機能的未実装は “制限” という体のいい言葉に置き換えられました。

Cassini の主な機能制限
  • ポートあたりの 1 つだけの ASP.NET アプリケーションをホスト可能
  • HTTPS はサポートされない
  • Web サーバー認証をサポートない
  • localhost 要求にのみ応答

また、ASP.NET の配置先となる IIS とは、もともとコードもテクノロジーも異なるため、ASP.NET の実行に際して、動作に差異が発生することもわずかながらありました。

 

Cassini のフォーク

Cassni の Web サーバーとしての機能的不備を補うための派生したプロジェクトがいくつか作られました。

なかには以下のように、実際の Web サーバーを使用したのと変わらない開発を行える、気合いの入ったものもあります。

CassiniDev - Cassini 3.5/4.0 Developers Edition
http://cassinidev.codeplex.com/

しかし、そういった愛用者のほほえましい努力をあざ笑うかのように、時代の波は強力に押し寄せてきます。

IIS Express の登場です。

 

新しい時代と IIS Express

2010 年 7 月 2 日、Microsoft の 副社長であり、ASP.NETやSilverlightなどの開発チームを率いるScott Guthrie のブログIIS Express が発表されました。

IIS 7 の Web Core から作られた IIS Express は、当然のことながら IIS と同じ動作をし、拡張性、サポートされる機能、その他のすべてのスペックにおいて Cassini を凌駕していました。

IIS Express の特徴
  • 軽量で簡単にインストール(10MBytes以下)
  • Visual Studioからアプリケーションを起動・デバッグに管理者権限が不要
  • SSL、URL書き換え、メディアのサポート、そのほかすべてのIIS 7.xモジュールを含む、Webサーバー機能のフルセットが使用可能
  • IIS 7.x がサポートしているものと同じ拡張性モデルと Web.config ファイル設定が可能
  • IIS および ASP.NET開発サーバー (Cassini) とサイドバイサイドでインストール可能
  • Windows XP以上のシステムで動作

 

IIS Express の投入は今年の後半に計画されている Visual Studio 2010 と、Visual Web Developer の SP のリリースで行われる予定です。

これにより Visual Studio が ASP.NET プロジェクト実行時に使用する Web サーバーは Cassini から IIS Express に置き換わるということです。

しかし、多くの ASP.NET ユーザーは、SP 適用以降も Cassini がいなくなったことに気づかないでしょう。

Cassini  は誰にも気づかれることなくひっそりとその役を退き、長く続いた “ASP.NET 開発サーバー” という名前を捨て、本来のサンプルコードに戻ることになるのです。

そして多くのプログラムがそうであったように、時代の波の中に消え、その存在は Wikipedia か、未メンテのドキュメントにのみ、その名前を残すことになるのです。

 

<備考>

Cassini という、アメリカ航空宇宙局が打ち上げた土星探査機の名称と同じくするこのコードネームは、旧 WebMatrix の名称変遷の途中にある "Project Saturn" と呼ばれていたころに名付けられたこと由来すると言われていますが、その真偽は定かではありません。

 

Real Time Analytics

Clicky

Comments (0)

Skip to main content