Silverlight をインストールするには、ここをクリックします*
Japan変更|すべてのMicrosoft のサイト|サインイン
MSDN
|MSDN ライブラリ|デベロッパー センター|ダウンロード情報|開発ツール製品|コミュニティ|ご意見・ご要望|サイトマップ
MSDN Home   MSDN Home
MSDN Home > Windows Vista デベロッパー センター > 技術資料一覧 > Windows Vista 開発者のエピソード : .NET Framework におけるコミュニケーション、IIS、およびコラボレーション

Windows Vista 開発者のエピソード : .NET Framework におけるコミュニケーション、IIS、およびコラボレーション

Microsoft Corporation

February 2006
日本語版最終更新日 2006 年 6 月 19 日

このトピックはプレリリース資料であり、今後のリリースで変更されることがあります。

これまで、以下のような Vista 開発者のエピソードをご紹介してきました。

約 2 週間ごとに新しいエピソードがダウンロード可能なヘルプ ファイルとして追加されます (ここからダウンロードできます)。 今週は、.NET Framework におけるコミュニケーション、IIS、およびコラボレーションについてご紹介します。

コミュニケーション

家庭においても企業においても、ネットワーク接続はコンピュータやアプリケーションの不可欠な機能となっています。 通常、現在の組織では、コンピュータが他のコンピューティング デバイスとネットワーク接続されることによって、さまざまな機能が実現されています。 Windows Vista wave 技術により、基本的なネットワーク インフラストラクチャや Web ベース アプリケーションとサービスの質が向上し、使用可能なコラボレーション テクノロジの幅も拡がります。

ネットワーク インフラストラクチャの向上

ネットワーク インフラストラクチャが向上することにより、ネットワークのセキュリティ、信頼性、効率性が高まり、開発者はより優れた開発基盤を手にすることができます。 向上した点としては、再設計されたネットワーク サブシステム、新しいインターネット プロトコルのサポート、WFP (Windows Filtering Platform) や WSK (Winsock Kernel) などの新しいネットワーク API、NDF (Network Diagnostics Framework) や NAP (Network Address Protection) などの新しい管理機能を挙げることができます。

詳細については、Network Infrastructure Improvements (英語) を参照してください。

接続テクノロジ

マイクロソフトは、特に HTTP プロトコルに基づくインターネット ベースのオープン テクノロジを介したアプリケーション通信を実現する広範なテクノロジを提供しています。 ユーザー操作をほとんど介さずアプリケーション間の通信を可能にするために、この種の通信はますます広く使用されるようになっています。このような使い方を一般に "Web サービス" と呼びます。 Windows Vista では、オープンなインターネット プロトコルを介し、多種多様なハードウェアおよび情報交換要件の間で、メッセージ ベースのコミュニケーションをサポートするさまざまなテクノロジを提供しています。

Windows Communication Foundation (WCF)

新しい WinFx フレームワークでは、安全で信頼性が高く相互運用可能な方法で、生産性の高いメッセージ交換インフラストラクチャを提供しています。 このフレームワークでは、オープン プロトコルに基づいて、従来からあるマイクロソフトの優れたテクノロジを組み合わせることで、柔軟かつ拡張可能な手法によってサービス指向のアプリケーションを構築できます。

コミュニケーションと WCF の詳細については、ダウンロード可能なヘルプ ファイルを参照してください (ここからダウンロードできます)。

.NET Framework による分散コンピューティング

WCF は、マイクロソフトの将来に向けたマネージ Web サービスのサポートという大きな流れを示すものですが、.NET Framework には、特定のドメインや大規模インストールの使用を可能にする、他の通信テクノロジ (ASP.NET、.NET Framework Remoting、メッセージ キュー、および Enterprise Services) も含まれています。

