处理任何类型的应用

Microsoft Dataverse 提供多种在任何类型的应用(移动、Web、桌面)、设备、系统或服务中集成的方法。 对于云解决方案,无论解决方案部署到哪个模型,都有方法集成—基础设施即服务 (IaaS)、平台即服务 (PaaS) 或软件即服务 (SaaS)。 对于基于 IaaS 的解决方案,如果解决方案在容器内运行,集成方法效果也很好。

在某些情况下,可以通过使用 Dataverse 中包含的业务逻辑来实现与应用的集成。 在其他情况下,会需要通过事件、Dataverse OData API 或使用插件集成。

定义业务逻辑

Dataverse 中的表可以使用丰富的服务器端逻辑和验证来确保数据质量,并减少在表中创建和使用数据的每个应用中的重复代码。

  • 业务规则:验证多个列和表中的数据并提供警告和错误消息,不论用于创建数据的应用是什么。 详细信息:为表创建业务规则

  • 业务流程:指导用户确保一致地输入数据并且每次遵循相同的步骤。 目前仅模型驱动应用支持业务流程。 详细信息:业务流程概述

  • 工作流:实现无需用户干预的业务流程自动化。 详细信息:经典 Dataverse 工作流

  • 使用代码的业务逻辑:支持在高级开发人员情形下直接通过代码扩展应用。 详细信息: 应用使用代码的业务逻辑

使用事件与应用集成

应用集成的一种常见方法是使用事件。 例如,Dataverse 中发生一个事件(如添加新行),这应该传递到关联的系统,以便可以采取操作。 例如,如果发出了新的支持请求,可能触发 SMS 消息被发送给分配的支持人员。

这种交互性也可能以相反的方向发生—外部系统中的更新可能会导致在 Power Platform 环境中添加、更新或删除数据。

Dataverse 中最常用的方法会用到 Webhook、Azure 消息传递(服务总线、事件中心)、Azure 逻辑应用或 Power Automate。

Dataverse 中的事件。

Webhook

使用 Dataverse,您可以使用 Webhook 将有关服务上发生的事件的数据发送到 Web 应用。 Webhook 是一个轻量级 HTTP 模式,用于将 Web API 和服务与发布并订阅模型联系起来。 Webhook 发送者通过向接收者终结点请求有关活动的一些信息来将活动告知接收者。

Webhook 使开发人员和 ISV 可以将 Dataverse 数据与外部服务上托管的他们自己的自定义代码集成。 通过使用 Webhook 模型,您可以使用身份验证标头或查询字符串参数键来保护终结点。 这比用于 Azure 服务总线集成的 共享访问签名身份验证模型更简单。

  • Webhook 只能扩展到托管 Web 服务可以处理消息的程度。

  • Webhook 支持同步和异步步骤。

  • Webhook 使用 JSON 有效负载发送 POST 请求,可以由托管在任何地方的任何编程语言或 Web 应用使用。

  • Webhook 可以从插件或自定义工作流活动调用。

Azure 服务总线

服务总线在 Dataverse 运行时数据与外部基于云的业务线应用之间提供安全可靠的通信渠道。 在将分散的 Dataverse 系统或其他 Dataverse 服务器与业务数据更改保持同步方面,该功能特别有用。

事件序列如下所示:

  • 侦听器应用在服务总线解决方案终结点上进行注册,并开始在服务总线上主动侦听 Dataverse 远程执行上下文。

  • 用户在 Dataverse 中执行某些触发操作,以执行注册的现成插件或自定义 Azure 感知插件。 通过异步服务系统作业,插件开始将当前请求数据上下文发送到服务总线。

  • 对 Dataverse 发布的声明进行身份验证。 然后,服务总线将远程执行上下文传递到侦听器。 侦听器处理上下文信息,并使用该信息执行某些与业务相关的任务。 服务总线通知成功发布的异步服务,并将相关系统作业的状态设置为“已完成”。

服务总线在 Dataverse 和服务总线解决方案侦听器应用之间传递请求消息数据上下文。 服务总线还提供数据安全性,以便仅授权的应用可访问发布的 Dynamics 365 数据。 有关 Dataverse 将数据上下文发布至服务总线及供侦听器应用读取的授权由 Azure 共享访问签名进行管理。

详细信息: 服务总线服务总线身份验证和授权

逻辑应用和 Power Automate

通过 Azure 提供的逻辑应用和通过 Microsoft Power Platform 提供的 Power Automate,可以触发以下用途的工作流:按计划或通过数据库、系统、服务或 SaaS 中的活动与应用程序事件和数据集成。

Dataverse 的逻辑应用和 Power Automate。

这些工作流可以使用数以百计的数据库、PaaS 和 SaaS 的连接器执行逻辑并与这些系统进行交互。

例如,当向关系数据库(如 SQL)中添加行时,这可能会触发可在 Dataverse 中插入此数据的工作流。

利用使用服务的 Open API(以前称为 Swagger)定义来创建自定义连接器的功能,还可以直接包含在 IaaS 和 Azure Kubernetes 服务 (AKS) 中运行的服务、功能和代码。

使用 OData API 将 Dataverse 与应用集成

所有流行的编程语言都支持一种与基于 REST 的 API 集成的形式。

使用 OData API 的 Dataverse。

Dataverse Web API 提供可跨各种编程语言、平台和设备使用的开发体验。 Web API 实施 OData (Open Data Protocol) 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

有关将 Dataverse Web API 与 OAuth 结合使用的详细信息,请参阅将 OAuth 与 Dataverse 结合使用

插件

Dataverse 提供编写位于 API 和数据之间的代码的功能。 此代码使用 .NET 编写,称为插件。 由于此插件位于 API 和数据之间,所以它在每个应用上强制执行相同的逻辑。

插件可以是同步的也可以是异步的,它们执行以下任务:

  • 将错误返回给用户。

  • 查询 Dataverse 数据以评估要执行的逻辑。

  • 执行数据操作。

  • 执行出站 HTTP 请求。

插件在事件管道中的位置注册,如此处所示。

Plug-in event pipeline

在事件管道中,可能发生以下事件:

  • 可以在事件管道的多个步骤对请求响应进行检查拒绝操作

  • 验证处理程序可以抛出自定义异常,以拒绝您的逻辑认为无效的操作。

  • 预操作处理程序可以在数据库操作之前修改请求。

  • 后操作处理程序可以修改响应。

  • 异步处理程序在响应返回后执行自动化。

插件的一个约束是它们必须是独立的。 如果集成代码需要引用其他库,可以使用 Azure Functions 完成集成。

Azure Functions

Azure Functions 为业务和集成逻辑提供无服务器代码执行选项。

使用 Azure Functions 的 Dataverse。

Functions 由来自外部系统、服务或代码的调用触发。 对于 Dataverse,该触发器可能直接来自使用服务总线的 Dataverse、Webhook 或来自插件的调用。 此外,还可以通过包含 Dataverse 连接器的逻辑应用或 Power Automate 中的流来启动 Azure Functions 调用。

详细信息:使用插件扩展业务进程

备注

您能告诉我们您的文档语言首选项吗? 进行简短调查。(请注意,此调查是英文版调查)

此调查大约需要七分钟。 不会收集个人数据(隐私声明)。