Dynamics 365 Customer Engagement (on-premises) の開発スタイルを選択する
SDK には、Dynamics 365 for Customer Engagement Web サービスにアクセスするためまたはアプリケーションを拡張するためのコードを作成するときに使用する、さまざまな方法があります。 このトピックでは、お客様の技術分野に応じて選択可能な開発スタイルのガイダンスが提供されます。
.NET 開発と 非.NET 開発の比較
Dynamics 365 Customer Engagement (on-premises)の拡張コードの記述中にまず検討が必要なのは、お客様のコードは .NET Framework を使用して既述されるかどうかという点です。
コードが .NET Framework を使用して記述されている場合は、作成している内容に応じて、次のいずれかの使用を検討してください。
プラグイン、カスタム ワークフロー活動、またはカスタム XAML ワークフローを作成する場合は、SDK アセンブリを使用ます。詳細: .NET 開発: Dynamics 365 Customer Engagement アプリのアセンブリを使用
Dynamics 365 Customer Engagement (on-premises) 用 Windows アプリケーションを作成している場合は、XRM ツーリング アセンブリを使用します。 詳細: .NET 開発: XRM ツールを使用
Dynamics 365 用の非 Windows アプリケーションを作成している場合は、Web API を使用します。 詳細: Web API を使用した Dynamics 365 Customer Engagement の使用
コードが .NET Framework を使用して記述されていない場合は、Web API を使用します。 詳細: Web API を使用した Dynamics 365 Customer Engagement の使用
次のフロー ダイアグラムでは、 Dynamics 365 Customer Engagement (on-premises) 向けの開発時に、どの開発スタイルを選択できるかが示されます。
.NET 開発: SDK アセンブリを使用します。
SDK では、 Dynamics 365 Customer Engagement (on-premises) Web サービスへの接続に利用できるクラスが提供され、それによりお客様の組織を識別して、作成や取得などの共通の業務オペレーションを実行できます。 Dynamics 365 Customer Engagement (on-premises) のデータを更新し削除します。 SDK アセンブリは NuGet パッケージとして使用できます。 詳細: NuGet を使用し SDK アセンブリ更新を購読。
重要
プラグイン、カスタム ワークフロー活動、または XAML ワークフローを作成するには SDK アセンブリの最新バージョンを使用する必要があります。 バージョン 9.x から開始して、.NET Framework バージョン 4.6.2 を使用する必要があります。
ただし、.NET Framework 4 および SDK 拡張機能(非推奨) の CrmConnection クラスを使用して、Dynamics CRM 2016 Service Pack 1 オンプレミス (オンプレミス) および CRM Online 2016 アップデート 1 (バージョン 8.1.0) またはそれ以降に接続する場合は、アセンブリのバージョン 6.1.2 が必要になります。 そうしない場合、接続できません。 下位互換性に関する詳細については、ブログ: Dynamics 365 Customer Engagement (on-premises) SDK の下位互換性を参照してください。
SDK アセンブリを使用してコードを記述する場合、組織 Web サービスを使用して Dynamics 365 Customer Engagement (on-premises), のインスタンスに接続し、サポートされている Web サービスの操作を実行します。 詳細: Dynamics 365 Customer Engagement の組織サービスを使用
注意
SDK アセンブリは、最終的に、非推奨の 2011 年版 SOAP エンドポイントではなく、内部的に Web API を使用するように移行予定です。 その場合、SDK アセンブリを使用して記述されたすべてのコードが、2011 SOAP エンドポイントから Web API の使用へと自動的に移行されるて、引き続きサポートされます。 この更新は、アプリケーションのランタイム フォルダー SDK アセンブリを改訂版アセンブリに置き換えるだけで、ほぼ透過的に行うことができます。 .NET Core 開発に関する追加の詳細と新しい情報については、アプリを Dataverse ServiceClient に移行するを参照してください。
プラグイン、またはユーザー定義ワークフロー活動の作成およびデプロイ: プラグインおよびユーザー定義ワークフロー活動のクラスでは、 Dynamics 365 Customer Engagement (on-premises) と統合して、ユーザー定義によるビジネス ロジックを実行するためのイベント ハンドラーを作成してプラットフォームの標準の動作を変更または拡張することができます。
プラグインおよびユーザー定義のワークフロー活動を新規作成する場合、プラグイン登録ツールを使用して登録する必要があります。 このツールは、グラフィカル ユーザー インターフェイスを提供します。このツールを使用して、プラグインとユーザー定義のワークフロー活動を Dynamics 365 Customer Engagement (on-premises) に登録できます。 詳細: プラグインの開発および 顧客ワークフロー活動 (ワークフロー アセンブリ)
カスタム XAML ワークフローの作成と展開: Dynamics 365 Customer Engagement (on-premises) および IFD では、カスタム XAML ワークフローを作成する機能がサポートされています。 Microsoft Visual Studio ワークフロー デザイナーを使用すると、カスタム XAML ワークフローを作成でき、またツールボックスから設計画面にワークフロー活動をドラッグして宣言型ワークフローを作成し、変数を作成し、これらの活動のプロパティを設定して、ワークフローの機能を実装できます。 組み込みの Windows Workflow Foundation 活動または Dynamics 365 Customer Engagement (on-premises) に固有のプロセス活動を使用できます。 詳細: XAML ワークフロー
Dynamics 365 Customer Engagement (on-premises) エンティティの事前バインドと遅延バインドのプログラミング モデル: SDK アセンブリを使用し、2 つのプログラミング モデル間で選択できます。
事前バインド 遅延バインド コード生成ツール (CrmSvcUtil) を使用して、Entity クラスから派生した事前バインド型エンティティ クラスを作成し、これは Dynamics 365 Customer Engagement のビジネス データにアクセスするのに使用できます。 これらのクラスには、ユーザー定義エンティティを含め、ご使用のインストール環境内のエンティティごとに 1 つのクラスが含まれます。 詳細: コードでの事前バインド エンティティ クラスの使用 Entity クラスはエンティティの論理名とエンティティの属性のプロパティ バッグ配列を含みます。 これにより、遅延バインドを使用して、アプリケーションをコンパイルしたときには利用できなかったカスタム エンティティやカスタム属性といった種類を操作できるようになります。 詳細: コードでの遅延バインド エンティティ クラスの使用 Dynamics 365 Customer Engagement (on-premises) でデータをクエリ処理する: SDK アセンブリを使用して Dynamics 365 Customer Engagement (on-premises) からデータを取得またはクエリできる 3 つの方法があります。FetchXML、QueryExpression、.NET LINQ です。 詳細: SDK アセンブリを使いクエリでデータを取得
.NET 開発: XRM ツーリング アセンブリを使用します。
XRM アセンブリでは、 SDK アセンブリ API (組織サービスおよび IDiscoveryService) を活用して、コードのわずかな行と Windows PowerShell コマンドレットを使用した簡易な認証サポートが提供されます。 これらのクラスのすべての関数呼び出しは、マルチスレッド環境で、Customer Engagement で実行される操作についてスレッド セーフを提供します。 XRM ツーリングでは、統合認証ロジックによる共通のサインイン制御と、認証情報を安全に保存して再使用する機能が提供され、Windows クライアント アプリケーションから Customer Engagement への一貫したシームレスなサインイン処理が実現されます。 詳細: XRM ツールを使用して Windows のクライアント アプリケーションをビルド
XRM ツーリング アセンブリは、NuGet パッケージとして利用できます。このパッケージは crmsdk プロファイルにあります。 パッケージのいずれかを「Xrm ツーリング」の一覧から選択し、パッケージの詳細ページに移動します。
XRM ツールと Customer Engagement 用 SDK 拡張機能の 非推奨で利用可能な接続文字列のサポートで、CrmConnection クラスの代わりに、XRM ツール アセンブリを使用して、Dynamics 365 Customer Engagement (on-premises) に接続する必要があります。 詳細: XRM ツールの接続文字列を使用しDynamics 365 Customer Engagement (on-premises) と に接続、サンプル: Dynamics 365 Customer Engagement (on-premises) を使用して簡単接続クイック スタート
Dynamics 365 Customer Engagement (on-premises) に接続する方法を選択する
開発スタイル (.NET か非.NET) に応じて、コードが Dynamics 365 Customer Engagement (on-premises) のユーザーを認証する方法を選択します。 次の表には、お客様の開発スタイルに応じて検討する必要のある、認証モデルに関する簡単な情報が含まれています。
開発スタイル | 内容 |
---|---|
.NET: SDK アセンブリ | SDK アセンブリでは、 Windows Communication Foundation (WCF) のテクノロジが使用され、 Dynamics 365 Customer Engagement (on-premises) Web サービスとの通信チャネルが開設されます。 SDK では、 Dynamics 365 Customer Engagement (on-premises) Web サービスに接続して認証されるアプリケーションの作成を簡易にする、ヘルパー プロキシ クラスが提供され、WCF テクノロジの使用が簡易化されます。 詳細: サンプル: Dynamics 365 Web サービスでユーザーの認証 |
.NET: XRM ツーリング アセンブリ | 接続ストリング、 CrmServiceClient クラス、または XRM ツーリング PowerShell コマンドレットを使用して、 Dynamics 365 Customer Engagement (on-premises) に接続します。 詳細: XRM ツールで接続文字列を使用して Dynamics 365 Customer Engagement (on-premises) に接続する、CrmServiceClient コンストラクターを使用して Dynamics 365 Customer Engagement に接続する、XRM ツールの Power Shell コマンドレットを使用して接続するDynamics 365 Customer Engagement (on-premises) |
Dynamics 365 Customer Engagement (on-premises) Web API | 詳細: Web API を使用した Dynamics 365 Customer Engagement への認証 |
Dynamics 365 Customer Engagement (on-premises) に接続するためのユーザー認証についての詳細は、Dynamics 365 Customer Engagement (on-premises) のユーザーを認証を参照してください。
関連項目
Dynamics 365 Customer Engagement (on-premises) のユーザーを認証
Dynamics 365 Customer Engagement (on-premises) の開発学習のチュートリアル
Dynamics 365 Customer Engagement 2011 と Dynamics 365 Customer Engagement のコードの記述 (Web サービス、JavaScript)
Dynamics 365 Customer Engagement (on-premises) のプログラミング モデルのイントロダクション