Microsoft.NETが目指す次世代情報環境とは?

3.マイクロソフトが提唱する次世代インターネット・ビジョン、Microsoft.NET


デジタルアドバンテージ 小川誉久
2000/11/15

Page1 Page2 Page3 Page4 Page5 Page6

 前置きがずいぶんと長くなってしまった。これまでの話はあくまで一般論であって、マイクロソフトに限った話ではない。次世代インターネットの主導権を狙う各社ともにほぼ共通している基本的なビジョンである。

 それではいよいよ、マイクロソフトが考える次世代インターネットのビジョンと、その実装について話を進めていこう。

マイクロソフトが考えるプラットフォームの進化

 すでに述べたように、来たるべき次世代のインターネットの情報環境に向けて、マイクロソフトが提唱するビジョンがMicrosoft.NETであり、このビジョンを実現するために、マイクロソフトが提供するさまざまな製品やサービス、技術すべてを包含する情報プラットフォームは「.NETプラットフォーム」と呼ばれる。これまでマイクロソフトは、Windows 9xやWindows Me、Windows 2000、Windows CEなどのWindows OSをベースに、パーソナル・コンピュータを中心とするOSプラットフォームを提供し、圧倒的なシェアを獲得するに至った。そして次世代のMicrosoft.NETビジョンにおいては、適用範囲をパーソナル・コンピュータやLANからインターネット全体に広げ、分散ネットワーク環境を前提とした情報システム、情報サービスの提供を目指す。この「Windowsプラットフォーム」から「.NETプラットフォーム」への進化のポイントをまとめると次表のようになる。

  現在 未来
マイクロソフトが提供する情報プラットフォーム Windowsプラットフォーム:Windows OSを基本とする情報プラットフォーム .NETプラットフォーム:Windows OSに加え、携帯端末や携帯電話機、インターネット・ワイドな分散オブジェクトなどを幅広く有機的に結合する情報プラットフォーム
ハードウェア・プラットフォーム PCアーキテクチャを持つデバイス PCアーキテクチャおよび他のアーキテクチャからなるデバイス(携帯端末、携帯電話、家庭用端末など)
ソフトウェア・インターフェイス API(Application Program Interface):関数呼び出しベースのインターフェイス ビルディング・ブロック:分散オブジェクトも使用可能な広範囲なインターフェイス
情報の格納先 ファイル・システム:FATやNTFSなど XMLストア:XMLインターフェイスによってアクセス可能な情報ストア
ドキュメント・インターフェイス 複合ドキュメント(compound document):複数のActiveXオブジェクトを複合的に表示・編集可能なドキュメント・インターフェイス ユニバーサル・キャンバス(universal canvas):XMLをベースとする複合ドキュメント・インターフェイス。インターネット上に存在するさまざまなXMLデータを統一的なインターフェイスで操作可能なキャンバス上に表示し、編集することが可能
使い勝手 ユーザー・インターフェイス(user interface) ユーザー・エクスペリエンス(user experience)
ソフトウェアによる情報サービス アプリケーション:機能単位に独立したアプリケーション サービス:ユーザーの要求に応じて、複数の機能単位を複合的に機能させる
プラットフォームの進化

ハードウェア・プラットフォームの進化

韓Samsungと米Microsoftが共同開発中の携帯電話機
認証サービスであるPassportで認証を受け、ネットワークから自分の住所録やスケジュール、電子メールなどをダウンロードするデモが行われた。

 IBM PC/AT互換機のアーキテクチャをベースとするクライアント・サイドPCにおいて、マイクロソフトがOSやアプリケーションの分野で圧倒的な影響力を持つことは疑いがない。すでにマイクロソフトは、PDA(Personal Digital Assistance:小型情報端末)向けのOSとしてWindows CEを提供しており、Pocket PCとして製品化も行われている。また同社は、家庭用テレビとアナログ・モデムを使用して、リビングルームからの簡便なインターネット・アクセスを可能にする家庭用端末、WebTVを提供している。

 マイクロソフトは現在、Pentium III-733MHzを搭載し、8Gbytesハードディスク、10/100 Mbps イーサネット・インターフェイスを備える次世代の家庭用ゲーム機、Xbox(エックス・ボックス)も開発中だ(米MicrosoftのXboxのホームページ)。米Microsoft CEO スティーブ・バルマー氏のスピーチなどによれば、これは「.NETプラットフォームにおける重要な要素になる」ものだという。ネットワーク機能を標準で搭載していることからしても、WebTVの次世代を担うリビング・ルーム用コンピュータに位置づけられるものと考えられる。

タブレット型PC

