Dynamics 365 Customer Engagement (on-premises) を拡張する

さまざまなカスタマイズに加え、Dynamics 365 Customer Engagement (on-premises) では、複数の拡張ポイントを通じてシステムの機能向上をサポートします。 これには、フォームおよびクライアント側のイベントに JavaScript コードや Web リソースなどを使用して応答する、カスタム プラグインとワークフロー活動の開発が含まれます。 これらの拡張ポイントでは、ビジネス ニーズに合わせてシステムの動作やデータ処理そのものを変更できます。

Dynamics 365 Server を使用するアプリケーションを開発する場合、Web サービスを使用して基盤となる xRM プラットフォーム層と通信します。 Dynamics 365 Customer Engagement (on-premises) では、メタデータ駆動のアーキテクチャを使用して、ユーザー定義エンティティや追加のシステム エンティティ属性を柔軟に作成でき、さらにアップグレードやソリューションの移動も容易に行えます。 そのため、Dynamics 365 Customer Engagement (on-premises) のコードを変更しないで、データ構造に対する変更を行うことができます。

xRM プラットフォームは、業務に固有のロジックを強要しません。 この層は、セキュリティなどの一般的な制約のみを強要します。 プラットフォーム層にはアプリケーションの構成要素が含まれますが、それ自体は関連オブジェクトのコレクションにすぎません。 ただし、これらのオブジェクト間のやり取りにより、見積もり - 受注 - 請求書作成処理や価格設定ロジックなどの拡張可能なロジックを実装できます。

また、xRM プラットフォームは、セキュリティを介したデータへのアクセスの制御、データベースへのアクセスの制御、およびワークフローやカスタム ビジネス ロジック実装 (プラグイン) で使用されるイベントの生成も行います。 このプラットフォーム層は、Microsoft Exchange Server を経由する受信と送信の電子メール処理を提供します。

Dynamics 365 Customer Engagement (on-premises) SDK アーキテクチャ。

このセクションの内容

Dynamics 365 Customer Engagement (on-premises) でサポートされる拡張
拡張機能を作成するときは、サポートされている方法でそれらを実装するよう選択することが重要です。 これは、Dynamics 365 Customer Engagement (on-premises) の新しいリリースにアップグレードして、リリースされた最新機能を使用できることを保証し、それによって投資を保護します。 この記事では、どの拡張機能がサポートされていて、どの拡張機能がサポートされていないかについて説明します。

Dynamics 365 Customer Engagement のメタデータ モデルおよびデータ モデル
Dynamics 365 Customer Engagement (on-premises) では、メタデータ駆動のアーキテクチャを使用して、ユーザー定義エンティティや追加のシステム エンティティ属性を柔軟に作成できます。 この構造により、アップグレードやカスタマイズの移動も容易に行えます。 データ構造は、Dynamics 365 Server またはクライアント アプリケーションのコードを変更することなく変更できます。

このセクションの記事では、別の組織に見つかった変更やメタデータの違いに対応する動的なアプリケーションを作成するために、メタデータの表示、コードを使ったメタデータの作成と編集、メタデータの照会を簡単に行う方法について説明します。

サーバー上で Dynamics 365 Customer Engagement を拡張する
このセクションでは、サーバー上の Dynamics 365 Customer Engagement (on-premises) を拡張する機能について説明します。 クライアントで適用できる拡張機能と比較して、サーバー上で実行される拡張機能は、プラットフォームとのやり取りに使用されるクライアント アプリケーションに関係なく、一貫して適用されます。 可能な限り、ビジネス ロジックを適用する拡張機能はサーバー上で適用してください。

このセクションの記事では、プラグイン、プロセス、非同期サービス、Azure 拡張機能などを使用してカスタム ビジネス ロジックを展開する方法について説明します。

クライアントの Dynamics 365 Customer Engagement (on-premises) の拡張
このセクションでは Dynamics 365 Customer Engagement (on-premises) に提供されている次に示すクライアントで Dynamics 365 Customer Engagement (on-premises) を開発者またはカスタマイザーが拡張するための変更についての情報が含まれています: Web アプリケーション、Dynamics 365 for phones および Dynamics 365 for tablets 。 拡張機能を適用するには、JavaScript と Web リソースを使用します。 これらのクライアントは、各クライアントに個別に適用するのではなく、すべてのクライアントに適用できる拡張機能の追加を許可するように設計されています。

