Salesforce Data Provider を使用した OData サービスの作成



CData ADO.NET Provider for Salesforce を使用すると、Windows Communication Foundation(WCF)フレームワークを活用して、Salesforce データを OData コンシューマーに提供するサービス指向アプリケーションを迅速に開発できます。この記事では、Salesforce への接続を提供するエンティティデータモデルの作成方法と、OData サービスを公開するための WCF Data Service の作成方法を説明します。作成したフィードは、Power Pivot や CData ADO.NET Provider for OData を使用するアプリケーションなど、任意の OData クライアントから利用できます。

OData サービスの作成

以下の手順に従って、OData 経由で Salesforce への接続を提供する WCF サービスアプリケーションを作成します。

  1. Visual Studio を開き、新しいプロジェクトを作成します。WCF Service Application テンプレートを選択してください。
  2. 自動生成された IService.cs と Service1.svc を削除します。
  3. Project -> Add New Item -> ADO.NET Entity Data Model をクリックします。
  4. 表示される Entity Data Model ウィザードで、「EF Designer from Database」オプションを選択します。
  5. 続いて表示される Choose Your Connection ダイアログで、New Connection をクリックします。
  6. Connection properties ダイアログで、CData Salesforce Data Source を選択し、必要な資格情報を入力します。一般的な接続プロパティは User、Password、Access Token です。OAuth もサポートされています。

    Visual Studio からの接続方法については、ヘルプドキュメントの「はじめに」の章を参照してください。

  7. OData クライアントからアクセスさせたい Salesforce のテーブルおよびビューを選択します。
  8. Project -> Add New Item -> WCF Data Service をクリックします。
  9. データソースクラスを指定し、新しい WCF Data Service へのアクセスを設定します。以下の例では、エンティティの Access Rule が All に設定されています。これは、すべてのユーザーがデータの読み取りと変更ができることを意味します。

    using System;
    using System.Collections.Generic;
    using System.Data.Services;
    using System.Data.Services.Common;
    using System.Linq;
    using System.ServiceModel.Web;
    using System.Web;
    
    namespace SalesforceService{
      public class SalesforceDataService : DataService<SalesforceEntities> {
        public static void InitializeService(DataServiceConfiguration config) {
          config.SetEntitySetAccessRule("*", EntitySetRights.All);
          config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3;
        }
      }
    }
  10. プロジェクトを実行します。これで、OData をサポートするアプリケーションから Salesforce データにアクセスし、変更を反映できるようになります。ブラウザでフィードにアクセスできます。フィードは次のように表示されます:

    Power Pivot で OData サービスを利用する

    以下の手順に従って、任意の OData クライアント(例:Excel Power Pivot)からサービスを利用します。

    1. Excel で、Power Pivot タブの Power Pivot Window アイコンをクリックして Power Pivot を開きます。
    2. Get External Data から Other Data Sources をクリックします。
    3. 表示されるダイアログで、「Other Feeds」オプションを選択します。
    4. 続いて表示される Table Import Wizard で、OData URL を入力します。例:http://localhost:12449/SalesforceDataService.svc/
    5. インポートするテーブルを選択します。
    6. これで、Power Pivot で Salesforce データを使用できるようになりました。

      CData OData Provider で OData サービスを利用する

      ADO.NET Data Provider for Salesforce と OData の使用を開始するにあたり、完全に機能する サンプルプロジェクトをダウンロードできます。OData サービスをホストするには ADO.NET Provider for Salesforce が、OData サービスを利用するには ADO.NET Provider for OData が必要です。まずは Salesforce Provider の無料トライアルOData Provider の無料トライアルをダウンロードしてお試しください。

      注意:デモを実行する前に、接続文字列を Salesforce.com の資格情報で再設定する必要があります。