Insider's Eye

マイクロソフトが開発ツールの将来計画を発表

―― 2004年にWhidbeyを、2005年にOrcasを発表予定 ――

デジタルアドバンテージ
2003/08/08

 2003年7月月29日、米Microsoftは、ソフトウェア開発ツールであるVisual Studio .NET、および.NET構想のベース・フレームワークである.NET Frameworkに関する今後のロードマップについて発表した。

 これによれば、この秋に発表が予定されているOffice 2003対応を加えたVisual Studio Tools for the Microsoft Office Systemを年内に発表することをはじめ、翌2004年にはIDE(Integrated Development Environment:統合開発環境)の強化や標準サポートする開発言語の言語仕様強化、.NET Frameworkの拡張などを行ったWhidbey(ウィッドビー=開発コード名)を発表し、さらに2005年には、次世代Windowsとして開発が進められるLonghorn対応を行ったOrcas(オルカ=開発コード名)を発表するという。

 本稿では、これらの発表資料から、重要なポイントをまとめてみよう。

年内にOffice 2003対応ツールを発表

 Office製品を利用したビジネス・ソリューションを開発するには、VBA(Visual Basic for Application)を使ってOfficeを制御する必要がある。VBAはVisual BasicをOffice向けにカスタマイズしたもので、VBと完全な互換性があるわけではない。このためVBA独自の言語仕様を学習し、Office製品が提供するさまざまな機能(クラス)について理解する必要があった。つまりVBAによるOfficeのカスタマイズでは、独自のスキルやノウハウが必要とされるということだ。

 これに対しマイクロソフトは、Office 2003向けの開発ツールとしてVisual Studio Tools for Microsoft Office System(以下VS Tools for Office)を開発中である。現在は開発途中のベータ版(英語版)が公開されている。VS Tools for Officeの機能をひと言でいえば、Office 2003(Word 2003とExcel 2003)を利用したビジネス・ソリューションを、.NET Frameworkベースで開発可能にするものだ。これにより開発者は、WordやExcelを.NETベースのマネージ・コードから制御できるようになるとともに、強力な.NET Frameworkの各種クラス・ライブラリを利用可能になる。

 VS Tools for Officeは、Office 2003の発表直後に提供が開始される予定である。VS Tools for Officeには、Access 2003 Developer Edition(コピー・フリーのAccessランタイムと追加の開発ツールを含む)、VB .NET Standard Edition、SQL Server Developer Editionが含まれる模様だ。

 VS Tools for Officeの主な強化点は次のとおり。

■コード作成支援
  • 文字列管理やデータ・コレクション、データベース接続、ファイル・アクセスなどといったプログラムで必要となる一般的な処理に対し、強力な.NET Frameworkのクラス・ライブラリを利用できる。
  • Visual Basic NETやC#などの開発言語を使って、Officeドキュメントやワークブック内部で実行可能なコードを記述し、これらの言語からWordやExcelのすべてのオブジェクト・モデルにアクセスできる。
  • VS.NETの強力な開発環境を利用して、Office向けのカスタマイズ・コードを作成できる。

■展開とメンテナンス
 Word/Excelのカスタマイズ・コードをDLLファイルにコンパイルできるようになる。このDLLファイルを共有フォルダに配置して、WordやExcelファイルがオープンされたときにDLLファイルをクライアント・コンピュータに自動的にコピーして実行することができる。従来から同様の処理は可能だったが、VS Tools for Officeでは一切のユーザー操作なくして自動ダウンロードが可能になった。

■セキュリティ
 .NET Framework上で動作するマネージ・コードとして開発できるため、.NET Frameworkが提供するセキュリティ機能をそのまま生かすことができる。.NET Frameworkのレベルで信頼できるコードだけをWord/Excel内部で実行させることが可能になる。これにより、攻撃者による悪意のあるコードがWord/Excelで実行されることを防止できる。

