CRM データを外部システムと同期する
公開日: 2016年11月
対象: Dynamics CRM 2015
Microsoft Dynamics 365 のデータを、他のシステムに格納されているデータと同期させて、統合することが必要な場合があります。 一般的なデータ統合パターンには、外部システムからのデータの取得と Dynamics 365 へのそのデータの転送、Dynamics 365 からのデータの取得とそのデータと外部データ ストアとの同期、または外部データによる Dynamics 365 の更新が含まれています。 現在は、Microsoft Dynamics CRM Online 2015 更新プログラム 1 で導入された複数の新機能を使用して、これらのシナリオを実現するコードの記述が非常に簡単になっています。
注意
Microsoft Dynamics CRM Online 組織の場合、この機能は、組織が Dynamics CRM Online 2015 更新プログラム 1 に更新されている場合にのみ使用できます。 この機能は内部設置型の Dynamics CRM では使用できません。
これらの新機能はどの状況でも必要に応じて別々に使用できますが、外部データとのデータの同期および統合に関連する共通の問題に組み合わせで対処できます。 次の表に、これらの新機能を紹介します。
機能 |
説明 |
---|---|
特定のメッセージを削除する |
Microsoft Dynamics 365 には、レコードを更新する個別の操作に対応した複数の特定のメッセージがあります。 これらのメッセージはこのリリースで廃止され、現在は、同じ操作を実行するために Update を使用するだけです。 削除されたメッセージを以下に示します。
単にレコードを更新することは、これらのメッセージを使用するよりも簡単であり、データの統合と同期のシナリオに対する開発を効率化することになります。詳細:[更新] を使用して特化された操作を実行する |
代替キー |
Microsoft Dynamics 365 のエンタープライズ展開では、外部エンタープライズ システムからのデータを、ユーザーに提供できるように、Microsoft Dynamics 365 にロードすることが一般的です。 これら外部システムは、システムの同期に必要な GUID と呼ばれる、Dynamics 365 レコード ID を格納するように拡張することができないことがよくあります。 一般的なソリューションは、外部システムに関連レコードの ID を格納するために使用できる Microsoft Dynamics 365 に、ユーザー定義のエンティティを追加することです。 Microsoft Dynamics 365 でレコードを更新し、Dynamics 365 で関連レコードへの参照を割り当てるデータ ロード プロセスを作成するときは、まず追加の Dynamics 365 の Web サービスを呼び出し、この外部の識別子に基づいて Dynamics 365 の目標レコードを取得する必要があります。 この検索は、適切なインデックスがユーザー定義属性の適切な場所にない場合は遅くなる可能性があり、CRM Online のシナリオでは、これらの検索のそれぞれで、コストのかかるインターネット上のラウンド トリップが必要になります。 これらの余分なラウンド トリップは、Dynamics 365 の各レコードの更新に必要な時間の桁数に応じて増大し、総合的な処理能力を劇的に低下させる一可能性があります。 現在は、Web サービスの操作は、GUID の代わりに、1 つまたは複数の代替キーを使用して、Dynamics 365 のレコードを対象にすることができます。 また、関連レコードへのエンティティ参照を、1 つまたは複数の代替キーを使用して指定できます。 代替キーはインデックス付きなので、ユーザー定義属性を識別子として追加することと比較して、検索操作のパフォーマンスの向上が見られます。 何か問題がある場合は、システムはエラーをスローして、すべての変更をロールバックします。詳細:エンティティの代替キーの定義 |
変更履歴 |
組織が Dynamics 365データを外部ストレージに維持する必要があるときは、データの最初の抽出後、または最後の同期後に変更されたデータを検出することによって、効率の良い方法でデータの同期を維持する方法を現在提供しています。 エンティティの変更が取得には、RetrieveEntityChangesRequest メッセージを使用します。 詳細については、「変更の追跡を使用してデータを外部システムに同期」を参照してください。 |
Upsert |
外部システムから Microsoft Dynamics 365 にデータを読み込むとき、レコードが Dynamics 365 に既に存在しているか、そして更新する必要があるかどうか、または新しいレコードを作成する必要があるかどうかが分からない場合があります。 新しい UpsertRequest メッセージを使用して、1 回の API 呼び出しで、存在する場合はレコードを更新し、存在しない場合は新しいレコードを作成します。詳細:Upsert を使用してレコードを挿入または更新 |
次の表は、これらの新しい機能を使用した場合と使用しない場合の同期の複雑度の比較です。
前 |
説明 |
---|---|
各レコードに対して以下を実行します。
|
現在は、この新機能により、前述と同じ操作を実行するのに必要なサーバーへの呼び出しは 1 回だけです。
後 |
説明 |
---|---|
1 回の呼び出しだけで、一意の ID ABC123 を持つ取引先企業の存在を検証するには、取引先責任者を contact@company.com に、地域を NW に、所有者を user@mycompany.com に、状態をアクティブに設定します。 |
このセクションの内容
サンプル: Upsert を使用してレコードを挿入または更新
関連セクション
Microsoft Dynamics CRM 2015 用カスタマイズの開発者ガイド
© 2017 Microsoft. All rights reserved. 著作権