また、.NET Framework は、.NET Remoting、Enterprise Services、ASP.NET という 3 つの主要 IPC テクノロジをサポートしています。これらの代替通信テクノロジは、主に次のような理由から、開発者にとって関心のあるところでしょう。

  • 関連機能—WCF は通信専用のインフラストラクチャですが、これら他のテクノロジの中には他の強力な機能を提供するものがあります。 たとえば、ASP.NET を使用すると、多様なデータ連結 GUI を含む、Web ベースの複雑なソリューションを開発および管理できます。
  • 下位互換性—現在のアプリケーションの多くではこれらのテクノロジが使用されており、マイクロソフトではできる限り長期間サポートできるように取り組んでいます。 これらの IPC テクノロジのバグ修正や改善を通じて、.NET Framework Version 1.x で作成されたアプリケーションを容易に .NET Framework Version 2 にアップグレードできるようになっています。
  • 通信上の固有の利点—WCF は非常に堅牢で高機能ですが、特定の通信領域においてはこれらのテクノロジにも固有の利点があります。 たとえば、ASP .NET と WSE (Web Service Enhancements) を組み合わせることにより、ws-* プロトコルを完全かつ最新の状態でサポートできますし、.NET Remoting を使用すれば、特に同一コンピュータ上のアプリケーション間の通信ではオーバーヘッドを大幅に削減できます。 これらの通信テクノロジの適用可能性の詳細については、Windows Vista 開発者のエピソードのヘルプ ファイル「接続テクノロジ」を参照してください(ここからダウンロードできます)。

これらのテクノロジの詳細については、Windows SDK または MSDN オンライン サイト を参照してください。 .NET Framework ライブラリにおける具体的なネットワーク サポートの改良点の詳細については、「コミュニケーション インフラストラクチャ (英語)」の「WinFX マネージ ネットワーク クラス」を参照してください。

.NET Framework による通信の詳細については、ダウンロード可能なヘルプ ファイルを参照してください (ここからダウンロードできます)。

IIS (インターネット インフォメーション サービス)

IIS とは、インターネット対応のソリューションを作成および管理するための、強力かつ柔軟で拡張性のあるプラットフォームです。 Windows Vista では、IIS (インターネット インフォメーション サービス)、ASP.NET、WCF、および Windows SharePoint Services の一体的なサポートを提供する統合 Web プラットフォームを実現しています。 IIS 7 は Windows Web サーバーを大幅に拡張したものであり、Web プラットフォームを統合する上で中心的な役割を果たします。 IIS 7 リリースの主な柱は次のとおりです。

  • Web ソリューションを実現するための、一貫性のある単一の開発者モデルおよび管理者モデルを提供する統合プラットフォーム。
  • 強化されたセキュリティと独立した小さなコンポーネントによって、攻撃面を縮小する。
  • 柔軟な拡張性により、カスタマイズと拡張が可能。
  • 強力な診断およびトラブルシューティング機能によって、問題解決を簡略化。

推奨されない古い IIS 機能

IIS 7 では、バージョン 6 の次の機能がサポートされなくなります。

  • IIS 5 の分離モード—IIS 6 では、IIS 5.1 以前向けに開発されたアプリケーションとの互換性を確保するために、IIS5IsolationModeEnabled メタベース プロパティを通じて、この IIS 5 エミュレーション モードがサポートされていました。 IIS 7 では、ワーカー プロセス分離モードと呼ばれる、ネイティブの分離モードのみがサポートされます。 このモードでは、アプリケーション ポーリング、リサイクル、および状態検出機能を使用できます。

    この変更は、基になる HTTP.sys の機能の変更に伴うものです。IIS 5 の分離モードが依存していた READ_RAW フィルタは削除されています。

  • 既定では、インターネット データ コネクタ (HttpOdbc.dll) の拡張機能がマップされなくなるため、レガシ IDC スクリプトを使用しても ODBC データベースを照会できません。 この機能は、ASP および ASP.NET によって提供されるものなど、完全なクエリ ライブラリに置き換えられました。
  • メタベース アカウントの自動再作成機能は削除されます。 従来、IISAdmin サービスの起動時に、匿名ユーザーおよび WAM ユーザーが存在しない場合は再作成されていました。 Windows Vista では、これらの組み込みアカウントは削除できないため、この機能は不要になりました。
  • サーバー側イメージ マップはサポートされなくなります。クライアント側イメージ マップがブラウザによって広くサポートされるようになったためです。
  • サブ認証は削除されました。 この機能を使用すると、IIS はパスワードなしでプリンシパルにログオンできます。 この機能は、この機能を読み込むプロセスが LocalSystem アカウントで実行される場合にのみ動作しますが、これはセキュリティ上のリスクになります。
  • ASP Content Rotator コンポーネントおよび Nextlink コンポーネントはまれにしか使用されないアイテムであるため、既定ではインストールされなくなります。
  • ログ ファイルを NCSA ログ ファイル形式に変換する Convlog ツールは旧式となったため使用されなくなります。 簡単な LogParser スクリプトを使用すれば、この機能を問題なく実行できます。
  • サーバー管理者が、コンテンツ内の暴力、セックス、ヌード、言葉を規制する際に使用できる、PICS コンテンツ規制 UI は削除されます。広く使用されている規制システムではないためです。
  • 新しい WebSSO テクノロジの導入によって、Microsoft Passport は使用されなくなります。
  • IIS Cluster Admin Tool Extension (iisclex4.dll) による IIS 4 および IIS 5 のクラスタリングのサポートは中止されます。IIS 7 は Windows 2000 Server では動作しません。
  • IIS 6 では既定で無効になっていた SSINC 実行コマンドは、セキュリティ上の理由で完全に削除されました。
  • IISRESET-reboot コマンドは、Vista の新しい Shutdown API によって置き換えられるため、削除されました。

