次の方法で共有


Dynamics 365 Customer Engagement (オンプレミス) の開発スタイルを選択する

SDK には、Dynamics 365 for Customer Engagement Web サービスにアクセスしたり、アプリケーションを拡張したりするコードを記述するときに使用するさまざまな方法とテクノロジが用意されています。 このトピックでは、テクノロジ領域に応じて選択する開発スタイルに関するガイダンスを提供します。

.NET と non-.NET 開発

Dynamics 365 Customer Engagement (オンプレミス) を拡張するコードを記述する際に最初に考慮すべき点は、コードが .NET Framework を使用して記述されるかどうかです。

  • .NET Framework を使用してコードを記述する場合は、作成する内容に応じて次のいずれかを使用することを検討してください。

  • コードが .NET Framework を使用して記述されていない場合は、Web API を使用します。 詳細情報: Dynamics 365 Customer Engagement Web API の使用

    次のフロー図は、Dynamics 365 Customer Engagement (オンプレミス) の開発時に選択する開発スタイルを示しています。

    Dynamics 365 Customer Engagement (オンプレミス) の開発スタイル フロー。

.NET 開発: SDK アセンブリを使用する

SDK アセンブリには、Dynamics 365 Customer Engagement (オンプレミス) Web サービスに接続して組織を識別し、作成、取得などの一般的なビジネス操作を実行するために使用できるクラスが用意されています。 Dynamics 365 Customer Engagement (オンプレミス) のデータを更新および削除します。 SDK アセンブリは NuGet パッケージとして使用できます。 詳細: NuGet を使用して SDK アセンブリの更新をサブスクライブする。

Important

最新バージョンの SDK アセンブリを使用して、プラグイン、カスタム ワークフロー アクティビティ、または XAML ワークフローを作成する必要があります。 バージョン 9.x 以降では、.NET Framework バージョン 4.6.2 を使用する必要があります。

ただし、.NET Framework 4 を使用していて、SDK 拡張機能の CrmConnection クラス (非推奨) を使用して Dynamics CRM 2016 Service Pack 1 オンプレミス (オンプレミス) および CRM Online 2016 Update 1 (バージョン 8.1.0) 以降に接続する場合は、アセンブリのバージョン 6.1.2 を使用する必要があります。 それ以外の場合は、接続できません。 下位互換性の詳細については、「ブログ: Dynamics 365 Customer Engagement (オンプレミス) SDK の下位互換性」を参照してください。

SDK アセンブリを使用してコードを記述する場合は、Organization Web サービスと連携して Dynamics 365 Customer Engagement (オンプレミス) のインスタンスに接続し、サポートされている Web サービス操作を実行します。 詳細情報: Dynamics 365 Customer Engagement Organization Service の使用

SDK アセンブリは、最終的に、非推奨の 2011 SOAP エンドポイントではなく、Web API を内部で使用するように移行されます。 この場合、SDK アセンブリを使用して記述されたコードは引き続きサポートされます。これは、Web API を使用するために 2011 SOAP エンドポイントから自動的に転送されるためです。 この更新プログラムは、アプリケーションのランタイム フォルダー SDK アセンブリを変更されたアセンブリに置き換える必要がある場合にのみ、ほとんど透過的になります。 詳細と .NET Core 開発に関する新しい情報については、 Dataverse ServiceClient へのアプリの移行に関するページを参照してください。

  • プラグインまたはカスタム ワークフロー アクティビティの作成と展開: プラグインおよびカスタム ワークフロー アクティビティ クラスを使用すると、Dynamics 365 Customer Engagement (オンプレミス) と統合してプラットフォームの標準動作を変更または拡張できるカスタム ビジネス ロジックを実行するイベント ハンドラーを作成できます。

    プラグインとカスタム ワークフロー アクティビティを最初から作成する場合は、プラグイン登録ツールを使用して登録する必要があります。 このツールはグラフィカル ユーザー インターフェイスを提供し、Dynamics 365 Customer Engagement (オンプレミス) へのプラグインとカスタム ワークフロー アクティビティの登録をサポートします。 詳細: プラグイン開発 アクティビティと カスタム ワークフロー アクティビティ (ワークフロー アセンブリ)

  • カスタム XAML ワークフローの作成とデプロイ: Dynamics 365 Customer Engagement (オンプレミス) と IFD では、カスタム XAML ワークフローを作成する機能がサポートされています。 Microsoft Visual Studio ワークフロー デザイナーを使用すると、ワークフロー アクティビティをツールボックスからデザイン サーフェイスにドラッグし、変数を作成し、これらのアクティビティのプロパティを設定してワークフローの機能を実装することで、宣言型ワークフローとも呼ばれるカスタム XAML ワークフローを作成できます。 組み込みの Windows Workflow Foundation アクティビティ、または Dynamics 365 Customer Engagement (オンプレミス) に固有のプロセス アクティビティを使用できます。 詳細情報: XAML ワークフロー

 

  • Dynamics 365 Customer Engagement (オンプレミス) エンティティの早期バインドプログラミング モデルと遅延バインディング プログラミング モデル: SDK アセンブリを使用する場合は、次の 2 つのプログラミング モデルから選択できます。

    事前バインド 遅延バインド
    コード生成ツール (CrmSvcUtil) を使用して、dynamics 365 Customer Engagement のビジネス データにアクセスするために使用できる、 Entity クラスから派生した事前バインドエンティティ クラスを作成します。 これらのクラスには、インストール内のエンティティごとに 1 つのクラス (カスタム エンティティを含む) が含まれます。 詳細情報: コードで事前バインドされたエンティティ クラスを使用する Entity クラスには、エンティティの論理名と、エンティティの属性のプロパティ バッグ配列が含まれます。 これにより、遅延バインディングを使用して、アプリケーションのコンパイル時に存在しなかったカスタム エンティティやカスタム属性などの型を操作できます。 詳細情報: コードで遅延バインドエンティティ クラスを使用する
  • Dynamics 365 Customer Engagement (オンプレミス) のデータのクエリ: SDK アセンブリを使用して Dynamics 365 Customer Engagement (オンプレミス) からデータを取得または照会するには、FetchXML、QueryExpression、.NET LINQ の 3 つの方法があります。 詳細情報: SDK アセンブリを使用してクエリを使用してデータを取得する

