本稿を執筆中の2011年2月に、ちょうどWindows Server 2008とWindows 7に対応するSP1(Service Pack 1)が公開された。今回のSP1は修正モジュールの適用が主体で新機能はサーバ向けに加わっている程度であり、その内容も比較的地味だ。しかし、Hyper-Vのメモリ管理に関わる新機能(Dynamic Memory)のように、開発者としては無視できないものも含まれている。
そのSP1のリリースということでタイミングが良さそうなので、サーバとクライアントをひっくるめて、Windows向けソフトウェア開発に関する情報提供についてまとめておこう。ちなみに、こうした修正プログラムを一般公開よりも速く入手して研究、あるいは評価できるのも、MSDNサブスクリプション会員のメリットだ。
Windows Server 2008関連の開発者向け情報いろいろ
まず、サーバ用のアプリケーション開発から話を始めることにしよう。その際の情報提供の中核となるのが、Windows Server向けのデベロッパーセンターだ。他のデベロッパーセンターと同様、ここが開発者向け情報提供のポータルとなる。
Windows Server 2008開発者向け技術情報
http://msdn.microsoft.com/ja-jp/windowsserver
なお、Windows Server 2008そのものについての情報を調べるのであれば、MSDNオンラインだけでなく、TechNetオンラインにも目を向けてみたい。そちらには「Windows Server TechCenter」があるので、チェックしておこう。TechNetオンラインでは旧バージョンのWindows Server 2003やWindows 2000 Serverもカバーしている。
Windows Server TechCenter
http://technet.microsoft.com/ja-jp/windowsserver/default.aspx
また、開発に際して配慮しておきたい点についてまとめられたビデオがいろいろ公開されているので、こちらもチェックしておきたい。なお、ビデオの再生にはSilverlightが必要になる。
アプリケーション開発者にとってのWindows Server 2008 R2
http://msdn.microsoft.com/ja-jp/windowsserver/dd197369
互換性実現のための技術情報いろいろ
また、互換性に関する配慮も必要になる。ここでいう互換性とは、開発したアプリケーションソフトがWindows Server 2008で問題なく動作できる、という意味だ。
Windows Server 2008には「Works with Windows Server 2008」「Certified for Windows Server 2008」というプログラムがあり、規定された仕様に準拠しているかどうかを検証した上で、認定を受けられる仕組みになっている。
Windows Server 2008 アプリケーションの互換性
http://msdn.microsoft.com/ja-jp/windowsserver/cc148992
これは必ず行わなければならない作業というわけではないかもしれないが、開発元もユーザーも安心できるので、できるだけ検証は行いたいものだ。特に、Windows Server 2008のリリースより前から存在するアプリケーションソフトをWindows Server 2008で動作させる場合には、新規開発以上に互換性に対する配慮が求められるだろう。バージョンアップに際して、いろいろと仕様が変わっている部分、機能の改廃が発生している部分があるからだ。
いずれにしても、開発したソフトウェアを実際にWindows Server 2008で動作させてテストや検証を行うには、Windows Server 2008が動作するコンピュータが要る。MSDNサブスクリプション会員であれば、サブスクライバダウンロードで入手できるが、会員でない場合には、以下の場所から評価版を入手して対応する必要があるだろう。Windows Server 2008はR2からx64版とItanium版だけになったので、x64に対応したCPU、あるいはItaniumを搭載したコンピュータも必要になる。
Windows Server 2008をご評価ください
http://msdn.microsoft.com/ja-jp/windowsserver/cc137233
64ビット環境への移行をサポート
なお、最初に取り上げた「Windows Server 2008開発者向け技術情報」で、画面左側にある「アプリケーションのテストと認定」以下に「ソフトウェアの認定」というリンクがあるが、この「マイクロソフト イノベート オン プログラム」はすでに終了しているので注意したい。
また、Windows Server 2008 R2では32ビット版(x86)がなくなって64ビット版(x64, Itanium)だけになったので、既存のアプリケーションソフトを動作させる際には注意が要る。WOW64(Windows 32-bit on Windows 64-bit)による互換機能があるとはいうものの、既存の32ビット版アプリケーションソフトを動作させる際には動作検証が欠かせない。そのWOW64については、ベストプラクティスについてまとめたホワイトペーパーがあるので、64ビット版Windowsサーバで32ビット版のアプリケーションソフトを実行する際には目を通しておくと良いかも知れない。
WOW64のベストプラクティス
http://msdn.microsoft.com/ja-jp/windows/hardware/gg463051.aspx
加えて、円滑に64ビット版のアプリケーションソフトを開発できるように、関連情報をまとめたコンテンツも用意してある。ここでは「64ビット版Windowsでの使用に向けた準備」「64ビット互換インタフェースの設計」「32ビット アプリケーションの実行」「移行に関するヒント」といった順序で情報をまとめており、64ビット版向けにソフトウェアを書き直す場合と、64ビット版Windowsで32ビット版のアプリケーションソフトをそのまま走らせる場合の両方に対応している。
64ビットWindowsプログラミング ガイド
http://msdn.microsoft.com/ja-jp/library/bb427430(v=VS.85).aspx