言語仕様および.NET Frameworkの強化を行うWhidbey

 2004年には、VS.NETがサポートする各言語の言語仕様や.NET Frameworkを強化したWhidbeyが発表される。このWhidbeyでは、既存のVS.NETに対するプログラマーの声を反映したさまざまな改良が施される模様だ。多様化が加速するソフトウェア開発において、マイクロソフトだけがプログラマーに向けた情報発信を行うには限界がある。このためマイクロソフトは、現場のプログラマー同士の情報交換を重視する政策を積極的に進めている。この一環としてWhidbeyでは、コミュニティ・サポート機能がVisual Studioの開発環境の中にビルトインされる予定である。

 またWhidbeyでは、SQL Serverの次バージョンとして開発が進められているYukon(=開発コード名)のサポートが追加される。このYukonでは、データベース・エンジンの内部にCLR(Common Language Runtime)を統合することで、従来のデータベース独自言語によるストアド・プロシージャではなく、VB.NETやC#などの汎用的な開発言語を利用して、ストアド・プロシージャを開発できるようになる。これにより、データベースとツールをより高度に統合可能になるとともに、より少ないコーディングでデータ主導のアプリケーション開発ができるようになる。

 Whidbeyにおける強化点としては(1)プログラミング言語の強化、(2).NET Frameworkの強化、(3)エンタープライズ開発の強化の3点がある。

Whidbeyの強化点:(1)プログラミング言語の強化

 前述したとおり、Whidbeyでは、開発者コミュニティにおける意見などを反映して、VB、C#、C++、J#の各言語の仕様が強化される。ただし強化にあたっては、既存のプログラム・コードとの相互運用性が配慮されている。各言語の強化点をまとめると次のようになる。

 なお、VB.NETやC#などに追加される新しい言語機能であるジェネリクス(Generics)、イテレータ(Iterator)、匿名メソッド(Anonymous Method)、パーシャル・タイプ(Partial Type)についての詳細は、MSDNのドキュメント「C#プログラミング言語の将来の機能」を参照していただきたい。

言語 強化点
Visual Basic 使用頻度の高い.NET Frameworkの機能に直接アクセスできる新しいランタイム・オブジェクトとメソッドの提供(必要コード量を削減する)
エディタのエラー・チェック機能の強化(Wordライクなエラー検出機能により、プログラム作成時にエラーを激減させる)
コンパイラのランタイム・エラー検出機能強化(初期化していない変数への参照などを検出する)
データ・アクセス機能の強化(ローカル/リモート・データに加え、XML Webサービスへのアクセスも開発環境から指示可能。テーブルやカラムをドラッグ&ドロップするだけで、コードを記述することなく、典型的なデータ・アクセス機能を持つアプリケーションを開発できる)
デバッグ機能の強化(デバッグ実行を停止せずにコードを編集できる)
言語仕様の強化(演算子のオーバーロード、XMLドキュメント・コメントの記述、クラスを分割して記述できるパーシャル・タイプ、さまざまなデータ型に対して再利用可能な記述ができるジェネリクスなど)
Visual C++ 開発環境でのモバイル・デバイス向けのネイティブ・アプリケーション開発
プロファイル・ベースの最適化*1(POGO:Profile Guided Optimizations)
Whidbey CLRの機能にアクセス可能なC++独自の機能拡張(ジェネリクスを含む)
コアC++ライブラリの拡張(ネイティブ・アプリケーションのDLL配置問題を解消するための「Windows Fusion」のフルサポート、MFCベース・アプリケーションの.NET Framework対応を容易にするための拡張など)
Visual C# ビジネス・フレームワーク開発の生産性向上やオブジェクト指向コンポーネントの再利用性向上のための各種言語仕様拡張(ジェネリクス、イテレータ、匿名メソッド、パーシャル・タイプなどのサポート)
Visual J# J#ブラウザ・コントロールのサポート(既存のJavaアプレットを最小限のソース変更と再コンパイルで.NET Framework対応コードに変換する)
言語仕様の強化(enum型および値型、assert/volatileキーワード、ジェネリクスのサポートなど)
*1 アプリケーションの使用状況を基にした最適化を実行する技術。現在、64bit版POGOのプレリリース版が提供されている。Whidbeyでは、これを32bit版に対応させたものが含まれる。

Whidbeyの強化点:(2).NET Frameworkの強化

 Whidbeyでは、Windowsアプリケーション、Webアプリケーション、Webサービスの各プログラム・タイプを始め、さまざまな点で.NET Frameworkクラス・ライブラリが強化される。主要な強化点をまとめると次のようになる。