.NET 開発: XRM ツール アセンブリを使用する

XRM ツール アセンブリでは、SDK アセンブリ API (組織サービスと IDiscoveryService) を利用して、コード行数を減らしたり、Windows PowerShell コマンドレットを使用して簡単に認証をサポートしたりできます。 これらのクラスのすべての関数呼び出しは、マルチスレッド環境で Customer Engagement で実行されるアクションのスレッド セーフを提供します。 XRM ツールは、統合された認証ロジックを備えた共通のサインイン制御と、認証情報を安全に格納および再利用して、Windows クライアント アプリケーションから Customer Engagement に一貫性のあるシームレスなサインイン エクスペリエンスを提供する機能を提供します。 詳細情報: XRM ツールを使用して Windows クライアント アプリケーションをビルドする

XRM ツール アセンブリは NuGet パッケージとして使用できます。パッケージは crmsdk プロファイルの下にあります。 パッケージの詳細ページに移動するには、名前として "Xrm Tooling" を含む一覧内の任意のパッケージを選択します。

XRM ツールで使用可能な接続文字列のサポートと Customer Engagement 用 SDK 拡張機能の 廃止 により、 CrmConnection クラスの代わりに XRM ツール アセンブリを使用して Dynamics 365 Customer Engagement (オンプレミス) に接続する必要があります。 詳細情報: XRM ツールで接続文字列を使用して Dynamics 365 Customer Engagement (オンプレミス) に接続 し、 サンプル: Dynamics 365 Customer Engagement (オンプレミス) を使用した簡略化された接続クイック スタート

Dynamics 365 Customer Engagement (オンプレミス) に接続する方法を選択する

開発スタイル (.NET と non-.NET) に応じて、コードが Dynamics 365 Customer Engagement (オンプレミス) でユーザーを認証する方法を選択します。 次の表に、開発スタイルに応じて考慮する必要がある認証モデルに関する簡単な情報を示します。

開発スタイル Description
.NET: SDK アセンブリ SDK アセンブリは 、Windows Communication Foundation (WCF) テクノロジを使用して、Dynamics 365 Customer Engagement (オンプレミス) Web サービスとの通信チャネルを確立します。 SDK は、Dynamics 365 Customer Engagement (オンプレミス) Web サービスに接続して認証するアプリケーションを簡単に作成できるヘルパー プロキシ クラスを提供することで、WCF テクノロジの使用を簡略化します。

詳細情報: サンプル: Dynamics 365 Web サービスを使用してユーザーを認証する
.NET: XRM ツール アセンブリ 接続文字列、 CrmServiceClient クラス、または XRM ツール PowerShell コマンドレットを使用して、Dynamics 365 Customer Engagement (オンプレミス) に接続します。

詳細: XRM ツールで接続文字列を使用して Dynamics 365 Customer Engagement (オンプレミス)に接続する、 CrmServiceClient コンストラクターを使用して Dynamics 365 Customer Engagement に接続するXRM ツール用の PowerShell コマンドレットを使用して Dynamics 365 Customer Engagement (オンプレミス) に接続する
Dynamics 365 Customer Engagement (オンプレミス) Web API 詳細情報: Web API を使用して Dynamics 365 Customer Engagement に対する認証を行

Dynamics 365 Customer Engagement (オンプレミス) に接続するためのユーザーの認証の詳細については、「Dynamics 365 Customer Engagement (オンプレミス) でのユーザーの認証」を参照してください。

こちらも参照ください

Dynamics 365 Customer Engagement (オンプレミス) でユーザーを認証する
Dynamics 365 Customer Engagement (オンプレミス) の開発について学習するためのチュートリアル
Dynamics 365 Customer Engagement 2011 および Dynamics 365 Customer Engagement のコードを記述する (Web サービス、JavaScript)
Dynamics 365 Customer Engagement のプログラミング モデルの概要 (オンプレミス)