クライアント拡張機能は、ユーザーのデバイス上でコードが実行されるため、非常に充実した応答性の高い経験をユーザーに提供できます。 しかし、重要なビジネスロジックは、クライアント側のスクリプトだけで適用しないでください。 サーバー上で適用される拡張機能とは異なり、クライアント拡張機能は、他のシステムとの統合、カスタム クライアント、またはデータのインポートなど、他の手段でシステムに入るデータに対してビジネス ロジックを適用できません。

Dynamics 365 Customer Engagement アプリケーションのカスタマイズ
Dynamics 365 Customer Engagement (on-premises) クライアント アプリケーションには、Web アプリケーション、電話用 Dynamics 365、およびタブレット 用 Dynamics 365 が含まれます。 各クライアントは、クライアントの視覚的な要素を制御するデータの共通セットを参照します。 このアプリケーション メタデータは、通常、アプリケーションのカスタマイズ ツールまたはサードパーティのツールを使って編集します。 特定の組織に対して定義されている構成オプションを使用する場合は、他のクライアントもこのアプリケーションのメタデータを参照できます。

Web アプリケーションで入手可能なツールの使用によるカスタマイズの詳細な手順については、カスタマイズ ガイド を参照してください。 このセクションの記事では、これらのツールまたはサード パーティ製ツールによって編集するデータの構造について説明します。

ソリューションを使用した拡張機能のパッケージ化および配布
ソリューションは、特定の業務機能を提供するコンポーネントをパッケージ化、インストール、およびアンインストールするフレームワークを提供します。 ソリューションは、ISV やその他の Dynamics 365 Customer Engagement (on-premises) ソリューション プロバイダーによって、作成した拡張機能を配布するために使用されますが、独立した開発組織、テスト組織、運用組織など、展開プロセスで使用する可能性があるさまざまな組織間でカスタマイズを転送するためにも使用します。

Dynamics 365 for Outlook の拡張
Microsoft Dynamics 365 for Outlook を使うと、ユーザーはオフラインでサーバーに接続していない状態でも、データと対話することができます。 Dynamics 365 Customer Engagement (on-premises) は、カスタム コードから Web サービス オフラインを呼び出すことによってソリューションをオフラインのシナリオを拡張する機能を備えています。 また、 Microsoft.Crm.Outlook.Sdk アセンブリで、同期、オフラインとオンラインの切り替え、 Dynamics 365 for Outlook の状態の検証など、Outlookの基本的なアクションに対するプログラム的なサポートが提供されています。 オフラインのプログラムでは、 ASP.NET Development Server を使用します。

Dynamics 365 Customer Engagement (on-premises) では、管理者がユーザーのフィルターをカスタマイズして管理できるようにする機能が提供されています。 フィルターのテンプレートは、Dynamics 365 for Outlook のエンティティの同期の開始点を提供します。 フィルターは、オフライン対応の Dynamics 365 Customer Engagement (on-premises) ソリューションのために Outlook および SQL Server 2008 Express Edition に同期するエンティティ コレクションを決定します。

SharePoint と Dynamics 365 Customer Engagement (on-premises) との統合
SharePoint Server は、共同作業とコンテンツ管理のアプリケーションで、ユーザーが情報を保管、検索および共有する方法を簡素化します。 業務上の意志決定に必要なドキュメントと情報に安全にアクセスすることにより、ユーザーは効果的に共同作業できます。

SharePoint 統合機能は、Dynamics 365 Customer Engagement (on-premises) レコードのコンテキストで SharePoint でのドキュメントを格納および管理できるようにし、またドキュメントの出入り、バージョン履歴のチェック、およびドキュメントのプロパティ変更などの SharePoint のドキュメント管理機能を Dynamics 365 Customer Engagement (on-premises) で使用できるようにします。

OneNote と Dynamics 365 Customer Engagement (on-premises) との統合
専用の OneNote のメモが、選択されたエンティティ レコードに対して Customer Engagement 内で自動的に作成されるように、Dynamics 365 Customer Engagement (on-premises) で OneNote 統合を設定します。 この機能により、画像、図面、書式設定されたテキスト (箇条書きおよび表)、および音声録音などのさまざまな形式で、Dynamics 365 Customer Engagement (on-premises) レコードのコンテキストで、OneNote ノートブックでメモを取ることが容易になります。 OneNote ノートブックには、Dynamics 365 Customer Engagement (on-premises) Web クライアントの活動ウォールか、Dynamics 365 Customer Engagement (on-premises) モバイルアプリのレコードフォームから直接アクセスすることができます。

ここから開始
Dynamics 365 Customer Engagement (on-premises) のユーザーを認証
Dynamics 365 Customer Engagement (on-premises) のセキュリティ モデル
ビジネス データのモデル化
データの管理
展開の管理
サンプル コード ディレクトリ
プログラミング リファレンス