PowerBuilder で Dynamics CRM OData フィードを利用

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
この記事では、API Server を使用して PowerBuilder からDynamics CRM のデータを OData フィードとして利用する方法を説明します。

CData API Server は、PowerBuilder DataWindow で利用できるセキュアなDynamics CRM のデータフィードを生成します。API Server は、OData、Atom、JSON、HTML、CSV、TSV、RSS などの主要な Web サービスをサポートしています。また、主要な認証スキームと SSL もサポートしています。

この記事では、CData API Server を使用して読み取りと書き込みを実行する DataWindow を作成する方法を説明します。

Dynamics CRM データ連携について

CData は、Microsoft Dynamics CRM のライブデータへのアクセスと統合を簡素化します。お客様は CData の接続機能を以下の目的で活用しています:

  • Dynamics CRM 2011+ サービスおよび Dynamics CRM Online のデータの読み取りと書き込みができます。
  • カスタマイズ可能なキャッシュと、インテリジェントなクエリ集約・分離により、Dynamics CRM のネイティブ機能を拡張できます。
  • Azure Active Directory、Azure マネージド サービス ID 認証情報、クライアントシークレットまたは証明書を使用した Azure サービスプリンシパルなど、さまざまな方法で Dynamics CRM に安全に認証できます。

CData のお客様は、データをデータウェアハウスにレプリケートしたい場合(他のデータソースと併せて)や、Microsoft エコシステム内のお気に入りのデータツール(Power BI、Excel など)または外部ツール(Tableau、Looker など)からライブ Dynamics CRM データを分析したい場合など、さまざまな理由で当社の Dynamics CRM 接続ソリューションを使用しています。


はじめに


API Server のセットアップ

以下の手順に従って、セキュアな Dynamics CRM OData サービスの作成を開始します。

デプロイ

API Server は独自のサーバー上で実行されます。Windows では、スタンドアロンサーバーまたは IIS を使用してデプロイできます。Java サーブレットコンテナでは、API Server WAR ファイルをドロップします。詳細と手順については、ヘルプドキュメントを参照してください。

API Server は、Microsoft AzureAmazon EC2Heroku へのデプロイも簡単です。

Dynamics CRM への接続

API Server をデプロイしたら、API Server 管理コンソールで Settings -> Connections をクリックして新しい接続を追加し、Dynamics CRM に接続するために必要な認証値やその他の接続プロパティを指定します。

Dynamics CRM 接続プロパティの取得・設定方法

Dynamics CRM では、インスタンスごとに接続文字列の設定が必要です。 Authentication セクションでは、有効なDynamics CRM のUser、Password の入力、およびDynamics CRM Server Organization root のURL を設定します。さらに、CRMVersion プロパティに、'CRM2011+' もしくは'CRMOnline' を設定します。IFD コンフィグレーションもサポートされていますので、InternetFacingDeployment をTRUE に設定してください。

また、Security Token Service(STS)、もしくはAD FS エンドポイントをSTSURL プロパティに設定することもできます。 この値はGetSTSUrl ストアドプロシージャで取得できます。 Office 365 ユーザーはデフォルトSTS URL にCRMVersion の設定だけで接続することができます。

次に、Settings -> Resources をクリックして、API Server からアクセスを許可する Dynamics CRM エンティティを選択できます。

また、Settings -> Server をクリックし、PowerBuilder との互換性のために以下の設定を変更します:

  • Default Format:メニューから XML (Atom) を選択。
  • Default Version:メニューから 2.0 を選択。

API Server ユーザーの認可

生成する OData サービスを決定したら、Settings -> Users をクリックしてユーザーを認可します。API Server は Authtoken ベースの認証を使用し、主要な認証スキームをサポートしています。アクセスは IP アドレスに基づいて制限することもできます。デフォルトでは、ローカルマシンへの接続のみが許可されています。SSL で認証と接続の暗号化も可能です。

Dynamics CRM 用のプロファイルを作成

以下の手順に従って、Database Painter ツールを使用して API Server の OData API 用のデータベースプロファイルを作成します。Database Painter では、データをグラフィカルに操作したり、SQL クエリを実行したりできます。

  1. Tools -> Database Painter をクリックします。
  2. OData ノードを右クリックし、New Profile をクリックします。
  3. Database Profile Setup ダイアログで、以下を入力します:
    • Profile Name:プロファイルのわかりやすい名前を入力します。
    • URI:API Server の OData エンドポイントへの URL を入力します。この URL は以下のような形式になります:
      http://MyServer:8080/api.rsc
    • Supply User Id and Password:HTTP Basic 認証を使用する場合は、このオプションをクリックします。なお、API Server は Windows 認証もサポートしています。
    • User Id:API Server のユーザー名を入力します。
    • Password:API Server のユーザーの Authtoken を入力します。
  4. テーブルを表示・変更するには、テーブルを右クリックして Edit Data -> Grid をクリックします。

PowerBuilder コントロールで Dynamics CRM のデータ を使用

標準的な PowerBuilder オブジェクトを使用して OData フィードに接続し、クエリを実行できます。以下の例は、Dynamics CRM のデータ を DataWindow に取得する方法を示しています。

open メソッドに以下のコードを追加できます:

SQLCA.DBMS = "ODT"
SQLCA.DBParm = "ConnectString='URI=http://MyServer:8080/api.rsc;UID=MyAPIUser;PWD=MyAuthtoken'";
CONNECT USING SQLCA;
dw_account.SetTransObject(SQLCA);
dw_account.Retrieve();

はじめる準備はできましたか?

詳細はこちら、または無料トライアルにお申し込みください:

CData API Server お問い合わせ