Insider's Eye

マイクロソフトがソフトウェア開発環境の将来戦略を公表

―― これから4年のうちにEverettからWhidbey、そしてLonghorn対応版へとVisual Studio .NETは進化する ――

デジタルアドバンテージ
2002/09/14


 マイクロソフトは、2002年9月上旬に、Visual Studio .NET(以下VS.NET)の今後の開発ロードマップを発表した。

 2002年3月にVS.NETが出荷されてからまだ半年ほどだが、今回の発表でマイクロソフトは、次世代のVS.NET(Everett=開発コード名)の機能概要を詳しく発表するとともに、次々世代のVS.NETであるVisual Studio for Yukon(Whidbey=開発コード名)、さらにその次となるVisual Studio for Longhornについて触れた。本稿では、この発表内容の要点をまとめる。

Visual Studio .NETのロードマップと各バージョンの主要な特徴

 マイクロソフトからの発表資料などを基にしてVS.NETのロードマップをまとめると次のようになる。

名称(開発コード名) .NET Framework
バージョン
主なターゲットOS 主要な特徴・新機能・機能拡張
VS.NET 2002
(現在)
Ver.1.0 Windows 2000 Server+.NET Framework 1.0 .NET Frameworkに対応した初めての統合開発環境
Everett
(エヴェレット)
Ver.1.1 Windows .NET Server ・Windows .NET Serverとの統合
・.NET Compact Frameworkの統合、デバイス開発サポート
・Web Service Development Kitの統合(WS-Security、WS-Routingなど最新のWebサービス・プロトコルのサポート)
・C++言語の強化(ANSI/ISO C++標準への準拠を強化)
・Visual J# .NETを統合
VS for Yukon
(Whidbey
:ウィッドビー)
Ver.2.0 Windows .NET Server ・次世代SQL Server(Yukon=開発コード名)との統合・開発環境の生産性向上、コミュニティ・サポート
・Officeプログラム・サポート(VS.NET IDEからOfficeの全機能を使ったプログラムを作成可能)
VS for Longhorn 不明 Longhorn(Windows XP/Windows .NET Serverの次バージョン) ・Longhornとの統合
・Longhorn導入される新しいUIサポート(UIツールとデザイナの提供)
VS.NETのロードマップ

 正確なタイム・スケジュールは明らかではないが、マイクロソフトの資料によれば、2002年〜2004年のロードマップとしてこれが公表された。額面どおりに受け取れば、これから2年間のうちに、3種類のVS.NET(Everett→Whidbey→VS for Longhorn)を順次発表する予定ということになる。

Windows .NET Serverに対応するEverett

 現在のVS.NET Ver.1.0の次バージョンとして準備されているのがEverett(エヴェレット=開発コード名)である(Everettはシアトル郊外にある街の名前)。Everettの最大の目的は、2002年末から2003年の発売に向けて開発が進められているWindows 2000 .NET Serverに対応した開発環境を提供することだ。Windows .NET Serverは、現Windows 2000 Severの後継となるサーバOSであり、.NET Frameworkを標準搭載し、大幅に改良されたIIS 6(Internet Information Server)を搭載する。最新のASP.NETを利用したWebアプリケーションや、Webサービスを提供するものとして、マイクロソフトの.NET戦略を担うサーバOSである。Windows .NET Serverや、IIS 6の詳細については、それぞれWindows Insiderの以下の記事を参考にされたい。

 Everettの製品版発表時期は、Windows .NET Serverと同じとされる。前述したとおりWindows .NET Serverの発表時期は2002年末から2003年初頭といわれている。Everettの発売もこれと同時期になる予定だ。Windows .NET Serverについては、2002年7月末より、開発者や早期体験希望者向けにRC1の提供が開始された。サーバ製品であることから、早期に開発途中バージョンを提供して、開発者や企業ユーザーの評価を得ようということだろう。タイミングから考えて、Everettについてもまもなく開発途中バージョンの提供が開始されるものと思われる。