IIS 7 では、Web 共有 (エクスプローラのフォルダを仮想 Web フォルダとして使用できるようにする従来の機能) はサポートされません。 代わりに、Web フォルダの作成と管理には Web Management Tool を使用します。

IIS の詳細については、ダウンロード可能なヘルプ ファイルを参照してください (ここからダウンロードできます)。

コラボレーション テクノロジ

企業や組織では、重要なプロセスや業務を実行する際、個人およびグループ間の効率的で広範囲なコラボレーションに依存する傾向が強まっています。 また、個人が娯楽や文化の目的でアドホックなオンライン グループを形成するようになるにつれ、コラボレーションの重要性が増しています。

ピア ツー ピア (P2P)

インフラストラクチャの進歩によって、アプリケーションに P2P の機能を追加することはそれほど複雑ではなくなってきています。P2P 機能の例としては、ID と連絡先の管理、ピアの名前付けと検出、ピアのプレゼンスとセッション確立、およびメッシュ コミュニケーションなどの適切なサポートが含まれます。 これらの改良点の多くは Windows XP の既存のコラボレーション アーキテクチャに適用されていますが、ピア チャネルは WCF のコラボレーション拡張機能です。

Windows Vista および WCF では、P2P アプリケーションの開発と展開に関連する、次のような従来からの重要な問題に対応しています。

  • エンド ツー エンド接続—IPv6 と接続テクノロジを使用して、大部分の NAT および多数のファイアウォール間でシームレスな、エンド ツー エンドのホスト アドレス指定と接続を提供します。
  • 包括的な基盤—ID および連絡先の管理、ノードの検出と名前付け、安全なセッション確立とコミュニケーション、スケーラブルなマルチパーティ コミュニケーションなど、ほとんどの P2P アプリケーションに必要な機能を提供します。
  • 安全でスケーラブルな展開—大規模展開向けに設計されたプロトコルに基づいて、組み込みのセキュリティを提供すると共に、IT 管理者が P2P アプリケーションの展開と使用を制御できるようにするために必要な制御機能を提供します。

P2P ソリューションの特徴は、動的に形成される、自己編成および自己管理によるサーバー不使用のコミュニケーション ピア ネットワーク (メッシュとも呼ばれる) にあります。 各ノードはメッシュ内で一意のピア ID によって識別されます。各ノードは、少なくとも最も近いノードとの間で双方向の接続を共有します。

ピア ID を対応するインターネット アドレスに解決するには、DNS の代わりに PNRP (Peer Name Resolution Protocol) を使用します。 個々のピア コンピュータ、ユーザー、デバイス、サービス、その他のピア ノードは、独自のピア ID を持ちます。ID のリストは、名前解決において数百万件もの ID に対応できるマルチレベル キャッシュと参照システムを使用して、ピア間で配布されます。これにより、各ノードでのリソースを最小限に抑えることができます。

ピア ID、ポート番号、および通信プロトコルの組み合わせであるエンドポイントを使用して、次の 2 つの一般的な方法のいずれかによってピア間でデータを送信できます。

  • 指定した方法により、あるピアから別のピアへの送信。
  • あるピアから同一メッシュ内の残りすべてのピアへの送信 (一般にフラッディングと呼ばれる)。 フラッディングされたメッセージは、さまざまなルートを通って 1 つのノードに複数回到達する場合があります。

