あらゆる種類のアプリで作業する
Microsoft Dataverse は、あらゆる種類のアプリ (モバイル、ウェブ、デスクトップ)、デバイス、システム、またはサービスに統合するための複数の方法を提供します。 クラウド ソリューションの場合、ソリューションが展開されているモデルに関係なく、サービスとしての — インフラストラクチャ (IaaS)、サービスとしてのプラットフォーム (PaaS)、またはサービスとしてのソフトウェア (SaaS) を統合するための方法がいくつかあります。 IaaS ベースのソリューションの場合、ソリューションがコンテナー内で実行されている場合、統合アプローチもうまく機能します。
場合によっては、アプリは、Dataverse に含まれるビジネス ロジックを使用して達成できます。 他の場合では、イベントや Dataverse OData API を介して、またはプラグインを使用しての統合が含まれます。
ビジネス ロジックを定義する
Dataverse 内のテーブルは、豊富なサーバー側のロジックと検証を使用して、データ品質を保証し、テーブル内のデータを作成して使用する各アプリケーションの反復コードを削減できます。
ビジネス ルール: 複数の列とテーブルとの間でデータを検証し、データの作成に使用されたアプリケーションに関係なく、警告メッセージとエラー メッセージを表示します。 詳細情報 : テーブルに対するビジネス ルールの作成
業務プロセス フローは、ユーザーがデータを統一して入力し、毎回同じ手順に従うようにします。 ビジネス プロセス フローでは、現在モデル駆動型アプリでのみサポートされています。 詳細: ビジネス プロセス フローの概要
ワークフロー: ユーザーとの対話なしでビジネス プロセスを自動化します。 詳細: クラシックDataverseワークフロー
コードによるビジネス ロジック: 高度な開発者シナリオをサポートし、アプリをコードを通じて直接拡張します。 詳細: コードによりビジネス ロジックを適用する
イベントを使用したアプリとの統合
アプリ統合の一般的なアプローチは、イベントを使用することです。 たとえば、新しい行の追加などのイベントが Dataverse で発生し、アクションを実行できるように、これを関連するシステムに伝達する必要があります。 たとえば、新しいサポート リクエストが発生した場合、割り当てられたサポート スタッフに SMS メッセージが送信される可能性があります。
この双方向性は反対方向にも発生する可能性があります—外部システムでの更新により、データが追加、更新、または Power Platform 環境から削除される可能性があります。
Dataverse で最も人気のあるアプローチには、webhook、Azure メッセージング (Service Bus、Event Hubs)、Azure Logic Apps、または Power Automate が含まれます。
Webhook
Dataverse により、webhooks を使用してサーバーで発生するイベントに関するデータを Web アプリケーションに送信できます。 WebHooks は、Web API およびサービスを公開/登録モデルと接続するための軽量の HTTP パターンです。 webhook の送信側は、イベントに関する情報を使用して受信側のエンドポイントに要求を行うことで、受信側にイベントについて通知します。
Webhook を使用すると、開発者と ISV は Dataverse のデータを、外部サービスでホストされている自らのカスタム コードに統合できます。 webhook モデルを使用することにより、認証ヘッダーまたはクエリ文字列パラメーター キーを使用してエンドポイントを保護できます。 これは Shared Access Signature よりも簡単です Azure Service Bus の統合で使用される認証モデル。
webhook は、ご使用のホステッド Web サービスがメッセージを処理できるポイントまでのみスケールできます。
Webhook では同期ステップと非同期のステップが可能です。
Webhook は JSON ペイロードを使った POST 要求のみを送信し、任意のプログラミング言語または任意の場所でホストされる Webアプリケーションで使用できます。
Webhook は、プラグインまたはユーザー定義のワークフロー活動から呼び出すことができます。
Azure Service Bus
Service Bus は Dataverse ランタイムデータと外部のクラウド ベースの基幹業務アプリケーションの間で、安全かつ信頼性の高い通信チャネルを提供します。 この機能は異なる Dataverse システムやその他の Dataverse サーバーを変更されたビジネス データと同期させる場合に特に役立ちます。
イベントの順序は次のとおりです。
リスナー アプリが Service Bus ソリューション エンドポイントに登録され、Dataverse リモート実行コンテキストをサービス バスでアクティブにリスニングし始めます。
ユーザーは、登録されている標準のプラグインかユーザー定義の Azure 認識プラグインの実行をトリガーする、Dataverse での一部の操作を実行します。 このプラグインが、非同期サービス システム ジョブを介して、現在の要求データ コンテキストのサービス バスへのポストを開始します。
Dataverse によってポストされたクレームが認証されます。 次に、サービス バスが、リモート実行コンテキストをリスナーに渡します。 リスナーはコンテキスト情報を処理し、その情報に対してビジネス関連タスクを実行します。 サービス バスから非同期サービスにポストの成功が通知され、関連するシステム ジョブが完了ステータスに設定されます。
サービスバスは Dataverse アプリケーションとサービス バス ソリューション リスナー アプリケーションの間で要求されたメッセージのデータ コンテキストを中継します。 またサービス バスはデータ セキュリティも提供し、これにより投稿した Dynamics 365 データには承認済みのアプリケーションのみがアクセスできます。 データ コンテキストをサービス バスに投稿し、リスナー アプリケーションがそれを読み込むために Dataverse が行う認証は、Azure Shared Access Signatures によって管理されています。
詳細: サービス バス および サービス バス承認と承認
ロジック アプリと Power Automate
Azure を介して提供されるロジック アプリ、Microsoft Power Platform を介して提供される Power Automate は、アプリケーションのイベントやスケジュール上のデータと統合する、またはデータベース、システム、サービス、SaaS で活動別に統合するために使用できるワークフローをトリガーできます。
これらのワークフローは、ロジックを実行し、データベース、PaaS、SaaS への何百ものコネクタを使用してこれらのシステムと対話できます。
たとえば、SQL などのリレーショナル データベースに行が追加されると、このデータを Dataverse に挿入できるワークフローがトリガーされる可能性があります。
サービスの Open API (旧称 Swagger) 定義を使用してカスタム コネクタを作成する機能により、IaaS および Azure Kubernetes Service (AKS) で実行されているサービス、関数、コードを含めることも簡単にできます。
OData APIを使用して Dataverse をアプリに統合する
すべての一般的なプログラミング言語は、REST ベースの API との統合の形式をサポートしています。
Dataverse は、各種のプログラミング言語、プラットフォーム、およびデバイスで使用できる開発作業を提供します。 Web API は、多様なデータ ソースに対して RESTful API を構築して使用するための OASIS 標準規格 OData (オープン データ プロトコル)、バージョン 4.0 を実装します。 このプロトコルの詳細については、 www.odata.org で説明されています。この規格についての詳細は、 www.oasis-open.org をご覧ください。
Dataverse が "API ファースト" のアプローチをとります。 つまり、このサービスはデータをクエリするメカニズムを提供するだけでなく、ビジネス ルールや制約などに関するサービスからのメタデータも提供し、インテリジェントで応答性の高いアプリやサービスの構築に使用できます。
API は OAuth を使用して保護されています。 OAuth では、認証に idtable
プロバイダーが必要です。 Dataverse については、idtable
プロバイダーが Microsoft Entra ID です。 Microsoft の職場または学校アカウントを使用して Microsoft Entra で認証するには、Microsoft Authentication Libraries (MSAL) を使用します。
Dataverse Web API を始めることに関する詳細については、Dataverse Web API を使用する.を参照してください。
OAuthを使用した Dataverse Web API を使用することに関する細については、、Dataverse を使って OAuth を使用する をご覧ください。
プラグイン
Dataverse は、API とデータの間に位置するコードを作成する機能を提供します。 .NET で記述されたこのコードは、プラグイン として参照されます。 プラグインは API とデータの間にあるため、すべてのアプリに同じロジックを適用します。
プラグインは同期または非同期であり、次のタスクを実行します。
エラーをユーザーに返します。
Dataverse データをクエリして、実行するロジックを評価します。
データ操作を実行します。
アウトバウンド HTTP リクエストを実行します。
プラグインは、ここに示されているイベント パイプラインのポイントに登録されます。
イベント パイプライン内では、次のイベントが発生する可能性があります。
リクエスト と 応答 は、確認 や 拒否 されたり、あるいはイベント パイプラインのいくつかのステップで 操作される ことができます。
検証ハンドラー は、カスタム例外をスローして、ロジックが無効と見なす操作を拒否できます。
操作前ハンドラー は、データベース操作の前にリクエストを変更できます。
操作後ハンドラー は応答を変更できます。
非同期ハンドラー は、応答が返された後に自動化を実行します。
プラグインでの 1 つの制約は、プラグインが自己完結型でなければならないことです。 統合コードが他のライブラリへの参照を必要とする場合、Azure Functions を使用して統合を行うことができます。
Azure Functions
Azure Functions は、ビジネスおよび統合ロジック用のサーバーレス コード実行オプションを提供します。
関数は、外部システム、サービス、またはコードからの呼び出しによってトリガーされます。 Dataverse については、そのトリガーは、Service Bus、Webhook、またはプラグインからの呼び出しを使用して、Dataverse から直接来ることができます。 さらに、Azure Functions の呼び出しは、Logic Apps または Dataverse コネクタを含む Power Automate のいずれかでフローを介して開始されることができます。
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。