■.NET Framework Ver.1.1でモバイル開発環境を統合
 Everettでは、クラス・ライブラリなどのフレームワークが現行の.NET Framework 1.0からVer.1.1へとバージョンアップされ、また、.NET Compact FrameworkとMobile Internet Toolkitを統合し、小型デバイス向けサポートが統合される。現在、.NET Compact FrameworkやMobile Internet ToolkitはVS.NETとは別途入手する必要があるが、Everettでは、デスクトップPCから小型デバイス向けのソフトウェア開発までを1つのVS.NETで行える。

 .NET Compact Frameworkは、携帯電話やパームトップ型コンピュータなどのPDAなどを対象に、Webサービス対応アプリケーション開発をサポートするフレームワークである。携帯電話やPDAなどの小型デバイスでは、マイクロプロセッサの処理能力や搭載メモリ容量、ディスプレイの表示能力などが通常のPCに比較して圧倒的に制限される。.NET Compact Frameworkは、このような制限の多い小型デバイスを対象として設計された.NET Frameworkのサブセット版である。サブセット版ながら、デスクトップPC向けの.NET Frameworkプログラミングで培ったスキルを小型デバイス向けプログラミングで生かせる。.NET Framework 1.1では、Windows CE .NET 4.1 OSを組み込んだデバイスをサポートする。

 Mobile Internet Toolkit(MMIT:Microsoft Mobile Internet Toolkit)は、メーカーや機種による違いが大きいPDAや携帯電話機に対し、特定の機種に依存しないWebアプリケーション開発を支援する開発キットである。MMITには、モバイルWebフォーム・コントロールと呼ばれるASP.NETのサーバ・サイドコントロールが含まれる。機種間の差異は、このモバイルWebフォーム・コントロールが吸収してくれるため、プログラマは個別の機種ごとにプログラムを作成する必要がない(モバイルWebフォーム・コントロールとしては、リスト、コマンド、カレンダーなどがある)。.NET Framework 1.1では、このモバイルWebフォーム・コントロールがASP.NET Mobile Controlsとして統合されている。

 .NET Compact FrameworkとMMITの詳細は、それぞれ以下のマイクロソフトのWebサイトを参照されたい。

■Web Service Development Kitの統合
 .NET Framework 1.0は、現時点で規定されるWebサービス仕様にのっとったサービス開発をサポートする。XMLSOAPWSDLUDDIなどの標準仕様に準拠する現在のWebサービスを利用して、シンプルな分散処理システムを構築することが可能だ。しかし現実のビジネスにおいてやりとりされる機密性の高い情報や、完全性が求められるトランザクションなどをWebサービスを使って処理するには、現在のWebサービス仕様では十分とはいえないのが実情だ。

 その一方で、すでに企業ユーザーの間などでは、Webサービスを応用した分散処理システムの開発が進められている。しかしこの過程で、Webサービスにセキュリティ機能を付加するために、各企業はまちまちに実装を行っている。これでは、Webサービスという共通プロトコルを土台としながらも、実質的には互換性のないサービスが乱立してしまう。

 これに対し、ビジネスの現場でWebサービスを生かそうとするときに、現在のWebサービス仕様では不足しているいくつかの機能についても、標準仕様を確立しようという動きが活発化している。これがGlobal XML Architecture(GXA)と呼ばれるもので、現在、MicrosoftとIBMが中心となって仕様を策定している。GXAは、複数の仕様を総称したもので、内部的には、セキュアなWebサービスを実装するためのWS-Security、Webサービスのトラフィックを制御するためのWS-Routing、バイナリ・データを単一メッセージとしてカプセル化するための軽量なメッセージ・フォーマットであるDIME(Direct Internet Message Encapsulation)など、機能ごとに標準化が進められている。

 マイクロソフトの強みは、仕様書ばかりでなく、それを実装した製品や開発環境などが早期に提供されることだ。このGXAにおいても、サブセット版ながら、対応プログラムを開発するための開発キットであるWeb Services Development Kit(WSDK)のテクノロジー・プレビュー版がマイクロソフトから提供されている。このWSDKには、WS-Security、WS-Routing、WS-Attachments、DIMEが実装されている。WSDKは、これらのプロトコルをサポートするSOAPメッセージを直接制御可能にする低レベルのAPIを提供する。

 Everettで提供される.NET Framework 1.1では、このWSDKの機能が統合される予定である。これにより、.NET Frameworkという共通のフレームワークを利用して、現実のニーズに即したビジネス・システムを構築できるとともに、相互運用性の高いWebサービスが可能になるだろう。