カテゴリ 強化点
Windowsフォーム(Windowsアプリケーション) ノータッチ・デプロイメント機能の強化(クライアントへの.NET Frameworkの展開、アプリケーションのオフライン実行、前バージョンへのロールバックなど)
開発生産性を向上する各種機能拡張とコントロールの追加(OfficeドキュメントをホストするActive Documentコンテナ、Officeスタイルのツールバー、マネージ・コードからアクセス可能なWebブラウザ・コントロール、コントロールの位置やサイズを自動調整するレイアウト・コントロール、非同期処理をサポートするBackgroundWorkerコンポーネントのサポートなど)
データベース・サポートを強化するコンポーネントの追加
ASP.NET(Webアプリケーション) データ・アクセス用コンポーネントの改良(データベース・ファイルやXMLファイル、ビジネス・オブジェクトなどの各種データ・ソースをカプセル化する新しいDataSourceコントロールの追加、ページ分割やソート機能を持つデータ表示用のGridViewコントロールの追加など)
複数のWebページ間での一貫性向上とコードの再利用を図る機能強化(メニューやヘッダ/フッタなどのマスターを作成し、これを継承してほかのページを構成可能にする「マスター・ページ」機能の追加など)
Webアプリケーションの表現能力を向上させるテーマ/スキン機能のサポート(スキンはコントロールのプロパティやテンプレートを設定する機能、テーマは複数のスキンとスタイルシートを設定してサイト全体の見映えを制御可能にする機能)
デバイス開発 .NET Compact Frameworkの強化(ネイティブなC++言語によるスマート・デバイス開発サポート)
サポート・デバイスの追加(Smartphone、Windows CE .NET 4.2ベースのデバイス、Pocket PC新版対応)
新しいクラスとコントロールの追加(テレフォニー機能へのアクセス、メッセージング(MSMQ)、ショート・メッセージ・サービスなど)
ネイティブ・コードの相互運用性向上(マーシャリングの改良、COMの相互運用性、ランタイム・ホスティングの改良)
ADO.NET(データ・アクセス) データ・アクセス・オブジェクト・モデルの使い勝手の向上(ネイティブ・コード/マネージ・コードを含む多層間で使われるデータ・アクセス・コンポーネントにおけるトレース機能のサポート、データを永続オブジェクトとして操作可能にする「ObjectSpaces」のサポート)
特定のデータ・プロバイダに依存しないコーディングを支援する新しい抽象クラスの提供(1つのコードから複数のデータ・プロバイダ接続を可能にする)
XML関連機能の強化(XMLアクセス・パフォーマンスの向上、XMLベースのクエリー言語であるXQueryを利用したデータ処理機能の追加)
Webサービス Webサービスの拡張仕様であるWSE(Web Service Enhancements)の最新版への対応

 ノータッチ・デプロイメントは、Windowsアプリケーションを実行時にサーバ側からダウンロードし、サーバが属するセキュリティ・ゾーンに従って(インターネット・ゾーンやイントラネット・ゾーン)、許容される機能だけをプログラムが利用可能にするしくみだ。これにより、クライアント・アプリケーションのバージョン管理をサーバ側で一元的に行えるようになる。バージョン管理に悩まされることなく、リッチ・クライアントを利用可能にする技術である。

 現行のVS.NET 2003でもこのノータッチ・デプロイメントの機能は利用可能だが、Whidbeyではさらに機能が強化され、より容易にノータッチ・デプロイメントを利用できるようになる。管理者にとって最もありがたいのは、ノータッチ・デプロイメントのしくみを使って、.NET Frameworkランタイムをクライアントに展開できるようになることだろう。周知のとおり、.NET Frameworkは標準ではWindowsクライアントにインストールされない。このためノータッチ・デプロイメントでリッチ・クライアント・アプリケーションを展開するには、あらかじめ適切なバージョンの.NET Frameworkランタイムをクライアント側にインストールしておく必要がある。ノータッチ・デプロイメントの利用が進まないハードルの1つはこれだといわれている。Whidbeyでは、この問題が解消されるだろう。

Whidbeyの強化点:(3)エンタープライズ開発の強化

 Whidbeyでは、大規模なエンタープライズ・レベルのアプリケーション開発機能が強化される。具体的には、システム要件の収集やソフトウェア分析と設計、アプリケーション開発、設定と管理方法の変更、テスト、ソフトウェアの展開と運用管理といった一連のフェイズを支援するさまざまな技術がVS .NETに統合される。この際に統合される技術は、マイクロソフトが開発したものばかりではなく、パートナー企業が開発したものも含まれる。

 エンタープライズ開発の強化には次の4つのポイントがある。

■分析/設計
 Whidbeyでは、システム設計担当者が業務要件をWebサービス・ベースのアプリケーションやコンポーネントに変換する作業のために、グラフィカルなデザイン支援ツールが提供される。このデザイン・ツールでは、セキュリティ・ポリシーや使用するプロトコルなどに応じて、アプリケーションやコンポーネントのモデリングを行うことができる。またこのツールは、システムの論理的なアプリケーション構成を物理環境にマップする機能も備える。これにより、複雑なWebサービス・ベースのソリューションを容易に展開可能になる。

