開発者にとっての IIS 7


こんにちは。

WCF/WF (.NET Framework 3.0) の話にフォーカスしすぎたので、今日は IIS 7 について記載しましょう。

「IIS 7 で何が可能になるのか?」
可能になることのほんの一部ですが、以下の Web キャストでご紹介しました。 

http://www.microsoft.com/japan/msdn/windows/windowsserver2008/
(この中の「アプリケーションサーバー」の節を展開して表示される Web キャストです) 

上記では無味乾燥なコーディングの事例として紹介をしていますが、今日はここで伝えようとしている(その裏側の)思いを記載したいと思います。 

まず、IIS 7 は、上記のビデオで紹介している要素以外にも IT Pro 的な観点も含めるともっと魅力がたくさんあるということはおぼえておいてください。上記のビデオでは、あくまでも 「開発者にとって何が変わるのか!」 という観点をフォーカスしたかったので、重要なエッセンスに絞ってご紹介しています。

IIS 7 では、ビデオでの紹介の通り、IIS 6 よりもより高度でモジュール性に優れたされたモジュールの組み込み(例えば、ビデオでご説明しているような、認証は ASP.NET でおこない、Web ページのコンテナとしては PHP を使用し、など)が可能になっています。さらに組み込みも .NET による実装など、開発がたいへんやりやすくなっています。(ここでいう .NET は、言語と実装基盤としてみたよりファンデーションに近い部分の .NET です。)
つまり、おおげさな言い方かもしれませんが、カスタムモジュールによる組み込みの加速と進化を促すための新しいフレームワークを搭載した Web サーバと言えます。

既に tomcat (JSP/Servlet コンテナ) や PHP など、IIS に組み込み可能な Web コンテナは isapi などを使った組み込みの機能として IIS 6 から実装されていますが、上記のデモで作成したような .NET で実装したもっとシンプルなものも含め、Microsoft の枠を超えたより広いレベルでのモジュール提供の世界が IIS 7 以降で加速するかもしれません。Struts ではありませんが、以前ご紹介したような WF による MVC エンジン などもモジュールとして組み込むとおもしろいかもしれません。(ある意味、MVC は ASP.NET が苦手とするところです。)

一連の Web キャストで何となく感じ取られている方も多いかと思いますが、Vista 含む Longhorn 時代の開発スタイルとしては、WCF/WF によるサーバ開発にも見られるように、「簡単になる」ことが主要テーマであった .NET (※1) からより一層モデリングや性質にあわせたモジュール性、デザインなどを重視した .NET へと進化しようとしています。(例えば、WF により「変更」は楽になれど、「実装」は楽にはなりません。if 文などを使ってコードを埋め込んでしまうほうが、開発者にとってはよほど楽なはずです。)

※1: こう書くと誤解されてしまいますが、無論、今までがモデルやモジュール性を軽視していたわけではありませんので注意してください。.NET で開発されてきた方はご存知の通り、これまでにも、.NET は優れた考え方を数多く世の中に提供 (& 影響) してきました。

Java の世界でも、EJB のアンチテーゼのごとく Seasar、Spring などの POJO による依存性注入の手段がとられることがあります。行きすぎて、「いろいろありすぎて、エンジニアが理解できない (おぼえることが多すぎる!)」 という状態はあまり歓迎できませんが、IIS による Web 開発の世界でも、今後は、A社の認証モジュールと、B社のMVCエンジン、C社のWebコンテナに、(WCFなど)D社が提供するバックエンドビジネスロジック処理エンジンなど、やりたいことにあわせて多様な選択肢を選び、好きなモジュールをCompositeしてシステム全体を構成する、そんな新しいパラダイムでのWeb開発の世界が広がるかもしれません。そうした、より優れた "モジュール化" のための新しいインフラストラクチャーです。(それには「モジュール」が整ってくる必要がありますので、無論、「1日にして成らず」です、、、)

今日は Developer 視点で記載しましたが、IIS に関しては IT Pro エバンジェリストの奥主が 「Hiroshi Okunushi's Blog ☆ミ」 でよく取り上げていると思いますので(有用なリンクもあります)、IIS について深掘りしたい方は、いろいろ情報が Get できるかもしれません。

 

Comments (0)

Skip to main content