Forum 2000のデモでは、ソフトウェアによって液晶ディスプレイの表示クオリティを向上させるClearTypeテクノロジが披露された。米Microsoftは、電子ブック用リーダーソフトウェアとして、Microsoft Readerを提供している。液晶ディスプレイを持つタブレット型PCは、こうした電子ブック用ビューアの代表的なデバイスになるだろう。

 .NETビジョンを初めて披露した2000年6月のForum 2000では、このほかにも、韓Samsungと米Microsoftが共同開発中の携帯電話機(写真)や、タブレットPC(写真)などのデモンストレーションが行われた。マイクロソフトは、ソフトウェアによって液晶ディスプレイの表示クオリティを向上させるClearTypeと呼ばれる技術を開発中だ。Forum 2000では、液晶ディスプレイを持つタブレット型PCにおいて、このClearTypeのデモが行われた。すでに米Microsoftは、電子ブック用ビューアであるMicrosoft Readerを提供しており、米国ではReader対応のタイトルも提供されている。タブレット型PCなどは、こうした電子ブック・ビューア用のデバイスとしても利用されることになるだろう。

ソフトウェア・インターフェイス

 基本的にこれまでのWindowsプラットフォームにおけるアプリケーションは、OSが提供する関数群であるAPI(Application Program Interface)を呼び出すことで、OSが管理する各種資源にアクセスするようになっていた。アプリケーション・プログラマには、MFC(Microsoft Foundation Class Library)やATL(Active Template Library)といったクラス・ライブラリが提供されていたが、これらによってもAPIは完全に隠蔽されるわけではない。

 その後マイクロソフトは、COM(Component Object Model)と呼ばれるオブジェクト・モデルを考案し、さらにこれを分散ネットワーク環境で実行可能なDCOM(Distributed COM)に発展させた。COMを利用することで、煩雑なAPIなどを意識することなく、アプリケーションを構成できるようになった。しかしこれらは、基本的にマイクロソフトの独自インターフェイスであり、洗練された名前解決の手段も提供されなかったため、広く一般に活用されるには至らなかった。

 これに対し.NETプラットフォームでは、これらのAPIやCOMがビルディング・ブロックと呼ばれるものに進化する。「building block」には、「建築用ブロック」とか「(おもちゃの)積み木」といった意味がある。マイクロソフトのプレゼンテーションなどでは、このビルディング・ブロックという表現が多用されているが、その厳密な定義は見あたらないし、担当者や文献によっても微妙にニュアンスが異なっているようだ。これらの情報を総合すると、何らかのサービスを実現するための、広い意味でのコンポーネント/オブジェクトを総称してこのように呼んでいるようだ。実態として、伝統的なAPIや手に馴染んだクラス・ライブラリがこれに含まれるのかどうかは不明だが、少なくともビルディング・ブロックという呼称の背景には、SOAP/XMLインターフェイスを持つWeb Service(詳細は後述)をインターネット・ワイドな分散オブジェクトとしてソフトウェアから使用できるという点が強調されているものと考えられる。後述するように、ユーザー認証や情報格納といった基本的な機能要素を提供するビルディング・ブロックは、コア・ビルディング・ブロック(core building block)と呼ばれる。

情報の格納先

 Windows OSでは、システムのローカル・ディスクやネットワーク上の共有ディレクトリであるFATまたはNTFSファイル・システムに情報を格納し、Windows APIなどでこれにアクセスしていた。これに対し.NETプラットフォームでは、SOAP/XMLインターフェイスを備えるXMLストア(XML Store)へと進化する。当然ながら、XMLストアはインターネット上のサイトとして存在することが可能で、インターネットに接続されたオンラインの状態では、デスクトップPCや携帯端末など、異なるデバイスからXMLストアに格納された情報にアクセスすることができる。またインターネットに接続できないオフライン時に備えて、ローカル・ディスクなどにデータを複製する(レプリケートする)機能も提供される。具体的な連携内容は明らかでないが、ドキュメントによれば、従来のNTFSやデーターベース・システムであるSQL Server、メール・システムのExchange、Web上のコミュニティ・サービスであるMSNコミュニティもXMLストアと連動させて利用することができるという。

ドキュメント・インターフェイス

 複合ドキュメント(compound document)は、たとえばワードプロセッサであるWordの文書の中に、Excelのスプレッド・シートやPowerPointのプレゼンテーションを挿入して、実際には複数の異なるアプリケーション(ActiveXオブジェクト。それ以前はOLEオブジェクトと呼ばれた)で構成される文書でありながら、ユーザーはそれをあたかも1つのドキュメントとして参照したり、編集したりできるように考案されたものだ。アプリケーションを起動してドキュメントを開くというアプリケーション・セントリックな(アプリケーション中心の)環境ではなく、ドキュメントを開くことで、それを構成する複数のアプリケーションが起動するというドキュメント・セントリックな(ドキュメント中心の)環境として、一時は注目された技術である。

 しかし複合ドキュメントは、それを正しく開いたり、編集したりするために、ドキュメント内に含まれるオブジェクトに対応するアプリケーションがインストールされていなければならず、結果として文書のポータビリティを大きく阻害することになってしまった。結果的に、複合ドキュメントは広く利用されるには至っていない。

 これに対し.NETプラットフォームでは、ActiveXに変わり、XMLベースの複合情報アーキテクチャであるユニバーサル・キャンバス(universal canvas)に進化する。このユニバーサル・キャンバスでは、単一の環境で、共通化された手順により、インターネット上に散在したさまざまな情報を統一的に操作できるという。

