PowerBuilder で Dynamics 365 OData フィードを利用
CData API Server は、PowerBuilder DataWindow で利用できるセキュアなDynamics 365 のデータフィードを生成します。API Server は、OData、Atom、JSON、HTML、CSV、TSV、RSS などの主要な Web サービスをサポートしています。また、主要な認証スキームと SSL もサポートしています。
この記事では、CData API Server を使用して読み取りと書き込みを実行する DataWindow を作成する方法を説明します。
Dynamics 365 データ連携について
CData は、Microsoft Dynamics 365 のライブデータへのアクセスと統合を簡素化します。お客様は CData の接続機能を以下の目的で活用しています:
- Sales、Customer Service、Finance & Operations、Marketing など、Dynamics 365 エコシステム全体のデータの読み取りと書き込みができます。
- カスタマイズ可能なキャッシュと、インテリジェントなクエリ集約・分離により、Dynamics CRM のネイティブ機能を拡張できます。
- Azure Active Directory、Azure マネージド サービス ID 認証情報、クライアントシークレットまたは証明書を使用した Azure サービスプリンシパルなど、さまざまな方法で Dynamics 365 に安全に認証できます。
- SQL ストアドプロシージャを使用して、Dynamics 365 エンティティを管理できます。エンティティ間の関連付けの一覧表示、作成、削除などが可能です。
CData のお客様は、データをデータウェアハウスにレプリケートしたい場合(他のデータソースと併せて)や、Microsoft エコシステム内のお気に入りのデータツール(Power BI、Excel など)または外部ツール(Tableau、Looker など)からライブ Dynamics 365 データを分析したい場合など、さまざまな理由で当社の Dynamics 365 接続ソリューションを使用しています。
はじめに
API Server のセットアップ
以下の手順に従って、セキュアな Dynamics 365 OData サービスの作成を開始します。
デプロイ
API Server は独自のサーバー上で実行されます。Windows では、スタンドアロンサーバーまたは IIS を使用してデプロイできます。Java サーブレットコンテナでは、API Server WAR ファイルをドロップします。詳細と手順については、ヘルプドキュメントを参照してください。
API Server は、Microsoft Azure、Amazon EC2、Heroku へのデプロイも簡単です。
Dynamics 365 への接続
API Server をデプロイしたら、API Server 管理コンソールで Settings -> Connections をクリックして新しい接続を追加し、Dynamics 365 に接続するために必要な認証値やその他の接続プロパティを指定します。
Dynamics 365 接続プロパティの取得・設定方法
Microsoft Dynamics 365 への接続
Microsoft Dynamics 365 ドライバーは、以下のMicrosoft Dynamics 365 エディションへの接続をサポートしています。
- CustomerService
- FieldService
- FinOpsOnline (デフォルト)
- FinOpsOnPremise
- HumanResources
- Marketing
- ProjectOperations
- Sales
Notes:
- Supply Chain Management はFinance and Operations と同一です。これらのいずれかに接続するには、Edition をFinOpsOnline またはFinOpsOnPremise のいずれかに設定します。
- Microsoft Dynamics 365 Business Central については、個別のMicrosoft Dynamics 365 Business Central ドライバーを使用してください。
- OrganizationURL:お使いのMicrosoft Dynamics 365 組織のURL。例えば、https://orgcb42e1d0.crm.dynamics.com。
- Edition:上記のエディション一覧に示すとおり。
Microsoft Dynamics 365 への認証
Microsoft Dynamics 365 は、Microsoft Entra ID(Azure AD)、Azure サービスプリンシパル、Azure マネージドID(MSI)を経由する認証をサポートします。これらはすべてOAuth 規格に基づきます。 認証方法の詳細は、ヘルプドキュメントを参照してください。
次に、Settings -> Resources をクリックして、API Server からアクセスを許可する Dynamics 365 エンティティを選択できます。
また、Settings -> Server をクリックし、PowerBuilder との互換性のために以下の設定を変更します:
- Default Format:メニューから XML (Atom) を選択。
- Default Version:メニューから 2.0 を選択。
API Server ユーザーの認可
生成する OData サービスを決定したら、Settings -> Users をクリックしてユーザーを認可します。API Server は Authtoken ベースの認証を使用し、主要な認証スキームをサポートしています。アクセスは IP アドレスに基づいて制限することもできます。デフォルトでは、ローカルマシンへの接続のみが許可されています。SSL で認証と接続の暗号化も可能です。
Dynamics 365 用のプロファイルを作成
以下の手順に従って、Database Painter ツールを使用して API Server の OData API 用のデータベースプロファイルを作成します。Database Painter では、データをグラフィカルに操作したり、SQL クエリを実行したりできます。
- Tools -> Database Painter をクリックします。
- OData ノードを右クリックし、New Profile をクリックします。
- 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 を入力します。
- テーブルを表示・変更するには、テーブルを右クリックして Edit Data -> Grid をクリックします。
PowerBuilder コントロールで Dynamics 365 のデータ を使用
標準的な PowerBuilder オブジェクトを使用して OData フィードに接続し、クエリを実行できます。以下の例は、Dynamics 365 のデータ を DataWindow に取得する方法を示しています。
open メソッドに以下のコードを追加できます:
SQLCA.DBMS = "ODT" SQLCA.DBParm = "ConnectString='URI=http://MyServer:8080/api.rsc;UID=MyAPIUser;PWD=MyAuthtoken'"; CONNECT USING SQLCA; dw_goalheadings.SetTransObject(SQLCA); dw_goalheadings.Retrieve();