.NET My Services 入門
Jeannine Hall Gailey
Microsoft Corporation
2001 年 9 月
要約: この記事では、コンシューマ指向の XML Web サービスのセットである Microsoft .NET My Services について説明します。開発者は XML Web サービスのデータ中心的な性質を利用して、Web サイト、Web サービス、アプリケーション、およびデバイスのためのユーザー指向のインターネット アプリケーションを構築することができます。
目次
.NET My Services とは?
.NET My Services を使用する理由は?
サンプル シナリオ: ジェーンがコンサート チケットを買う
細かい事柄
使い始めるにはどうするか
結論
.NET My Services とは?
Microsoft® .NET My Services (開発コード名: "HailStorm") は、ユーザー指向の XML Web サービスのセットです。開発者は XML Web サービスのデータ中心的な性質を利用して、Web サイト、Web サービス、アプリケーション、およびデバイスのためのユーザー指向のインターネット アプリケーションを構築することができます。XML を使って、HTTP または DIME (Direct Internet Message Encapsulation) プロトコル上で送信される SOAP メッセージを作成する方法を知っている人ならば誰でも、これらの XML Web サービスを利用するアプリケーションを構築することができます。
ユーザー中心型の Web サービス
過去のアーキテクチャとは異なり、.NET My Services は可能な限りユーザー指向性を持たされています。これは、フォーカスが具体的なアプリケーション、プラットフォーム、またはデバイスにではなく、ユーザー データに当てられていることを意味します。このユーザー フォーカスの一環として、.NET My Services は Microsoft .NET Passport サービスが提供する強力なセキュリティとプライバシーを利用します。また、.NET My Services では、XML Web サービスを使用するクライアント アプリケーションがエンド ユーザーのデータにアクセスするためには、当のエンド ユーザーが明示的にアクセス権を与えなくてはならないようになっています。
オープンな標準をベースにしたサービス
XML Web サービスが登場するまで、アプリケーション間でデータを転送するためには、さまざまなプラットフォーム上のさまざまな形式の着信データ ストリームを処理するカスタム コードを書く必要がありました。一方、XML Web サービスは任意のプラットフォーム上にインプリメントすることができ、World Wide Web Consortium (W3C) などのパブリックな標準化団体の標準に準拠しています。.NET My Services は XML Web サービスに関するユーザー データを配信し、その解釈とレンダリングのタスクは、プラットフォームとデバイス固有のコンシューミング アプリケーションに任せます。.NET My Services は、ユーザーまたはユーザーのグループの識別に使用される数値である .NET Passport Unique ID (PUID) にバインドされた XML Message Interface (XMI) の要素を使用します。このアーキテクチャは XML 文書を中心としているため、XMI 要素には簡単にアクセスすることができ、データの通信と操作が容易になっています。すべてのサービスは、XML データを含んでいる SOAP メッセージを HTTP または DIME 上で送信することでアクセスできます。
.NET My Services の動作
開発者の観点から見ると、.NET My Services は、HTTP または DIME プロトコルを通して SOAP メッセージを送受信することでアクセスし、認証に .NET Passport システムを使用する XML Web サービスのセットということになります。では、.NET My Services は具体的にどのように動作するのでしょうか?
.NET My Services は次の 3 つの要素から構成されています。
- 認証: .NET My Services の運用が開始されたら、.NET Passport によって提供されることになります。
- SOAP: 通信プロトコルです。
- XML: データの整形と編成の方法を定めた、XMI Reference に記されている規則とスキーマに従います。
次の図は、クライアント アプリケーションが .NET My Services を使ってユーザー データにアクセスする方法を示しています。
図 1. クライアント アプリケーションが .NET My Services を使ってユーザー データにアクセスする様子
次に、具体的な流れをステップごとに見ていきましょう。
.NET Passport 認証
.NET My Services の認証は .NET Passport によって提供されます。この Microsoft サービスは、.NET My Services のために Kerberos 分散セキュリティ プロトコルをインプリメントします。Kerberos は、Microsoft® Windows 2000 と XP でユーザー認証に使用されている、実績のある業界標準のセキュリティ プロトコルです。単純に述べれば、Kerberos は集中化されたセキュリティ情報をベースにしてクライアント要求を認証し、クライアントが特定のサービスにアクセスするために使用する一時的な暗号キーである「チケット」を配布する責任を負っています。次に、.NET My Services がユーザーをどのように認証するかを示します。
- ユーザーが、.NET Passport に参加している Web サイトのページか、クライアント アプリケーションのユーザー インターフェイスに表示されている .NET Passport サインイン リンクをクリックします。
- ユーザーは、自分の .NET Passport サインイン名とパスワードを入力します。
- このサインインにより、クライアント アプリケーションまたは Web サイトから .NET Passport に対する「チケット許可チケット」(TGT) の要求が開始されます。
- .NET Passport は、ユーザーのクレデンシャルを確認したら、TGT を与え、ログインが成功したことを知らせます。この TGT は、セキュリティ制約の条件に従い、後にサービスにアクセスするためにキャッシングすることができます。
- その後、クライアントまたは Web サイトは、「チケット許可サーバー」(TGS) として機能している .NET Passport に TGT を提示して、.NET My Services サービスのためのセッション チケットを要求します。
- .NET Passport は TGT を使って、クライアントの身元と、チケットの期限が切れていないことを確認し、セッション キーとともに、要求された .NET My Services サービスへのセッション チケットを返します (セッション キーは、クライアントと、クライアントがアクセスしているサービスの間での暗号化に使用されます。すべてのユーザー データは、保護を強化するために、このキーを使って暗号化されています)。
- クライアントまたは Web サイトは、このセッション チケットを .NET My Services サービスに提示します。.NET My Services サービスはセッション チケットを確認し、そのユーザーに応じたレベルでサービスへのアクセスを許可します。
SOAP
この SOAP と呼ばれる新しいインターネット プロトコルは、XML Web サービスの中核にある XML ベースのプロトコルです。SOAP メッセージは以下のものから構成されています。
- メッセージの内容とその処理方法を記述するためのフレームワークを定義しているエンベロープ
- 各種のデータ型の処理方法を定めた規則のセット
- リモート プロシージャ コールと応答を表現するための規約
SOAP によってインプリメントされた XML Web サービスを使用することで、アプリケーションはデータを共有するだけでなく、相手方のアプリケーションのアーキテクチャに関する知識をまったく持っていなくても、他のリモート アプリケーションのメソッドとプロパティを呼び出すことができます。これにより、アプリケーションはこれまでのクロスプラットフォームのデータ転送に不可欠だったカスタム バイナリ、ランタイム ライブラリ、またはその他のプラットフォーム固有の情報を使う必要がなくなりました。.NET My Services は、XML Message Interfaces を通して、SOAP メッセージを使ってサービスにアクセスします。
eXtensible Markup Language (XML)
これらの新しいサービスの中核には、Standard Generalized Markup Language (SGML) をベースにしたプレーン テキストのマークアップ言語である eXtensible Markup Language (XML) があります。XML の利点は、それが自己記述型のデータ中心の形式であることにあります。つまり、アプリケーションが XML 文書に含まれているデータを使用するために必要なすべての情報が、XML マークアップによって提供されています。その結果、XML データ ストリームは、情報にアクセスしているクライアント デバイスの種類にかかわらず、簡単に解釈し、適切にレンダリングを行うことができます。たとえば、着信した XML 文書が電子メール メッセージのためのデータを含んでいる場合、その XML を解析し、HTML ページとして表示するためにレンダリングして整形したり、PDA や携帯電話のようなハンドヘルド デバイス用に整形することができます。また、XML の性質ゆえに、XML ベースの Web サービスは HTTP および DIME プロトコルを使って、簡単にファイヤウォールを通して送信することができます。また、.NET My Services を記述する .NET My Services スキーマには一般に拡張性があり、独自の名前空間とスキーマを作成する意思があるのであれば、いくつかの点でスキーマそのものを拡張することができます。
さらに、後に説明する XMI が、オブジェクト指向プログラミングの専門家であれ、XSL の経験を積んできた Web の専門家であれ、開発者にとって簡単に理解できるものになっているということも大きな利点です。これは、少数のエリートのみが読んで理解することができるような難解なテクノロジではありません。開発者を制約するのは、自らのイマジネーションとクリエイティビティだけです。
.NET My Services メッセージの例
次に、SOAP メッセージを使って .NET My Services にアクセスする方法を説明するために、.NET Profile サービスにユーザー データを返すように求める要求を含んでいる SOAP パケットのコード例を示します。
<?xml version='1.0'?>
<s:Envelope xmlns:s="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:x="https://schemas.xmlsoap.org/rp"
xmlns:h="https://schemas.microsoft.com/hs/2001/10/core"
xmlns:ss="https://schemas.xmlsoap.org/soap/security/2000-12">
<s:Header>
<x:path>
<x:action>https://schemas.microsoft.com/hs/2001/10/core#request</x:action>
<x:rev><x:via /></x:rev>
<x:to>http://species8472</x:to>
<x:id>35b4474a-a7d9-11d5-bf0e-00b0d0ccc121</x:id>
</x:path>
<ss:licenses>
<h:identity mustUnderstand="1">
<h:kerberos>1</h:kerberos>
</h:identity>
</ss:licenses>
<h:request mustUnderstand="1" service="myServices" document="content"
method="query" genResponse="always">
<h:key instance="0" cluster="0" puid="3066" />
</h:request>
</s:Header>
<s:Body>
<queryRequest xmlns:mp =
"https://schemas.microsoft.com/hs/2001/10/myProfile"
xmlns:ms = "https://schemas.microsoft.com/hs/2001/10/myServices">
<xpQuery opId="1" select="/ms:myServices/ms:service[@name='myProfile']"/>
</queryRequest>
</s:Body>
</s:Envelope>
このサンプルは、.NET My Services の SOAP パケットが以下のものを含んでいることを示しています。
- SOAP エンベロープのエンコーディング情報
- 要求されるサービスを記述し、.NET Passport PUID を渡すために使用されるヘッダー情報
- myProfile サービスへの .NET My Services の queryRequest 呼び出しを含んでいる body 要素
上のコード例の queryRequest 呼び出し (太字で示しています) は、実際には myProfile サービス文書の root/myProfile の選択です。これにより、myProfile 文書のすべての子要素、すなわちユーザーのプロファイル全体が返されます。
コアの .NET My Services
.NET My Services は、エンド ユーザーの具体的なニーズを中心として設計されています。これらのニーズを満たすために、ベータ リリースの .NET My Services では、以下のコア サービスが提供される予定です。
- .NET Presence—このサービスは、ユーザーがアラートを受け取る場所を示す、ユーザーの電子的プレゼンス情報を含んでいます。たとえば、ユーザーは自分の「プレゼンス」を Online/Offline/Busy/Away、On-Phone/Off-Phone などに設定することができます。
- .NET Location—このサービスは、ユーザーの物理的なプレゼンス情報を含んでいます。ユーザーは自分の「ロケーション」を "At Home" や "At Work" などに設定し、自分に連絡する方法を他人に知らせることができます。
- .NET Services—ユーザーが利用するサービスを追跡管理しています。
- .NET Alerts—アプリケーション、Web サイト、および XML Web サービスが、任意のデバイス上で、いつでもどこでも重要なイベントに関する「通知」を送信できるようにします。ユーザーは、自ら選択して、これらの通知を受け取るための .NET Presence 設定を指定します。
- .NET Calendar—ユーザーのすべてのカレンダー情報を 1 つの場所に格納します。これにより、ユーザーの仕事、家族、および個人に関する情報を、いつでもどのデバイスからでもアクセスできるようになります。ユーザーは、カレンダーの一部またはすべてを他人と共有することができます。たとえば、夫婦間では完全なアクセス権を与え、上司には仕事関連のミーティングの情報へのアクセス権を与え、チケット購入サイトには、ユーザーが特定の日付または時間帯のチケットの購入に関心を持つかどうかを判断できるように、ユーザーの空き時間情報のみへのアクセス権を与えることができます。
- .NET Contacts—おなじみの「友人リスト」に似た .NET Contacts により、ユーザーは自分の個人的および仕事上の連絡先に関する情報を格納し、その情報にいつでもどこからでもアクセスできるようになります。また、この情報を共有することも可能です。たとえば、親が旅行に出ている間は、緊急時の連絡先 (子供の掛かりつけの医者や祖父母に関する情報) を子供の預け先と共有することができます。
- .NET Inbox—ユーザーは任意のデバイスから電子メールにアクセスすることができます。ユーザーは、Microsoft Hotmail® やその他の電子メール サービスの電子メールを、.NET My Services にサインインできる任意のコンピュータまたはデバイスからチェックすることができます。
- .NET Documents—ユーザーに個人的および仕事上のドキュメントの安全な格納場所を提供し、任意のコンピュータまたはデバイスからこれらのファイルにアクセスできるようにします。
- .NET Wallet—ユーザーはオンラインで商品を購入する際に使用する情報を格納しておくことができます。このサービスの 1 つの利点は、このようなデータが必要になるたびに、同じクレジットカードと配達先住所の情報を何度も再入力する必要がなくなるということです。デフォルトでは、この情報はエンド ユーザーからしかアクセスできません。エンド ユーザーが購入を行いたいと考えたときには、クレジットカード、配達先住所、および請求先住所を指定するだけで、.NET My Services がその情報を e コマース Web サイトに送信してくれます。これにより、エンド ユーザーはその情報を手動で入力する必要がなくなります。
- .NET ApplicationSettings—ツールバー、アイコン、およびスクリーン セーバーなどのユーザー情報を格納し、ユーザーがサインオンした任意のデバイスが、これらの設定を自動的に使用するようにします。
- .NET Profile—ユーザーは住所や誕生日などの個人情報を格納することができます。
- .NET FavoriteWebSites—ユーザーは、任意の場所にある任意のデバイスから、また任意のアプリケーションまたはブラウザから、お気に入りの Web サイトへのリンクにアクセスすることができます。
- .NET Lists—このサービスにより、ユーザーは任意の種類のリストを格納することができます。たとえば、買い物リスト、ウィッシュ リスト、TO-DO リストなどが考えられます。
- .NET Categories—すべてのユーザー サービスで使用できる、標準化されたカテゴリ リスト。カテゴリは、データ ドキュメントをグループ化するために使用されます。ユーザーは、連絡先をグループ化してバディ リストを作成したり、休日を反映したカレンダー イベントのグループを作成したりすることができます。
すべてのベータ リリースがそうであるように、この .NET My Services のリストは変更される可能性があります。また Microsoft は、今後、利用可能なサービスを追加していく可能性があります。
.NET My Services を使用する理由は?
開発者の立場から見ると、.NET My Services をアプリケーション内で使用すべき最大の理由は、顧客です。以下に示す .NET My Services の重要な性質は、ユーザーのエクスペリエンスを大きく改善します。
ユーザー中心
.NET My Services は、エンド ユーザーが自分のデータを完全にコントロールできるように作られています。これらのサービスは、エンド ユーザーが自分の個人情報を格納できる「デジタル保管庫」の役割を果たします。デフォルトでは、権限を持つエンド ユーザーのみがアプリケーションに対して情報へのアクセス権を与えることができます。これらの情報は、Microsoft や他の .NET Services プロバイダによって、プライバシー、安全性、および可用性が保証されます。アクセス権を与えた後、アプリケーションを通して、ユーザーの情報の要求された部分が利用できるようになります。
単純化されたアクセス
.NET Services 対応のアプリケーションにより、ユーザーは受信トレイ、カレンダー、連絡先、およびその他の重要な情報に 1 つのログインでアクセスできるようになるため、操作が簡単になります。ユーザーは、電子メールをチェックするために 1 つのサービスにログオンし、仕事用のカレンダーをチェックするために別のアプリケーションを使用し、個人用カレンダーのエントリをチェックするためにさらに別のアプリケーションを使用し、お気に入りの Web サイトをチェックするためにブラウザを起動し、訪問先の 50 のコンシューマ Web サイトにパスワード、住所、およびその他の個人情報を入力するというような面倒な操作を行う必要がなくなります。アプリケーションはこれらのすべてのコンポーネントを組み合わせて、大幅に単純化されたユーザー エクスペリエンスを提供することができます。さらに、ユーザーはいくつものデバイスにデータを再入力したり、どの e コマース サイトに最新の情報が入力されているのかを心配したりする必要がなく、住所を 1 か所で変更するだけで、最新の住所を知りたいと考えたすべての人が .NET My Services の「デジタル保管庫」からそれを入手することができます。特に素晴らしいのは、.NET My Services がアプリケーションから、データの提供と格納という負担を取り除いてくれることです。
いつでも、どのデバイス上でも
XML Web サービスのデータ中心性のおかげで、.NET My Services を使用するエンド ユーザーは、いつでもどこでも、どのデバイスからでも、重要な情報にアクセスし、重要なイベントに関するアラートを受け取ることができます。ユーザーの重要な情報 (カレンダーや連絡先の情報など) が .NET My Services によってオンラインでライブに維持されていれば、モバイル デバイス上のアプリケーションはオンライン時にこれらの情報にアクセスして同期を取り、オフラインでも使用できるようにすることができます。これは、.NET My Services によって、モバイル デバイスを所有し、使用することの利点が強化される一例に過ぎません。
グループと組織
.NET My Services が約束している利点の 1 つは、これらのサービスのグループと組織への自然な拡張です。ユーザーをグループまたは組織に割り当てることで、.NET My Services を拡張し、グループ全体に電子メールをブロードキャストしたり、組織の連絡先とカレンダーの情報を総合するというようなタスクが可能となります。たとえば、サッカー グループは自分のカレンダーを公開して、親が子供を登録し、迅速な対応が必要な重要なイベントを親に通知し、グループの全メンバーに電子メールを送信するといった機能を持つアプリケーションを実現することができます。同じように、企業は .NET My Services を使ってカスタマにより優れたサービスを提供し、パートナーと協力して、個々の認証済みユーザーの組織を作成することができます。
Visual Studio .NET
.NET My Services チームは、Microsoft Visual Studio® .NET を使用する開発者が、これらのサービスにアクセスするアプリケーションを可能な限り簡単に作成できるように多大な努力をしています。Visual Studio .NET を使用すると、.NET My Services のプロパティとメソッドの呼び出しは、今日の Visual Studio で COM オブジェクトのプロパティとメソッドにアクセスするのと同じほど簡単に行うことができます。
サンプル シナリオ: ジェーンがコンサート チケットを買う
次に、例として、ジェーンが .NET Alerts、.NET Wallet および .NET Calendar という .NET My Services を使ってコンサート チケットを買うという、かなり単純な e コマース シナリオを考えてみます。このサンプル シナリオでは、ジェーンは自分のコンピュータの前に座って宿題をやっています。彼女は .NET Passport にサインインしています。そのとき、ある Web サイトから、地元で開かれるコンサートについての「アラート」を受け取ります。ジェーンは以前、このサイトに自分の音楽の好みを登録していましたが、いまこのサイトは .NET Alerts サービスを使って、彼女のお気に入りのアーティストの 1 人が出演するコンサートのチケットを買わないかと提案してきたのです。彼女は、お気に入りのアーティストのチケットの販売が開始されたときに、チケットを買う最初のチャンスを逃がさないように、システムにアラートを発行するよう要求していました。ジェーンは自分の .NET Wallet サービスを呼び出して、.NET Wallet に格納されているデータをもとに、チケットを買うために必要な情報をこの Web サイトに自動的に送信します。彼女はクレジットカード情報を再入力する必要はありません。最後に、サイトは .NET Calendar を使って、ジェーンがコンサートのことを忘れないように、彼女のオンライン カレンダーにイベントの日付を入力します。
次の図は、コンサートの Web サイトに、.NET My Services を使って自分のデータへのアクセスを許可した場合に、ジェーンのエクスペリエンスがどのように拡張されるかを示しています。
図 2. .NET My Services がどのようにユーザー エクスペリエンスを拡張するか
次に、開発者の観点から、このトランザクションを概念的なレベルでステップごとに解説していきましょう。
- .NET Passport 認証。いずれかの時点で、ジェーンは自分のサインイン名とパスワードを入力して、.NET Passport にログインします。.NET Passport はジェーンに固有の暗号化された PUID を返します。このチケット許可チケットは、.NET My Services に対して .NET Passport 認証を要求するために使用することができます。
- 音楽の好みの取得。ジェーンは、以前にコンサート サイトを訪問したときに、このサイトに対して、.NET Alerts サービスを使ってイベントの通知を送るという 操作の許可を与えていました。この許可を与えられたサイトは、ジェーンのお気に入りの全エントリを含んだ SOAP メッセージを返すように要求する SOAP メッセージをサービスに送信しました。その後、サイトはこの情報を自分のデータベースにロードしました。
- チケットの販売の通知。いずれかの時点で、コンサート サイト サーバーで、チケットの販売に関する情報を含んだ SOAP メッセージをジェーンの .NET Alerts サービスに送信するという操作を引き起こすイベントが発生します。このメッセージを受け取った .NET Alerts サービスは、ジェーンのクライアント アプリケーションに、アラートと、チケット販売に関する追加情報を含んだ SOAP メッセージを送信します。
- チケットの購入。ジェーンはチケットを購入するよう指示したので、サイトは彼女の .NET Wallet に、ジェーンのクレジットカードに対して請求を行う許可を求める SOAP メッセージを送信します。ジェーンの許可の下で、彼女の .NET Wallet サービスは支払いのためのデータを暗号化した状態でサイトに送信します。
- ジェーンのカレンダーの更新。チケットの支払いを受け取った後、サイトはジェーンの .NET Calendar サービスに、コンサートの日付と時刻を反映させて彼女のカレンダーを更新するための SOAP メッセージを送信します。
懸念事項
ここまで読んできた方には、アプリケーションが .NET My Services を使ってカスタマ データにアクセスできるようになれば、大きな恩恵が受けられるということを理解していただけたでしょう。次は、新しいプログラミング モデルを採用しようとする開発者が抱くいくつかの懸念事項について説明するべきでしょう。この .NET My Services に関するさまざまな広報資料に接した開発者の多くが、以下のような懸念を抱いています。
- 本当に任意のデバイスまたはプラットフォームからアクセスできるようになるのか?
- Microsoft はユーザー データのセキュリティを確保できるのか?
- プライバシー上の問題は?
- 可用性は?
オープン アクセス
本当に任意の言語を使って .NET My Services にアクセスできるのか? その答えは「イエス」です。サービスへのアクセスは、SOAP と XML、および HTTP や DIME などの他のプロトコルを使って行われます。次に、.NET My Services との対話方法について簡単に説明します。
- ソケット接続と整形済みの SOAP メッセージを使用し、返された SOAP メッセージに含まれているデータを理解できるという条件を満たしている必要があります。
- .NET My Services へのアクセスには、Windows オペレーティング システムを実行している必要はありません。
- Macintosh、UNIX、Linux システム、ハンドヘルド デバイスを使用することができ、さらには携帯電話も使用できます。
セキュリティ
.NET My Services の主なサービスの 1 つは、ユーザー データのための「デジタル保管庫」を提供するという発想に基づいているため、Microsoft は最先端のセキュリティ テクノロジを積極的に採用しています。Microsoft は、このデータのセキュリティを確保するためには、最善の努力をしなくてはならないことを認識しています。このデータを格納するデータベース サーバーには、インターネットから、また認定された担当者以外では Microsoft の社外からはアクセスできません。もちろん重要なデータは、データベースとすべてのバックアップ ドライブの両方で、最先端の実証済みの暗号テクノロジを使って暗号化されます。
.NET My Services は XML 暗号化標準を使用しており、Microsoft は暗号化アルゴリズムと暗号化の範囲を変更して柔軟性を持たせることができます。
プライバシー
業界におけるプライバシーのリーダーとして、Microsoft は .NET My Services データの二次的な使用を行わないことを表明しています。これは、Microsoft はこのデータをいかなる形でもマイニング、販売、貸与、または発表しないということを意味します。ユーザーは、自分の情報に誰がアクセスできるのかということをコントロールできます。Microsoft は、ユーザーがいずれかの MSN Web プロパティに対してアクセス権を与えた場合にのみ、ユーザーのデータにアクセスできます。その場合でも、ユーザーは MSN サイトにデータの一部のみを共有し、他の部分は .NET My Services の「デジタル保管庫」の中でプライベートなまま保管しておくことができます。
今後も Microsoft は、通知、選択、アクセス、セキュリティ、および実施の概念をベースにした、自ら公表している Fair Information Practices を遵守していきます。さらに、欧州連合の管理団体である Safe Harbor が、Microsoft の監査を定期的に行い、その厳しいプライバシー ポリシーを守っているかどうかを確認します。Microsoft のプライバシー ポリシーはオンラインで読むことができます。
興味深いのは、.NET My Services がいくつかの意味で、最も強力なプライバシー強化 Web システムであるという事実です。これ以外に、ユーザーが特定の Web サイトや他のインターネット ユーザーに対し、自分の情報へのアクセス権を与えたり、拒否したりできるシステムは存在するでしょうか? .NET My Services がユーザー中心型であり、ユーザーが個々のサイトまたは人をどれほど信頼しているかに応じて、自分のデータへのアクセス権をオン/オフできるという事実は、真にユニークなものなのです。
ユーザー データは Microsoft に所属するのか?
いいえ。.NET My Services は、ユーザー本人だけが、自分のデータへのアクセス権を他人に与えられるように作られています。データはその人の「デジタル保管庫」に格納されています。このテクノロジは、カスタマに金庫を提供する銀行に似ています。銀行がカスタマの金庫から物を盗んでいたら、カスタマはその銀行のサービスを使い続けるでしょうか? もちろん、そんなことはありえません。
このビジネスは、この「デジタル保管庫」のプライバシーとセキュリティが保証できなければ機能しません。Microsoft は、Microsoft の社内と社外を問わず、いかなる人もカスタマ データに不法または不適切にアクセスできないように、あらゆる措置を講じます。
さらに、Microsoft は信頼の置けるサードパーティが .NET My Services をホスティングし、ユーザーが自分のデータを保存する場所を選べるようにする計画を立てています。Web サービスを最初にロールアウトするのは Microsoft であるとはいえ、Microsoft はその 1 日目から、あらゆる業種のさまざまなカスタマ セグメントを擁している他の企業と提携を結び、これらのサービスをホスティングしてもらうことを計画していました。.NET My Services 担当の Distinguished Engineer、チーフ ソフトウェア アーキテクトの Mark Lucovsky は、「われわれ "Microsoft" は、空の巨大なディスク ドライブになるという希望は持っていません」と述べています。
安定性
昨年、Microsoft は、運用業務の面で大きく前進しました。当社の最初の XML Web サービスである .NET Passport は、可用性の面で高度な実績を積んでいます。われわれは、.NET My Services の可用性は Microsoft とパートナー各社にとっての重要な成功要因であることを認識しており、この分野に必要な作業と投資を行うことにコミットしています。
.NET My Services の実行にはマネージ コードが必要か?
.NET My Services では、サービスへのアクセスにマネージ コードは不要です。ソケット ライブラリにアクセスでき、Kerberos ライブラリを入手できる限り、(任意の言語で) .NET My Services を利用することができます。また、Microsoft はマネージ コードを使用する Visual Studio .NET ユーザーをサポートし、開発者が .NET My Services の呼び出しをさらに簡単に行えるようにしています。
使い始めるにはどうするか
現時点では、Microsoft .NET My Services をフルに活用するためのツールが完全に出揃っているわけではありませんが、.NET My Services をベースにした独自のアプリケーションをロールアウトするときに備えて、いまからでも行えることがいくつかあります。XML の学習などの多くのタスクは、アプリケーション内で .NET My Services を使うための準備になるだけでなく、新しい Web サービスの分野での知識とプログラミング スキルを高めるのに役立ちます。
.NET Passport を導入する
サイトに .NET Passport 認証を追加し、この既存のサービスをいまから利用し始めることによって、.NET My Services のインプリメンテーションに着手することができます。現在の Secure Socket Layer (SSL) と、上で説明した Kerberos セキュリティ プロトコルにより、.NET Passport は一般に難しい認証を肩代わりしてくれます。これにより、独自の認証メカニズムの構築と保守の負担をなくし、Microsoft に実際の作業を任せることができるのです。現在すでに 2 億人を超える .NET Passport アカウントのカスタマが、Web サイトに「シングル サインイン」でアクセスできるようになっています。ユーザーは、ユーザー名とパスワードを 1 回入力するだけで、.NET Passport を使用しているすべてのサイトにアクセスすることができます。
.NET Alerts を導入する
Microsoft .NET Alerts サービスは、コンテンツおよびサービス プロバイダがユーザーにインスタント通知を送信するための単純で効果的な手段を提供します。アラートはユーザーの設定に従ってルーティングされ、Windows デスクトップ、モバイル デバイス、および任意の電子メール アドレスに配信することができます。たとえば、サブスクライバは、オンライン時には Windows Messenger クライアントにアラートを配信し、コンピュータから離れているときにはモバイル デバイスに転送するよう指定することができます。.NET Alerts は「選択型」のサービスであり、ユーザーは自分の希望するアラートのみに受取設定をします。受取設定しなかったアラートを受け取ることは決してなく、またいつでも取消が可能です。
今日、.NET Alerts サービスをサイト上でセットアップすることで、明日の .NET My Services アプリケーションの基盤を作り上げることができます。これは、.NET Alerts が .NET My Services と同じ .NET Passport 認証メカニズムを使用しているからです。来年以降になって .NET My Services の運用が開始されたとき、.NET Alerts プロバイダは、既存の .NET Alerts インフラストラクチャに比較的単純な変更を加えるだけで、.NET My Services の .NET Alerts に移行することができます。それ以降、.NET Profile や .NET Calendar などの他の .NET My Services の統合は、はるかに簡単になります。
Visual Studio .NET ベータをインストールする
Microsoft .NET の全体的なメッセージの一環として、.NET My Services を利用するアプリケーションの作成は、近くリリースされる Visual Studio .NET 開発システムによって大幅に簡略化されます。いまから Visual Studio .NET を使い始めることで、.NET プラットフォーム上での Web サービスの開発において一歩前進することができます。
結論
.NET My Services を使って革新的なサービスとアプリケーションを作成したいと考えている開発者にとって、未来は大きく開けています。.NET My Services に関する最新情報は、https://www.microsoft.com/japan/myservices/ から入手できます。.NET My Services を使った開発方法についての詳しい情報については、近くリリースされる Microsoft .NET My Services Beta SDK と、2002 年 6 月に Microsoft Press から発行予定の本『Introduction to .NET My Services』を参考にしてください。