メッシュと通信に、認証、承認、メッセージ プライバシーなどのセキュリティを適用することもできます。

P2P の開発インフラストラクチャ

Windows Vista では、P2P アプリケーションとソリューションを作成するための包括的な開発者用 API セットを提供しています。 通常、これらの機能は階層化されています。 Windows Vista は、これらの各階層においてアプリケーション開発をサポートします。

接続

IPv6 は、インターネット ホスト間のエンド ツー エンド接続を支援します。 IPv6 を使用すると、各インターネット ホストを一意のアドレスで識別できるため、パーソン ツー パーソンの直接通信が容易に実現されます。 6to4、Toredo、ファイアウォール トラバースなどの移行テクノロジを使用することにより、既存のインフラストラクチャを変更せずに既存のインターネットで IPv6 を使用できます。 Windows Vista では、IPv6 は既定で有効になっています。 P2P は IPv6 を完全にサポートしているため、シームレスなピア ツー ピア通信を実現できます。

Windows Vista のネットワーク サブシステムも、IPSec、TCP、SSL、HTTP、およびその他の上位レベルのプロトコルを完全にサポートしています。

連絡先管理

P2P では、ユーザーは自分自身の ID を定義したり、信頼できるサードパーティの連絡先を管理したりできます。 多くの P2P ソリューションに共通する、次のような 3 種類の一般的な操作があります。

  • ID の作成と管理—アプリケーションで初めて P2P を使用する際、ユーザーは ID を作成するように求められますが、この ID はメッシュ内で一意の ID と関連付けられます。 ID は、P2P セッションの過程で動的に更新できます。 この目的では、一般に個人情報管理 API が使用されます。
  • 連絡先管理—信頼できる連絡先は WAB (Windows アドレス帳) に格納されます。 アプリケーションでは、WAB API または WAB 用のコラボレーション連絡先 API を使用して、信頼される連絡先レコードをプログラムで作成および管理します。 ユーザーは WAB ユーザー インターフェイスを介して連絡先を手動で管理できます。
  • 連絡先の交換—ユーザー ID と連絡先は、vCard として WAB との間で交換できます。 ユーザーは、これらの vCard を単にコピー アンド ペーストまたはドラッグ アンド ドロップすることによって、自分の ID を他のユーザーと交換したり、他のユーザーの ID をインポートしたり、信頼できる連絡先を共有したりできます。
ピア ID は一時的なもので、P2P セッションの間しか使用できません。 永続的に使用するには、ID を WAB の連絡先として格納する必要があります。

名前付けと検出

P2P では、コミュニケーションとコラボレーションのためのエンドポイントを容易に検出できます。 ローカル LAN でのアドホック検出とインターネット上での指定による検出という 2 種類の検出方法がサポートされています。 Windows Vista には、これら 2 種類の検出をそれぞれサポートする次の 2 つのテクノロジが含まれています。

  • 近くの人との接続—このサービスはローカル LAN での検出をサポートします。 アプリケーションは、検出されたエンドポイントを照会することによって、信頼できる永続的な連絡先を WAB 内に作成するために必要な情報を受け取ることができます。 "近くの人との接続" サービスを使用すると、アプリケーションを実行して LAN 上の他のノードに対し任意のデータを公開できます。 このデータを使用して、実行に関する情報やアプリケーション セッションを確立するために必要な特定のデータをやりとりできます。
  • PNRP (Peer Name Resolution Protocol)—ローカル ネットワークとインターネットの両方で、サーバーを使用しない名前公開と名前解決を提供します。 アプリケーションは、中核となるサービスを展開したり、特別なエンドホスト プロビジョニングを要求したりせずに、コンピュータ名、ユーザー名、およびアプリケーション エンドポイントをアナウンスできます。 PNRN 名レコードには、アプリケーションが提供する任意のデータを格納できます。 Windows Vista では、PNRP 名は通常のホスト名として表されます。つまり、PNRP 名は Internet Explorer などの既存のアプリケーションで解決できます。 また、PNRP は P2P の連絡先管理に統合されているため、アプリケーションで、信頼できる連絡先をインターネット上で検索したり、現在のプレゼンス情報のサブスクライブを実行したりできます。

セッションの確立

