WCF アプリケーションで BigCommerce のデータ の OData サービスを公開
CData ADO.NET Provider for BigCommerce を使用すると、Windows Communication Foundation(WCF)フレームワークを活用してサービス指向アプリケーションを素早く開発し、BigCommerce のデータを OData コンシューマーに提供できます。この記事では、接続用の Entity Data Model を作成し、WCF Data Service を構成して OData サービスを公開する方法を解説します。公開したフィードは、Power Pivot や CData ADO.NET Provider for OData を使用するアプリケーションなど、さまざまな OData クライアントから利用できます。
OData サービスの作成
以下の手順で、OData 経由でBigCommerce のデータへの接続を提供する WCF サービスアプリケーションを作成します。
- Visual Studio を開き、新しいプロジェクトを作成します。WCF Service Application テンプレートを選択します。
- 自動生成された IService.cs と Service1.svc を削除します。
- Entity Framework 6 をインストールします:
Visual Studio のパッケージマネージャーコンソールを使用して、最新バージョンの Entity Framework をインストールします。以下のコマンドを実行すると、Entity Framework が自動的にダウンロード・インストールされます。
Install-Package EntityFramework
- Entity Framework プロバイダーを登録します:
- App.config または Web.config ファイルの "providers" セクションに、以下のプロバイダーエントリを追加します。Entity Framework のインストールが成功していれば、このセクションはすでに存在しているはずです。
<configuration> ... <entityFramework> <providers> ... <provider invariantName="System.Data.CData.BigCommerce" type="System.Data.CData.BigCommerce.BigCommerceProviderServices, System.Data.CData.BigCommerce.Entities.EF6" /> </providers> </entityFramework> </configuration> - インストールディレクトリの lib/4.0 にある System.Data.CData.BigCommerce.Entities.dll への参照を追加します。
- プロジェクトをビルドして、EF6 のセットアップを完了します。
- App.config または Web.config ファイルの "providers" セクションに、以下のプロバイダーエントリを追加します。Entity Framework のインストールが成功していれば、このセクションはすでに存在しているはずです。
- Project -> Add New Item -> ADO.NET Entity Data Model をクリックします。
- 表示される Entity Data Model ウィザードで、'EF Designer from Database' オプションを選択します。
- Choose Your Connection ダイアログが表示されたら、New Connection をクリックします。
Connection properties ダイアログで、CData BigCommerce Data Source を選択し、必要な認証情報を入力します。
一般的な接続文字列は以下のとおりです:
OAuthClientId=YourClientId; OAuthClientSecret=YourClientSecret; StoreId='YourStoreID'; CallbackURL='http://localhost:33333'
BigCommerce 認証は標準のOAuth フローに基づいています。
Store ID の取得
BigCommerce Store に接続するには、StoreId が必要です。Store Id を確認するには、以下の手順に従ってください。
- BigCommerce アカウントにログインします。
- ホームページから「Advanced Settings」->「API Accounts」 を選択します。
- 「Create API Account」->「Create V2/V3 API Token」をクリックします。
- 画面にAPI Path という名前のテキストボックスが表示されます。
- テキストボックス内に、次の構造のURL が表示されます:https://api.bigcommerce.com/stores/{Store Id}/v3。
- 上記で示したように、Store Id は'stores/' と'/v3' パスパラメータの間にあります。
- Store Id を取得したら、「キャンセル」 をクリックするか、まだ持っていない場合はAPI Account の作成に進むことができます。
パーソナルアクセストークンの取得
加えて、自分のデータをテストおよびアクセスするには、個人用トークンを取得する必要があります。個人用トークンを取得する方法は次のとおりです。
- BigCommerce アカウントにログインします。
- ホームページから「Advanced Settings」->「API Accounts」 を選択します。
- 「Create API Account」->「Create V2/V3 API Token」をクリックします。
- アカウント名を入力します。
- 作成するAPI Account の「OAuth Scopes」を選択します。CData 製品 は"None" とマークされたデータにアクセスできません。また、"read-only" とマークされたデータを変更できません。
- 「保存」をクリックします。
BigCommerce への認証
次に、以下を設定してデータに接続できます。- StoreId:API Path テキストボックスから取得したStore ID に設定。
- OAuthAccessToken:生成したトークンに設定。
- InitiateOAuth:OFF に設定。

- OData クライアントからアクセスさせたい BigCommerce のテーブルとビューを選択します。

- Project -> Add New Item -> WCF Data Service をクリックします。
データソースクラスを指定し、新しい 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 BigCommerceService{ public class BigCommerceDataService : DataService<BigCommerceEntities> { public static void InitializeService(DataServiceConfiguration config) { config.SetEntitySetAccessRule("*", EntitySetRights.All); config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3; } } }-
プロジェクトを実行します。これで、OData 対応アプリケーションから Salesforce データにアクセスし、変更を反映できるようになります。ブラウザでフィードにアクセスできます。フィードは次のように表示されます:
Power Pivot から OData サービスを利用する
これで、任意の OData クライアント(例:Excel Power Pivot)からサービスを利用できます。
- Excel を開き、Power Pivot Window ボタンをクリックします。
- 新しいポップアップが表示されます。From Data Feeds オプションを選択します。
- 表示される Table Import Wizard で、OData URL を入力します(例:http://localhost:12449/BigCommerceDataService.svc/)。
- OData サービスへの接続後、ウィンドウ下部の Next ボタンをクリックします。
- ウィザードの次のウィンドウに、利用可能なテーブルの一覧が表示されます。インポートするテーブルを選択し、Finish をクリックします。
- Close をクリックして、Power Pivot にデータをインポートします。