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