業務用アプリケーション基盤として見た場合の「Windows Server 2008」の利点は何か--。米Microsoftが2007年内に出荷する予定のWindows Server 2008は,トランザクション機能やファイル・システムなどを強化しており,業務用アプリケーションをより効率的に開発できるという。現在開催中の「TechEd 2007」におけるセッション内容を元に,開発者にとってのWindows Server 2008の利点を確認しよう。

 MicrosoftのエヴァンジェリストであるNeil Hutson氏は,アプリケーション・サーバーとしてみたときのWindows Server 2008の利点は「.NET Framework 3.0を搭載していることだ」と語る。.NET Framework 3.0には,ワークフロー対応アプリケーション構築基盤である「Windows Workflow Foundation」や,Webサービスを使った分散アプリケーションの構築基盤である「Windows Communication Foundation」が含まれているからだ。

 Windows Workflow Foundationには,プロセスの定義や実行,プロセスの可視化などを実現するコンポーネントが含まれている。そのため,申請や承認といったワークフローが含まれるアプリケーションの開発が容易になるという。Hutson氏はさらに,「Windows Communication Foundationをベースにアプリケーションを開発すれば,Webサービスの実装が非常に容易になる。開発者は,メッセージの定義にだけ専念すればよくなるからだ」と力説する。

 なお,Windows Server 2008と同時期に登場する開発ツール「Visual Studio 2008」に合わせて,.NET Frameworkはバージョンが「3.5」になるが,Windows Server 2008に初期搭載される.NET Frameworkのバージョンは「3.0」のままである。Hutson氏は「.NET Framework 3.0と3.5の違いは,サービスパック程度のものしかない」と語るが,「LINQ」」(.NET対応開発言語を使ってリレーショナル・データベースを操作できる技術)を使って開発したアプリケーションを実行する場合は,.NET Framework 3.5が必要になる。.NET Frameworkのバージョンには注意していただきたい。

IIS 7はASP.NETの機能を統合

 Windows Server 2008では,「Internet Information Services(IIS) 7」も,機能が大きく強化された。IIS 7はモジュール・アーキテクチャを採用しており,必要な機能(モジュール)だけを有効にし,不要な機能を無効にできるようになった。Hutson氏は「セキュリティの維持が容易になる」と指摘する。

 IIS 7がホストするのは,Webアプリケーションだけではない。IIS 7は,Webサービスの基盤としても重要になっている。IIS 7には「Windows Activation Service(WAS)」という機能が搭載されている。WASは,Webサービスのリスナーとなり,他のWebサービスからの求めに応じて,サーバー上で新しいサービスを起動したりするサービスだ。WASを使うことによって,分散アプリケーションの構築がより容易になる。

 またIIS 7では,ASP.NETとの統合が進んでいる。最も統合されているのは管理ツールの部分で,IIS 7とASP.NETアプリケーションの設定が,一つのサーバー管理コンソールから実行できるようになった。Hutson氏がTechEdで行ったデモでは,Webサーバーで公開するJPEG画像に自動的に著作権表示を入れるASP.NETプログラムの設定(文字の色や大きさ)を,IISのサーバー管理コンソールで構成できることなどが示された。

 もっとも,IIS 7とASP.NETが完全に統合されているわけではない。今回のTechEdで,GUIのシェルが搭載されないWindows Server 2008のインストール形態「サーバーコア」において,IIS 7が利用できることが発表されたが,サーバーコアで動作するIIS 7では,ASP.NETアプリケーションが利用できない。これは,サーバーコアに.NET Frameworkが含まれていないためだ。

開発者にもありがたい「PowerShell」


写真:Microsoft管理コンソール(MMC) 3.0で設定できる項目は,PowerShellを通じてアプリケーションからも設定可能に
[画像のクリックで拡大表示]

 Windows Server 2008には,.NETをベースにした新しいコマンドライン環境「PowerShell」が搭載されている。Hutson氏は「PowerShellは,開発者にとっても重要だ」と強調する。なぜならWindows Server 2008では,これまでの唯一の管理コンソールであった「Microsoft管理コンソール(MMC) 3.0」で管理できる設定は,すべてPowerShellでも管理できるようになっているからだ。さらに,PowerShellのコマンドは,アプリケーション側からも利用可能である。つまり,PowerShellが搭載されることによって,アプリケーションが従来よりも容易に,Windows Serverの設定を変更できるようになったのだ(写真)。

いよいよ搭載された「トランザクションNTFS」

 最後に,よりカーネルに近い部分での機能強化も紹介しよう。Windows Server 2008ではついに「Transactional NTFS(TxF)」や「Transactional Registry(TxR)」,「Kernel Transaction Manager(KTM)」が搭載される。ファイル・システムやレジストリの更新履歴をログに保存して,自由に過去の状態に戻したりできるようになるのだ。

 Hutson氏は,「これらのトランザクショナル機能のコードは,マネージド・コードではないが(Win32 APIとして実装されている機能),.NETアプリケーションからも利用できるようにラッパーを用意する」と語る。Windows Server 2008では,データベースを使わずとも,従来よりもデータが強固に保護されたアプリケーションを開発できるようになるだろう。