共用方式為


使用任何類型的應用程式

Microsoft Dataverse 提供多種方式來整合到任何類型的應用程式 (行動裝置、Web、桌面)、裝置、系統或服務中。 對於雲端解決方案,無論部署解決方案的模型為何,都有整合方式:基礎結構即服務 (IaaS)、平台即服務 (PaaS) 或軟體即服務 (SaaS)。 對於基於 IaaS 的解決方案,如果解決方案在容器內運行,則集成方法也有效。

在某些情況下,可以使用 Dataverse 中包含的商務邏輯來實現與應用程式的整合。 在其他情況下,它將涉及透過事件、Dataverse OData API 或使用外掛程式進行整合。

定義商業邏輯

Dataverse 中的資料表可以使用豐富的伺服器端邏輯和驗證來確保資料品質,並減少在資料表中建立和使用資料的每個應用程式中的重複程式碼。

  • 商務規則:驗證跨多個資料行和資料表的資料,並提供警告和錯誤訊息,無論用來建立資料的應用程式為何。 其他資訊: 建立資料表的商務規則

  • 業務流程:引導使用者確保輸入資料一致,每次都遵循相同的步驟。 商務程序流程目前僅支援模型導向應用程式。 其他資訊: 商務流程流程概觀

  • 工作流程: 自動化業務流程,無需用戶交互。 其他資訊: 傳統 Dataverse 工作流程

  • 使用程式碼的業務邏輯:支援進階開發人員案例,直接透過程式碼擴充應用程式。 其他資訊: 使用程式碼套用商務邏輯

使用事件與應用程式整合

應用程式整合的常見方法是使用事件。 例如,在 Dataverse 中發生新增資料列等事件,這應該傳達給相關聯的系統,以便採取動作。 例如,如果提出新的支援要求,可能會觸發將簡訊傳送給指派的支援人員。

這種互動性也可能以相反的方向發生,外部系統中的更新可能會導致從 Power Platform 環境中新增、更新或刪除資料。

Dataverse 中最受歡迎的方法涉及 Webhook、Azure 傳訊 (服務匯流排、事件中樞)、Azure Logic Apps 或 Power Automate。

Dataverse 中的事件。

Webhooks

透過 Dataverse,您可以使用 Webhook 將服務上發生的事件相關資料傳送至 Web 應用程式。 Webhook 是一種輕量型 HTTP 模式,用於將 Web API 和服務與發佈和訂閱模型連接起來。 Webhook 寄件者會透過對收件者的端點提出事件相關資訊的要求,對收件者發出事件通知。

Webhook 可讓開發人員和 ISV 將 Dataverse 資料與外部服務上裝載的自訂程式碼整合。 使用 Webhook 模型可透過驗證標題或查詢字串參數索引鍵的方式保障端點的安全。 這比與 Azure 服務匯流排整合搭配使用的共用存取簽章 驗證模型更簡單。

  • Webhook 只能擴展到您的託管 Web 服務可以處理訊息的程度。

  • Webhook 啟用同步和非同步步驟。

  • Webhooks 會傳送帶有 JSON 負載的 POST 請求,並且可以由託管在任何地方的任何程式設計語言或 Web 應用程式進行處理。

  • Webhook 可以從外掛程式或自訂工作流程活動叫用。

Azure 服務匯流排

服務總線在 Dataverse 執行階段資料與外部雲端企業應用程式之間提供安全可靠的通訊通道。 此功能對於保持不同的 Dataverse 系統或其他 Dataverse 伺服器與業務資料變更同步特別有用。

事件順序如下:

  • 接聽程式應用程式會在服務匯流排解決方案端點上註冊,並開始主動接聽服務匯流排上的 Dataverse 遠端執行內容。

  • 使用者在 Dataverse 中執行某些作業,以觸發已註冊的現成外掛程式或自訂 Azure 感知外掛程式的執行。 外掛程式透過非同步服務系統作業,起始將目前要求資料內容張貼至服務匯流排。

  • Dataverse 張貼的聲明已認證。 服務匯流排隨後便中繼遠端執行內容至接聽程式。 接聽器會處理環境定義資訊,並使用該資訊執行一些與業務相關的作業。 服務匯流排通知非同步服務已成功張貼文章,並設定相關系統作業的狀態為已完成。