■J#を統合、C++を強化
 現行のVS.NET 2002には間に合わなかったVisual J#.NET(VJ# .NET)だが、次のEverettでは、これも標準言語の1つとして統合される。VJ# .NETはマイクロソフトが提供するJava言語処理系である。ただしJava言語といっても、Javaのバイト・コードを生成する処理系ではなく、VB .NETやC#などの他の言語処理系と同じく、あくまでもCLRを前提とする.NETアプリケーション開発するものだ。Javaクラスライブラリ・サポートはあるが、それもJDK 1.1.4がベースになっており、最新バージョンのJDKはサポートしていない。これから分かるように、VJ# .NETの目的は、既存のJavaプログラムを.NETに移行させるというよりは、言語仕様や一部のJava互換クラス・ライブラリを提供することで、Javaプログラマが.NETプログラミングに移行する際のハードルをできるだけ低くすることだ。マイクロソフトはVJ# .NETとは別に、JLCA(Java Language Conversion Assistant)というJavaプログラムからC#へのソース・コード・コンバータを提供している。既存のJavaプログラムを移行するには、このJLCAを使うこともできる。

 VJ# .NETは、VS.NETユーザー向けに無償ダウンロード・サービスが行われている。VJ#の詳細については、別稿の「Insider's Eye:.NET版Java言語「Visual J# .NET」オーバービュー」「J#の真実:Javaプログラマに.NETの世界を開くJ#」を参照のこと。

 JLCAは、原稿執筆時点(2002年9月)でベータ2がダウンロード可能である。

 またこのJLCAについては、Insider .NETで試用記事を公開している。詳細は別稿「.NET Tools:注目のJava→C#コンバータを試用する」を参照されたい。

 新言語C#の登場によって、少々影が薄くなってしまったC++言語であるが、Everettでは、C++言語のANSIISO C++標準への準拠が強化される。これは、既存のVisual C++プログラマを支援するというより、UNIXやLinuxのプログラマが、できるだけ違和感なくVS.NET環境に移行できるようにする措置である。このようにEverettでは、JavaプログラマやUNIXLinuxプログラマが.NETに移行するためのパスを整備し、.NETを本格的なWebソリューション・プラットフォームとして普及させることを狙っている。

■VS.NET 2002ユーザーは安価に購入可能
 MSDNサブスクリプションの購読者は、購読サービスの一部としてEverettを入手できる予定である。従ってVS.NET 2002にMSDNサブスクリプションの権利が付加されたMSDN Deluxe Editionパッケージのユーザーは、無償でEverettを手に入れられることになる。

 MSDNサブスクリプションの付属しないVS.NET 2002のユーザーがEverettを入手するには購入が必要だ。ただしVS.NET 2002の正規ユーザーに対しては、Everettの発売後一定期間、安価にEverettを購入できるサービスが用意される予定である。

 Everettを必要としないVS.NET 2002ユーザーに対しては、Everettの発表後、VS.NET 2002 製品版(RTM版)の作成以後に発見され、修正されたバグ・フィックスなどを含むService Packが提供される予定である。