■ソフトウェア構成管理
 エンタープライズ・レベルのソフトウェア開発では、多数のプログラマーからなる開発プロジェクトで作業を進めることになる。この際、作業項目の洗い出しやメンバーでの作業の分担、担当者各人が開発したソース・コードのバージョン管理や変更管理などを正しく行わなければ、開発プロセス全体を効果的に管理できない。このためのアプローチとしてソフトウェア構成管理(Software Configuration Management)がある。WhidbeyのVisual Source Safe(バージョン管理ツール)では、このSCMサポートが統合される。

 一方、WhidbeyのVisual Source Safeでは、小規模な開発プロジェクトに向けたサポート機能も追加される予定だ。さらにこのVisual Source Safeでは、Webサービス・サポート、Unicodeベースのプロジェクト管理機能も新たに提供される。

■展開と運用
 Whidbeyでは、Microsoft Operations Manager(MOM)やサードパーティ製システム管理ソフトウェアとの連携機能が提供される予定である。これにより開発者は、アプリケーションの開発とテストだけでなく、その後の展開と管理についてもVS.NET内部から制御できるようになる。これまでのシステム開発では、完成したソフトウェアの展開と運用というITライフ・サイクルの最終工程については、開発フェイズとは切り離して扱うケースが多かった。しかし急速に変化するビジネス要求に情報システムがタイムリーにこたえるためには、運用から次世代の開発フェイズへのフォードバックを確実に行えるようにするとともに、ITライフ・サイクル自体を短縮していく必要がある。マイクロソフトは、こうしたビジョンを同社が提唱するDSI(Dynamic Systems Initiative)の中で主張している(DSIの詳細については別稿「Windows Server Insider:ベールを脱いだマイクロソフトの次世代システム・マネジメント戦略」を参照)。Whidbeyでは、この流れに従って、ITライフ・サイクル全体をVS.NETから管理できるようになる模様だ。

2005年発表予定のOrcasではLonghornに対応

 Whidbeyの次バージョンとしては、2005年にOrcas(開発コード名)が発表される予定だ。このOrcasでは、次期Windows OSとして開発が進められているLonghorn(ロングホーン=開発コード名)対応が加えられる(Longhornの詳細については別稿「Windows Server Insider:次期クライアントOS「Longhorn」本格始動へ」を参照)。ただしマイクロソフトの説明によれば、Visual Studio Whidbeyや.NET FrameworkのWhidbeyバージョン、およびこれらで開発されたアプリケーションは、いずれもLonghornでそのまま実行可能だという。

 まだ詳細は明らかにされていないが、Longhornでは、Windowsのユーザー・インターフェイスが大幅に改良される予定である。このためOrcasでは、新しいLonghornのユーザー・インターフェイス機能への対応を中心に、Longhorn OSの各種新機能への対応がなされる模様だ。

詳細は今秋のPDCで明らかに?

 マイクロソフトのソフトウェア開発環境は、今後も大きく変貌していく。すでに現時点でも、WhidbeyとOrcasという2世代先までが見え始めた。これまでもそうであったように、ソフトウェア開発環境は、マイクロソフト将来戦略を具体的に推し量る重要な指標になる。互換性や相互運用性には最大限配慮されるものと思われるが、現在の環境はあくまで過渡的なものでしかない。読者がアプリケーション開発者やシステム・インテグレータなら、新世代のコンピューティング・ビジネスを先取りするために、また読者が企業のユーザーなら、新世代のコンピューティングを戦略的に活用して競争優位を獲得するために、WhidbeyやOrcasの今後の動向に注目すべきだろう。

 米Microsoftは、ソフトウェア開発者を対象とするカンファレンスとしてPDC(Professional Developer's Conference)を毎年開催している。今年も10月にロサンゼルスで開催される予定だ。このPDCでは、米Microsoftの現場の開発者がスピーカーとなり、セッションを担当する。現場の開発者に触れ、表立っては聞けないちょっとした本音を聞ける貴重なイベントである。

 タイミング的にみて、今年のPDCでは、本稿で述べたWhidbeyやYukon、Orcas、Longhornといった次世代のソフトウェアについて、さらに詳しい話が聞けるものと思われる。コンピューティングの将来を大きく方向付ける内容の濃いPDCになるかもしれない。未来のコンピューティングの動向をいち早く知りたいと考えるなら、参加する価値があるだろう。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 記事ランキング

本日 月間