データ フィードの概要 (PowerPivot for SharePoint)
データ フィードは、オンライン データ ソースからクライアント アプリケーションに要求時にデータ ストリームを提供します。SQL Server 2008 R2 Analysis Services では、データ フィードを使用して、Atom XML データを任意のソースから PowerPivot データ ソースにプッシュできます。
データ フィードは、公開されている標準に基づくものであるため、PowerPivot データ ソースに対してフィードが果たす特定の役割以外にもさまざまな用途で使用することができます。データ フィード テクノロジの幅広い用途について、このトピックですべて説明することはできません。Atom フィードの使用法について規定した標準およびデータ サービス テクノロジについては、このトピックの最後にあるリンクを参照してください。
PowerPivot データ ソースをサポートするデータ フィード機能の詳細については、次の一覧のリンクをクリックしてください。
データ フィードの定義
Atom データ サービスの定義
データ サービス ドキュメント (.atomsvc ファイル) について
データ サービス ドキュメントの処理
データ フィードのインポート操作の認証
PowerPivot クライアント アプリケーションでのデータ フィードの読み取り
Atom 標準について
データ サービスおよびデータ フィードに関する詳細情報
データ フィードの定義
データ フィードとは、Atom 標準をサポートする Web サービス、データ サービス、または Web アプリケーションによって生成される XML Atom 1.0 データのペイロードです。データ フィードは、時間が経過しても変化しない一貫した XML 表形式構造と、フィードを生成するたびに変化する可能性のある可変データで構成されます。サービスまたはアプリケーションは、要求が行われたときにフィードを提供します。このとき、任意のデータ ソースからデータを取得し、要求を行ったクライアント アプリケーションまたはユーザーにリアルタイムでデータをパブリッシュします。
.gif)
Analysis Services の機能であるデータ フィードでは、データ処理の担当者が組織のデータを PowerPivot データ ソースで簡単に使用できるようにするための便利なツールが提供されます。クライアント データ プロバイダーを介して企業データ ソースにアクセスするのが困難な場合や、複雑なクエリを隠してデータにアクセスする場合は、フィード形式でデータを公開するデータ ソースに対して Atom データ サービスを構築できます。Microsoft ADO.NET Framework や Windows Communication Foundation (WCF) テクノロジなど、企業データを REST アプリケーションまたは Atom データ サービスとして公開する場合に役立つ多数の製品やテクノロジが提供されています。
社内で作成したカスタム ソリューションだけでなく、フィード形式を組み込みの機能としてサポートするアプリケーションからもデータ フィードにアクセスできます。データ フィードは、SQL Server 2008 R2 のコンポーネント、およびいくつかの Microsoft Office 2010 製品でサポートされています。
Atom データ サービスの定義
データ フィードを使用するには、フィードを生成するオンライン データ ソース (データ サービスとも呼ばれます) が必要です。データ サービスとは、URL アドレスの指定が可能な HTTP エンドポイントです。この HTTP エンドポイントでは、データが提供され、Atom ワイヤ形式に準拠した XML データ構造でデータがラップされます。
データ フィードを PowerPivot データ ソースにインポートするために、ADO.NET データ サービス、Web サービス、または REST アプリケーションをデータ サービスとして使用できます。また、Atom 形式の XML データを格納する静的なドキュメントの URL も使用できます。
データ サービス機能は、アプリケーションに組み込むこともできます。これらのアプリケーションは、データ構造をデータ フィードとしてパブリッシュまたはエクスポートすることで、すぐに使用できるデータ フィードを提供します。データ フィードを生成できる Microsoft 製品の例を次に示します。
Microsoft SharePoint 2010。SharePoint リストの構造と内容をデータ フィードとしてエクスポートできます。
SQL Server 2008 R2 Reporting Services。Reporting Services には、レポート内のデータ領域を Atom 1.0 データ フィードとしてストリーム送信するための機能が組み込まれています。詳細については、「データ フィードを使用する方法 (PowerPivot for SharePoint)」を参照してください。
データ サービス ドキュメント (.atomsvc ファイル) について
データ サービス ドキュメントは、1 つまたは複数のデータ フィードへの接続を指定します。最も単純なのはフィードを生成するデータ サービスへの URL ですが、選択およびフィルターのパラメーターを含む複雑な URL も指定できます。
SQL Server 2008 R2 Analysis Services のコンポーネントの場合、データ サービス ドキュメントでは、データ フィードのインポート時に PowerPivot データ ソースに作成するテーブルの名前も指定します。PowerPivot クライアント アプリケーションで処理されるデータ サービス ドキュメントでは、必ず対象のテーブルを指定する必要があります。テーブル名によって、フィードのインポート後にデータが格納される PowerPivot データ ソース内の場所が定義されます。
データ サービス ドキュメントは、XML 構文の知識があれば手動で作成することもできますが、多くの場合、フィードを生成するアプリケーションを利用すれば、直ちに作成されます。Reporting Services および SharePoint サーバー コンポーネントは、フィードを生成する処理の一環として内部的にデータ サービス ドキュメントを作成します。コンピューター上で PowerPivot クライアント アプリケーションが検出された場合、データ サービス ドキュメントがメモリに自動生成されると、クライアント アプリケーションが自動的に起動し、新しい PowerPivot データ ソースまたは開いている PowerPivot データ ソースにすぐにフィードをインポートします。ローカル クライアント アプリケーションでデータをインポートできない場合、インフォメーション ワーカーは、後でフィードを処理するためにデータ サービス ドキュメント (.atomsvc) をファイル システムに保存するように求められます。
次の図は、データ フィードに対する要求がどのようにして解決されるかを示しています。この例では、データ フィードを提供するアプリケーションは Reporting Services レポートです。ユーザーがレポートをデータ フィードとしてエクスポートすると、フィードが PowerPivot データ ソース内のテーブル コントロールに表示されます。または、データ サービス ドキュメント (.atomsvc) ファイルをファイル システムに保存するように求められます。PowerPivot クライアント アプリケーションがコンピューターにインストールされていない場合は、ファイルの保存だけが求められます。
.gif)
注 |
|---|
.atomsvc ファイル用にインターネット メディア タイプ (MIME タイプとも呼ばれます) が定義されています。サーバーでは、.atomsvc および application\atomsvc+xml を許可するように IIS 7.0 が構成されます。クライアント ワークステーションでは、MIME タイプは .atomsvc ファイル拡張子と PowerPivot for Excel に関連付けられます。.atomsvc ファイルをローカル コンピューターで開くと、PowerPivot for Excel が自動的に起動します。 |
SharePoint サイトでのデータ サービス ドキュメント (.atomsvc) ファイルの作成
SharePoint サイト管理者は、データ フィードを PowerPivot クライアント アプリケーションのユーザーが使用できるように、SharePoint ライブラリに .atomsvc ファイルを作成することができます。フィードを生成する Web アプリケーションおよびデータ サービスを開発者やデータ担当者が作成するとき、それらのフィードをインフォメーション ワーカーが使用できるようにする方法が必要になります。そのための方法の 1 つが SharePoint ライブラリにデータ サービス ドキュメントを作成することで、この方法によって組織全体でフィードを使用できるようになります。
SharePoint サイトでは、投稿権限があるユーザーであれば誰でも、データ フィード ライブラリにデータ サービス ドキュメントを作成できます。データ フィード ライブラリにより、データ サービス ドキュメント コンテンツ タイプのサポートが追加されます。このコンテンツ タイプは、データ サービス ドキュメントを作成または編集する際の基盤となります。ドキュメントはライブラリに格納されるため、データ サービス ドキュメントを削除したりセキュリティで保護したりすることで、組織内のユーザーがフィードを使用できるかどうかを制御することもできます。インフォメーション ワーカーがライブラリ内のデータ サービス ドキュメントにアクセスするには、データ フィード ライブラリ内の項目の SharePoint URL を指定します。
データ サービス ドキュメントの処理
PowerPivot for Excel などのクライアント アプリケーションでは、データ フィードをすぐに使用するために、データ サービス ドキュメントを要求時に処理することができます。サービス ドキュメントを処理すると、データに対する要求がドキュメント内にあるサービスの URL に送信されます。PowerPivot for Excel の場合、SharePoint パスでデータ サービス ドキュメントを読み込むと、新しいデータを PowerPivot データ ソースに追加する一連のイベントが開始されます。
次の図は、データ フィードが要求されてから、パブリッシュされて PowerPivot ブックにインポートされるまでの流れを示しています。
.gif)
ステップ 1。PowerPivot クライアント アプリケーションで、SharePoint ライブラリからデータ サービス ドキュメントを読み込むための HTTP 要求が発行されます。この要求は、クライアント アプリケーション内のデータのインポート ウィザードから発行されています。ユーザーがデータ サービス ドキュメントの SharePoint パスを指定します。ドキュメント内で、1 つまたは複数のデータ フィードを提供する 1 つ以上のデータ サービスの URL を指すポインターを指定します。
ステップ 2。PowerPivot クライアント アプリケーションで、データ サービス ドキュメントが読み取られます。1 つのデータ サービス ドキュメント内には、配信される Atom データを外部 Web サイトにパブリッシュするデータ サービスや Web アプリケーションを自由に組み合わせて指定することができます。ドキュメント内の各エントリは 1 つのフィードを表します。各エントリは、そのフィードを提供するデータ サービスまたはアプリケーションへの接続情報を使用して指定されます。図に示すように、1 つのデータ サービス ドキュメントに、異なるソースから生成される複数のフィードが含まれる場合もあります。それぞれのサービスまたはアプリケーションには、各 HTTP エンドポイント経由で匿名でアクセスするか、インポート操作を開始したユーザーのセキュリティ コンテキストを使用してアクセスします。
ステップ 3。PowerPivot クライアント アプリケーションから、データ サービス ドキュメントで参照されているそれぞれのサービスまたはアプリケーションに HTTP 要求が送信されます。クライアント アプリケーションでは、フィードの URL に基づいて HTTP GET 要求を発行します。
ステップ 4。データ サービスまたはアプリケーションによってフィードが生成されます。フィードの構造は、そのフィードを提供するサービスまたはアプリケーションによって決まります。フィードは、1 つのデータベース テーブルまたはビューの XML 表現になる場合と、データ サービス ドキュメント内の複雑な URL に基づいてさまざまなテーブルまたはビューから集計されたデータになる場合があります。
ステップ 5。PowerPivot クライアント アプリケーションで、フィードごとに個別のテーブルが作成されてインポートが完了します。作成されるテーブルの名前は、データ サービス ドキュメント内にあるテーブル名に基づきます。データ サービス ドキュメント内の各データ フィード エントリは、インポートの完了後にデータが格納されるテーブルの名前に関連付けられます。データ フィードは非同期に生成されますが、1 回の操作でテーブルに追加されます。インポート ウィザードによって、フィードが返されるたびにそのデータが PowerPivot データ ソースに追加されます。
データ フィードのインポート操作の認証
PowerPivot クライアント アプリケーションで、データ サービス ドキュメント内のデータ フィードの URL に対する HTTP 要求を行うと、フィードを生成するデータ サービスまたはアプリケーションによって受信側で要求が認証されます。
Reporting Services レポートまたは SharePoint リストからのデータ フィードの認証
Reporting Services または SharePoint リストからのエクスポート操作で取得するデータ フィードは、常に現在のユーザーの Windows セキュリティ ID に基づいて行われます。アプリケーションから PowerPivot クライアント アプリケーションにデータを転送するデータ フィードでは、Windows 統合セキュリティのみがサポートされます。
基本認証を指定することはできず、匿名アクセスも指定できません。認証の種類を設定するプロパティはアプリケーション間のデータ転送では使用できません。
現在のユーザーのセキュリティ コンテキストが Windows セキュリティ プリンシパルでない場合 (つまり、フォーム認証を使用して Reporting Services に接続している場合、またはフォーム認証か Windows セキュリティ プリンシパル以外を使用して SharePoint Web アプリケーションに接続している場合) は、そのユーザーはレポートまたはリストをデータ フィードとしてエクスポートすることはできません。
PowerPivot クライアント アプリケーションからのデータ フィードの認証
PowerPivot クライアント アプリケーションでデータのインポート ウィザードを使用して指定するデータ フィードのインポート操作については、[詳細プロパティ] ダイアログ ボックスで認証の種類を指定できます。
HTTP 要求に対して次の 3 つの認証方法がサポートされます。
Windows 統合セキュリティ (ネゴシエート)
クリア テキストでの基本認証
匿名アクセス
これらの方法は、フィードをインポートするために PowerPivot クライアント アプリケーションで使用される Atom フィード用の .NET マネージ プロバイダーによってサポートされています。
既定では、データをインポートするユーザーの Windows セキュリティ ID で接続が発行されますが、プロバイダーの詳細プロパティを設定するとユーザー ID とパスワードを指定することができます。この場合、接続要求は基本認証を使用して送信され、ユーザー名とパスワードがクリア テキストでリモート サーバーに送信されます。セキュリティ上の理由から、これを行うのは接続が暗号化チャネル経由で行われる場合だけにしてください。
匿名アクセスは明示的にはサポートされていませんが、"ユーザー ID" プロパティと "パスワード" プロパティを null のままにして "統合セキュリティ" プロパティを false に設定した場合に、匿名ユーザーとして接続できます。
PowerPivot クライアント アプリケーションでのデータ フィードの読み取り
データ リーダーは、インポートされた各データ フィードを受け取り、それをアプリケーションで認識されるオブジェクトまたは構造に変換します。PowerPivot データ ソースを作成および表示するために使用される PowerPivot for Excel には、データ リーダーが組み込まれています。データ リーダーは、データ フィードの表形式構造ごとにテーブル コントロールを作成します。
PowerPivot データ ソース内のフィードの関連付け
1 回の操作で複数のフィードがインポートされる場合、PowerPivot クライアント アプリケーションはフィード間の関連データを探します。たとえば、同じリレーショナル データベースから表形式データを返す一連のフィードがデータ サービス ドキュメントで指定された場合、通常、PowerPivot クライアント アプリケーションはインポートされるデータのテーブル リレーションシップを再構築できます。同様に、1 つの Reporting Services レポートから複数のフィードが生成される場合、インポートされるデータにはレポート内のデータ領域間のリレーションシップが反映されます。
元のデータに存在するリレーションシップを再作成するには、格納されたデータを関連付けるためのフレームワークを提供する共通のソースからフィードを生成する必要があります。元のソース内の関連しないテーブルについては、それらが同じデータと列属性を共有する場合でも、PowerPivot クライアント アプリケーションで自動的にリレーションシップが確立されることはありません。ただし、共通のデータと列属性が保持されている場合は、手動で簡単にリレーションシップを作成できます。
Atom 標準について
Atom 1.0 標準では、XML データのペイロードのパブリッシュと構築の両方を対象とした一対の仕様について記述されています。
RFC5023 は、Atom パブリッシング プロトコルの仕様を定めており、サービスの探索について記述し、データ オブジェクトへのパスがどのように構築されるかを示しています。SharePoint サイトで作成したデータ サービス ドキュメント (.atomsvc) ファイルは、このプロトコルが記述するサービス ドキュメント定義に準拠します。
RFC4287 では、クライアント側のデータ リーダーがアプリケーション内のデータをどのように解釈して提示するかを指定する、Atom 配信形式の仕様が定められています。PowerPivot for Excel には、この形式をサポートする埋め込みのデータ リーダーが用意されています。実際のデータを提供するデータ サービスでこのプロトコルを実装する必要があります。
XML 形式には、一連のペイロードを構成するカスタム コンテンツ用の規定に従って全体的な構造を定義する、必須の要素とオプションの要素があります。
RSS フィードに慣れているユーザーのために Atom フィードとの違いについて説明すると、Atom 標準に準拠するデータ フィードと RSS フィードは、どちらも要求時に配信データをパブリッシュする点で類似しています。Atom が RSS と異なる点は、整形式 XML データ用の追加の仕様を提供することです。これは、ビジネス インテリジェンス ソリューションで使用される、適切に構成された種類のビジネス データをインポートするために必要です。そのため、PowerPivot データ ソースで使用されるフィードに対しては (RSS ではなく) Atom 標準がサポートされています。
データ サービスおよびデータ フィードに関する詳細情報
次のリンクでは、ADO.NET Data Services を使用するための有用な情報および実践的な手順が提供されています。
ADO.NET Data Services の使用
データ サービスのクイック スタート (ADO.NET Data Services フレームワーク)
次の 2 つのリンクから、IETF Web サイトの Atom プロトコルに関するドキュメントを参照できます。
注