Yukonに対応するWhidbey

 まだ詳細は明らかではないが、Windows .NET Serverの次の波としては、Yukonがやってくる。Yukon(ユーコン)は、データベース・システムであるSQL Serverの次期バージョンの開発コード名である。Yukonでは、データベース・エンジンのコア部分にXML対応機能を追加し、さらにこれを、従来のような独立したDBシステム製品としてだけではなく、アプリケーションやOSから利用するベース・テクノロジとして生かそうとしている。2002年7月末に開催された.NET Briefing Dayにおいて、ビル・ゲイツ氏は、このYukonの技術を用いて、従来のリレーショナル・データばかりでなく、電子メールやマルチメディア・ファイルなどをもXMLフォーマットで保持できるようにすると述べた。またWindows .NET Serverの次となるメジャー・バージョンアップ版として開発が進められているLonghorn(開発コード名)では、Yukonの技術をファイル・システムに応用し、さまざまな種類の情報を統一的なメカニズムの上で保持可能にするユニファイド・ストレージとして機能させると述べている(.NET Briefing Dayの詳細は別稿「Insider's Eye:.NET戦略の次の2年間はこうなる」を参照)。

 このYukonとVS.NETを統合したものが、Everettの次バージョンとして開発が進められているWhidbey(ホイッドビー=開発コード名)である。Whidbeyは、米Microsoft本社があるワシントン州ピュージェット湾にあるリゾート島の名称だ(単なる偶然かどうか、VS.NETの開発責任者がこの島のビーチ・ハウスに住んでいる)。

 Yukonでは、データベース・エンジンが.NETのCLR(Common Language Runtime)と密に統合される。これにより、従来は原始的なSQL言語や開発環境に頼っていたデータベース・システムの開発において、VS.NETがサポートする各言語処理系を使えるようになる。具体的には、例えばC#やVB .NETを使って、データベースのストアード・プロシージャを開発することも可能になる。これまで、3層アーキテクチャのネットワーク・アプリケーションにおいて、ビジネス・ロジック層やアプリケーション層ではVS.NETなどの高機能な言語処理系や開発環境を利用可能だったものの、データベース層のプログラミングでは、これらとはまったく異なるプログラミング・スキルが要求されていた。YukonとWhidbeyでは、この点が改善され、アプリケーションのあらゆる層を開発するうえで、VS.NETの共通したプログラミング・スキルを生かせるようになる。

 またWhidbeyでは、Officeアプリケーション開発機能も統合される予定である。OfficeのVBA(Visual Basic Application)を利用するOfficeアプリケーションは、Officeに付属するVisual Basic 6.0相当の環境を使って開発しなければならない。これに対しWhidbeyでは、VS.NETにOfficeアプリケーションの開発機能が統合され、VS.NETから、Officeの全機能にアクセスできるようになるとしている。つまり高機能な最新のVS.NET環境を用いて、Officeアプリケーションが開発できるようになるわけだ。

 そしてWhidbeyでは、開発環境であるIDE(Integrated Development Environment)のさらなる生産性の向上が図られる。中でも面白そうなのは、コミュニティ・サポートの強化だ。まだ詳細は明らかではないが、VS.NETの開発環境の中から、オンライン・コミュニティにアクセスし、必要な情報やソース・コードなどを入手できるようにすることを目的としているようだ。現在でも、オンライン・コミュニティは開発者の貴重な情報交換の場となっている。Whidbeyでは、よりスマートに、これらの情報にアクセスできるようになるだろう。

Visual Studio for Longhorn

 そして、Windows XPとWindows .NET Serverの次バージョンとして開発が進められているLonghorn(ロングホーン=開発コード名)に対応した開発環境がWhidbeyの次バージョンとなるVisual Studio for Longhorn(以下VS for Longhorn)である。残念ながら、開発コード名を含め、これに関する情報はほとんどない。

 Longhornでは、グラフィカル・インターフェイスが一新されるとうわさされている。VS for Longhornの大きな目的の1つは、この新UIをサポートすることにあるだろう。

 またLonghornでは、Yukonの技術がファイル・システムに応用され、ストレージ・サブシステムが大きく変更されることが明らかにされている。ストレージ・サブシステムは、OSの基本的な特徴を決定付ける大きな要素であるから、Longhornでは、この変更に合わせて、カーネル・レベルでもかなり大規模な変更が加えられるものと想像できる。当然ながらVS.NET for Longhornでは、これらLonghornの新しいOSテクノロジをサポートするプログラム開発環境となるだろう。

 マイクロソフトの資料を基に、かなりはっきりとした近未来から、非常に漠然とした遠い未来までをお話ししてきた。重要なことは、コンピューティングの遠い将来についても、すでに具体的な取り組みが始まっているということだ。未来のコンピューティングがどうなるのか、皆さんはプレイヤーの1人として参加できる幸運に恵まれた人たちである。将来には、より優れた環境が手に入ることは間違いない。とはいえそれは、慣れ親しんだ環境とは異なる新しいものだ。これからも、新しい技術が次々と登場してくるだろう。これは時代の先端を歩く開発者の運命でもあるのだが、コンピューティングはまだまだ道半ば。プログラマには、当分は休む時間などなさそうだ。End of Article

 Insider's Eye


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間