服務巴士會在 Dataverse 和服務巴士解決方案的聆聽器應用程式之間傳遞請求訊息的資料背景。 服務匯流排也會提供資料安全性,因此只有經授權的應用程式才能存取張貼的 Dynamics 365 資料。 Dataverse 將資料上下文發佈至 Service Bus,並且授權監聽應用程式讀取資料,這些操作由 Azure 共用存取簽章管理。

其他資訊: 服務匯流排服務匯流排驗證和授權

邏輯應用程式和 Power Automate

透過 Azure 提供的邏輯應用程式,以及透過 Microsoft Power Platform 提供的 Power Automate,可以觸發工作流程,該工作流程可用來依排程或依資料庫、系統、服務或 SaaS 中的活動與應用程式事件和資料整合。

Logic Apps、Power Automate 與 Dataverse。

這些工作流程可以使用資料庫、PaaS 和 SaaS 的數百個連接器來執行邏輯並與這些系統互動。

例如,當資料列新增至關聯式資料庫 (例如 SQL) 時,這可能會觸發可在 Dataverse 中插入此資料的工作流程。

由於能夠使用服務的 Open API (先前稱為 Swagger) 定義來建立自訂連接器,因此也可以輕鬆包含在 IaaS 和 Azure Kubernetes Service (AKS) 中執行的服務、函式和程式碼。

使用 OData API 將 Dataverse 整合到應用程式中

所有流行的程式設計語言都支援與基於 REST 的 API 整合的形式。

具有 OData API 的 Dataverse。

Dataverse Web API 提供可在各種程式設計語言、平台和裝置上使用的開發體驗。 Web API 實作 OData (開放式資料通訊協定) 4.0 版,這是 OASIS 標準,可在豐富的資料來源上用於建置和取用 RESTful API。 您可以在 www.odata.org上了解有關此協議的更多信息。有關此標準的更多信息,請參閱 www.oasis-open.org

Dataverse 採用「API 優先」方法。 這表示服務不僅提供查詢資料的機制,還提供來自服務的商務規則、條件約束等中繼資料,您可以使用這些中繼資料來建置智慧型、回應式應用程式和服務。

API 是使用 OAuth 來保護的。 OAuth 需要 idtable 提供者進行驗證。 對於 Dataverse, idtable 提供者是 Microsoft Entra ID。 若要使用 Microsoft 公司或學校帳戶向 Microsoft Entra 進行驗證,請使用 Microsoft 驗證程式庫 (MSAL)。

如需開始使用 Dataverse Web API 的詳細資訊,請參閱 使用 Dataverse Web API

如需搭配 OAuth 使用 Dataverse Web API 的詳細資訊,請參閱 搭配 Dataverse 使用 OAuth

Plug-ins

Dataverse 提供編寫位於 API 和資料之間的程式碼的能力。 此程式碼以 .NET 撰寫,稱為 外掛程式。 由於外掛程式位於 API 和資料之間,因此會在每個應用程式上強制執行相同的邏輯。

外掛程式可以是同步或非同步的,並執行下列工作:

  • 將錯誤傳回給使用者。

  • 查詢 Dataverse 資料以評估要執行的邏輯。

  • 執行資料操作。

  • 執行輸出 HTTP 要求。

外掛程式會在事件管線中的點註冊,如下所示。

外掛程式事件管線

在事件管線中,可能會發生下列事件:

  • 請求響應 可以在事件管線的幾個步驟中 檢查拒絕操作

  • 驗證處理常式 可以擲回自訂例外狀況,以拒絕您的邏輯認為無效的作業。

  • 前置作業處理常式 可以在資料庫作業之前修改要求。

  • 後置作業處理常式 可以修改回應。

  • 非同步處理常式 會在傳回回應之後執行自動化。

外掛程式的其中一個限制是它們必須是獨立的。 如果整合程式碼需要參考其他程式庫,則可以使用 Azure Functions 來完成整合。

Azure Functions

Azure Functions 為商務和整合邏輯提供無伺服器程式碼執行選項。

Dataverse 與 Azure Functions。

函數是由來自外部系統、服務或程式碼的呼叫觸發的。 對於 Dataverse,該觸發程序可以使用服務匯流排、webhook 或外掛程式,直接來自 Dataverse。 此外,Azure Functions 呼叫可以透過 Logic Apps 或 Power Automate 中涉及 Dataverse 連接器的流程來啟動。

其他資訊: 使用外掛程式擴充商務程序