P2P では、次のような手順を使用して、ユーザーをアクティビティに招待したり、エンド ツー エンドのアプリケーション セッションを確立したりします。

  1. アプリケーションの機能を登録します。 インストール時に、アプリケーションは機能を登録し、この機能が他のユーザーにアドバタイズされます。 また、アプリケーションはエントリ ポイントも登録します。これは、招待が受信されたり、他のユーザーによって受け入れられたりした場合に呼び出されます。
  2. "近くの人との接続" や PNRP などの検出サービスを使用してエンドポイントを検出します。
  3. アプリケーションは、エンドポイントを使用して、ユーザーを招待できるアクティビティのリストを取得し、リモート ユーザーへのセッション招待を確立できます。 招待では、招待が受け入れられた場合に安全なアプリケーション接続の確立に必要な、アプリケーション固有のデータを伝達できます。
  4. リモート ホストでは、ユーザーは招待を提示されます。招待を受け入れた場合、関連付けられているアプリケーションが起動します。

P2P では、一般的なインスタント メッセージング アプリケーション内からアプリケーション招待を確立することもできます。 メッセージング アプリケーションでは、ユーザーに対する招待の送信と提示を処理し、受け入れられた場合、両方のホストで必要なアプリケーションを起動します。

マルチパーティ コミュニケーション

Windows Vista と WCF では、マルチパーティ コミュニケーションをサポートするための多彩な機能を提供します。 これらのメッシュ テクノロジでは、コラボレーション セッションに参加している複数のホストを管理するという困難なタスクを処理します。

  • 検出—メッシュは名前で識別します。 メッシュ ノードは PNRP を使用して自動的に互いのノードを見つけて接続します。
  • 耐久性のある効率的な通信—メッシュは自動的に参加ホストを耐久性のある通信構造へと編成し、メンバシップ、データ転送パターン、ネットワーク帯域幅、およびネットワーク待ち時間などの変更に対応できるよう、動的に通信を最適化します。
  • セキュリティ—メッシュはメンバシップを制御しデータを暗号化するメカニズムを提供します。 メッシュの承認制御は、通常、パスワードと個々の証明書によって管理されます。

メッシュ サービスでは、次の 2 種類のスタイルによるアプリケーション開発をサポートします。

  • データの複製—Windows Vista の "メッシュのグループ化" 機能は、メッシュ参加者間で同期化されたデータベースを提供します。 アプリケーションがデータ レコードを公開すると、レコードは自動的に他のメッシュ ノードに伝達されるため、すべてのノードで、使用可能なデータの共通ビューを維持できます。
  • メッセージの配信—WCF のピア チャネルは、メッシュ参加者間でのスケーラブルなメッセージ配信を提供します。 アプリケーションによって公開されたレコードは、自動的にすべてのホストに送信されます。 また、ピア チャネルは、アプリケーションでメッセージの伝達を制御できる機能も提供します。

「Top Ten Development Opportunities」も参照してください。

前述の内容はごく一部です。詳細はヘルプ ファイル (ここからダウンロードできます) に収められています。 次に「Top Ten Development Opportunities」の概要を紹介します。

Windows Vista は次の 3 つの主要な概念を重視します:

  • 基本処理の簡素化
  • 強力な顧客接続型システムの構築
  • 新しい可能性の開拓

テクノロジの観点から、これらの 3 つの概念により Windows Vista は以下の 5 つを柱とします:

  • 基礎部分
  • プレゼンテーション
  • コミュニケーション
  • データ
  • 生産性とツール

次の表は、「Top Ten Development Opportunities」の一覧です。 各テクノロジの詳細な説明はヘルプ ファイルに収められています。

カテゴリ テクノロジ
Windows Vista スタイル ガイドラインの順守 データ: 検索、整理、共有
ユーザー エクスペリエンスの高品質化 Windows Presentation Foundation
ユーザーによる視覚化、整理、および検索の実現 データ: 検索、整理、共有
安全な実行 ユーザー アカウント制御
信頼性および管理性に関する設計 Restart Manager
顧客フィードバック ループの確立 Windows Feedback Platform (WFP)
接続型システムの構築 Windows Communication Foundation およびピア ツー ピアの強化
RSS を使用したユーザーへのデータの提供 Web フィード API
ドキュメント データへのアクセス XML Paper Specification (XPS)
モビリティの構築 ペンとインクの API


Microsoft