使用任何應用程式類型
Microsoft Dataverse 提供多種方法,讓您在任何類型的應用程式 (行動、網頁、桌面)、裝置、系統或服務中整合。 至於雲端解決方案,有一些方法可以整合,不論您的解決方案部署模式—基礎結構即服務 (IaaS)、平台即服務 (PaaS) 或軟體即服務 (SaaS)。 至於基於 IaaS 的解決方案,當解決方案在容器中執行時,整合方法也可以順利運作。
在某些案例中,與應用程式的整合可以使用 Dataverse 中所含的商務規則來達成。 在其他案例中,它將牽涉透過事件、Dataverse OData API 或使用外掛程式的整合。
定義商務規則
Dataverse 中的資料表可使用豐富的伺服器端邏輯和驗證,以確保資料品質,並在每個建立及使用資料表內資料的應用程式中,減少重複程式碼。
商務規則:對多個資料行和資料表驗證資料,並對所有應用程式建立的資料,提供警告和錯誤訊息。 其他資訊:建立資料表的商務規則
商務程序流程:引導使用者,以確保他們以一致的方式輸入資料,並且每次都遵循相同的步驟。 目前只有模型導向應用程式支援商務程序流程。 其他資訊:商務程序流程概觀
工作流程:可自動化商務程序,不需要使用者互動。 其他資訊:傳統 Dataverse 工作流程
使用程式碼的商務規則:支援進階開發人員案例,以直接透過程式碼擴充應用程式。 其他資訊: 使用程式碼套用商務規則
使用事件與應用程式整合
應用程式整合的一般方式是透過使用事件。 例如,在 Dataverse 中發生事件 (像是新增一列資料列),而且應該將此事件傳遞至相關的系統,這樣才可以進行動作。 例如,如果提出新的支援要求,它可能會觸發將簡訊傳送給指派的支援人員。
這種互動性也會在相反方向發生—而外部系統的更新可能會造成資料在 Power Platform 環境中被新增、更新或刪除。
Dataverse 中最常用的方法涉及 Webhook、Azure 訊息 (服務匯流排、事件中樞)、Azure Logic Apps 或 Power Automate。
Webhooks
使用 Dataverse,您可以使用 Webhook,將服務上發生的事件資料傳送至 Web 應用程式。 Webhook 是透過發行和訂閱模型連接 Web API 與服務的輕量型 HTTP 模式。 Webhook 寄件者會透過對收件者的端點提出事件相關資訊的要求,對收件者發出事件通知。
Webhooks 可讓開發人員和 ISV 將 Dataverse 資料與自己託管於外部服務的自訂程式碼整合。 使用 Webhook 模型可透過驗證標題或查詢字串參數索引鍵的方式保障端點的安全。 這比用於 Azure 服務匯流排整合的 共用存取簽章驗證模型更簡單。
Webhook 只能擴展到您的託管 Web 服務可以處理訊息的程度。
Webhook 啟用同步和非同步步驟。
Webhook 會傳送 POST 要求與 JSON 承載,並可供託管於任何地方的任何程式語言或 Web 應用程式使用。
Webhook 可從外掛程式或自訂工作流程活動叫用。
Azure 服務匯流排
服務匯流排在 Dataverse 執行階段資料與外部雲端企業營運應用程式之間提供安全可靠的通訊通道。 將不同的 Dataverse 系統或其他 Dataverse 伺服器與商務資料變更保持同步時,此功能特別實用。
事件的順序如下:
接聽程式應用程式在服務匯流排解決方案端點註冊並有效地接聽服務匯流排的 Dataverse 遠端執行內容。
使用者在 Dataverse 中執行某些作業,以觸發註冊的立即可用外掛程式或自訂 Azure 感知外掛程式。 外掛程式透過非同步服務系統作業,起始將目前要求資料內容張貼至服務匯流排。
Dataverse 張貼的宣告會經過驗證。 服務匯流排隨後便中繼遠端執行內容至接聽程式。 接聽程式處理內容資訊,並執行具備該資訊的特定業務相關工作。 服務匯流排通知非同步服務已成功張貼文章,並設定相關系統作業的狀態為已完成。
服務匯流排會中繼要求訊息資料內容,在 Dataverse 和服務匯流排解決方案接聽程式應用程式之間。 服務匯流排也會提供資料安全性,因此只有經授權的應用程式才能存取張貼的 Dynamics 365 資料。 授權 Dataverse 張貼資料內容至服務匯流排,並且讓接聽程式應用程式能夠閱讀,是由 Azure 共用存取簽章所管理。
其他資訊: 服務匯流排和服務匯流排驗證與授權
Logic Apps 和 Power Automate
Logic Apps (透過 Azure 提供) 和 Power Automate (透過 Microsoft Power Platform 提供) 可以觸發工作流程,此工作流程可以用來根據排程或資料庫、系統、服務或 SaaS 中的活動,與應用程式事件和資料整合。
這些工作流程可以使用數百個連接到資料庫、PaaS 和 SaaS 的連接器,來執行邏輯並與這些系統互動。
例如,當您將某資料列新增至關聯式資料庫 (例如 SQL) 時,這可能會觸發可在 Dataverse 中插入此資料的工作流程。
有了使用 Open API (先前稱為 Swagger) 定義來建立自訂連接器的能力,包含在 IaaS 和 Azure Kubernetes Service (AKS) 中執行的服務、功能和程式碼也很簡單。
使用 OData API 將 Dataverse 整合至應用程式
所有流行的程式設計語言都支援與 REST 基礎 API 整合的表單。
Dataverse Web API 提供可在各種不同程式設計語言、平台和裝置上使用的開發體驗。 Web API 實作 OData (開放式資料通訊協定) 4.0 版,這是 OASIS 標準,可在豐富的資料來源上用於建置和取用 RESTful API。 您可以在 www.odata.org 深入了解此通訊協定。如需此標準的詳細資訊,請參閱 www.oasis-open.org。
Dataverse 採用「API 優先」的方式。 這表示服務並不只是提供查詢資料的機制,它也提供商務規則、限制等服務的中繼資料,讓您可以用來建立智慧、回應性的應用程式和服務。
使用 OAuth 來保護 API。 OAuth 需要 idtable
提供者以進行驗證。 如果是 Dataverse,idtable
提供者為 Microsoft Entra 識別碼。 若要使用 Microsoft 工作或學校帳戶對 Microsoft Entra 進行驗證,請使用 Microsoft Authentication Libraries (MSAL)。
如需有關 Dataverse Web API 入門的詳細資訊,請參閱使用 Dataverse Web API。
如需使用 Dataverse Web API 搭配 OAuth 的詳細資訊,請參閱使用 OAuth 搭配 Dataverse。
外掛程式
Dataverse 提供可編寫位於 API 與資料之間程式碼的能力。 這個以 .NET 撰寫的程式碼稱為外掛程式。 因為外掛程式位於 API 與資料之間,所以它會在每個應用程式上強制執行相同的邏輯。
外掛程式可以是同步或非同步,並執行下列工作:
將錯誤傳回給使用者。
查詢 Dataverse 資料以評估要執行的邏輯。
執行資料作業。
執行出站 HTTP 要求。
外掛程式會在事件管道中的點上進行註冊,如下圖所示。
在事件管道中,會發生下列事件:
在事件管線的數個步驟中,可對要求和回覆加以檢查和拒絕或操作。
驗證處理常式可能會擲回自訂例外狀況,拒絕您的邏輯視為無效的作業。
前置作業處理常式可以在資料庫作業之前修改要求。
後置作業處理常式可以修改回覆。
非同步處理常式在傳回回覆之後執行自動化。
使用外掛程式的一個限制是它們必須是獨立的。 如果整合程式碼需要參考其他程式庫,則可以使用 Azure Functions 來完成整合。
Azure Functions
Azure Functions 提供商務與整合邏輯的無伺服器程式碼執行選項。
函數是由來自外部系統、服務或程式碼的呼叫所觸發。 對於 Dataverse,該觸發器可以直接來自使用服務匯流排的 Dataverse、Webhook 或外掛程式的呼叫。 此外,Azure Functions 呼叫可以透過 Logic Apps 或 Power Automate 中涉及 Dataverse 連接器的流程來發起。
其他資訊:使用外掛程式來擴充商務程序