使い勝手

 Windowsプラットフォームでいうユーザー・インターフェイスは、.NETプラットフォームでは「ユーザー・エクスペリエンス(experience)」に進化する。単純には、「interface(相互作用を及ぼす界面)」が「experience(経験、体験)」に変わったわけだが、少なくともこの言葉の違いから、真意のほどを直感的に理解するのは難しい。

 マイクロソフトのドキュメントによれば、ユーザー・エクスペリエンスとは、シェルやアプリケーションなどの従来の「ユーザー・インターフェイス」と、インターネット上の情報サービスを完全に統合し、ユーザーにそれと意識させることなく、あたかもアプリケーションを使っているような感覚でインターネット上の情報サービスをアクセス可能にするということのようだ。確かに現時点では、アプリケーションとWebはそれぞれ独立した存在であり、ユーザーは必要に応じてアプリケーションを実行したり、WebブラウザでWebをアクセスしたりしている。企業ユーザーにしろ、個人ユーザーにしろ、インターネット接続が常識化した現在、アプリケーションやWebを始めとするさまざまな情報サービスを、統一的な環境で使いたいと考えるだろう。これを可能にするのが次世代の「ユーザー・エクスペリエンス」であるようだ。

 このユーザー・エクスペリエンスへの進化を達成するために、現時点でマイクロソフトが提唱しているのは、(1)自然なインターフェイス(音声認識や手書き認識など)、(2)ユニバーサル・キャンバス(前出)、(3)情報エージェント(ユーザーの要求に応じて、一連のWebサービスなどをアクセスしてくれるエージェント)、(4)スマート・タグ(電話番号や会社名、日時など、入力された文字列の種類に応じて、適切なアクションを含むメニューなどを表示・実行可能にする技術)の4つである。

 マイクロソフトの公式見解によれば、先ごろベータ版(米国版)が公開され、2001年にも製品化が予定されている、Windows 2000の次期バージョン、Windows Whistler(ウィスラー)において、.NETに向けた新しいユーザー・インターフェイスの第一歩が踏み出され、さらにこれが完成されるのは、次のBlackcomb(ブラッコウム、開発コード名)だとしている。雲をつかむような話になるのもしかたのないところだろう(ちなみに余談ではあるが、WhistlerとBlackcombは、並んでそびえ立つカナダの山の名前。いずれの山もスキー・リゾートとして有名)。

アプリケーションからサービスへ

 アプリケーション・プログラマにとって、.NETプラットフォームでの最も重要な変化は、アプリケーションからサービスへと進化することだろう。ワードプロセッサやスプレッドシートなどといった機能ごとに独立したアプリケーションではなく、インターネットなどのネットワークを前提として、分散コンピューティングを実現するための構成要素として従来のアプリケーションを捉えていくということだ。具体的には、すでに述べたXMLやSOAPなどの標準プロトコルを使用して、サービス同士が互いに会話できるようにする。ユーザーとアプリケーションという1対1の関係ではなく、ユーザーが直接触れるサービスの先に、必要に応じてソフトウェア同士が自動的に連携可能なサービス群が存在するという図式である。もはやユーザーは、目的ごとにアプリケーションを使い分け、それらの間でファイルの交換やコピー&ペーストによる情報共有を能動的に行わなくても、ソフトウェア同士が必要なコミュニケーションをとってくれるというわけだ。

 事実マイクロソフトは、ここ数カ月の重点課題として、プログラマに対するサービス開発の奨励を掲げている。そしてこの目標を達成するために、開発の初期段階にあるVisual Studio.NETのアルファ版(米国版)を2000年7月に開催されたTechEd Yokohamaの一部の参加者に配布した。言うまでもなくVisual Studio.NET(VS.NET)は、マイクロソフトが提供するプログラム開発環境で、話題の新言語処理系であるC#を含んでいる(新言語C#の速報については別稿の「Windows 2000 Insider/Insider's Eye:.NET対応プログラム開発を容易にする新言語、C#登場」を、さらに詳細については「Master of Network:プログラム言語のパラダイムシフト「C#」という提案」を参照)。アルファ版などという開発初期段階のバージョンを一部とはいえ公開を急ぐあたり、同社の力の入れようが肌で感じられる。


 INDEX
  [特集]Microsoft.NETが目指す次世代情報環境とは?
     1.インターネットの過去・現在・未来
     2.HTTP/HTMLからSOAP/XMLへ
   3.マイクロソフトが提唱する次世代インターネット・ビジョン、Microsoft.NET
     4.Web ServiceとWeb Application、Microsoft.NETの関係
     5.次世代インターネットの主導権を握るのは誰か?


 

 



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 記事ランキング

本日 月間