本章将帮助您了解如何将Dynamics 365 CE与其他应用程序(如Power Automate和PowerApps)集成。我们将创建一个示例工作流,以便在汽车服务完成时向客户发送短信通知,因此您将学习如何使用Power Automate发送短信。我们还将使用PowerApps Studio创建一个示例应用程序来创建汽车服务请求。您还将学习如何使用PowerApps Studio、PowerApps工作室中提供的控件,以及如何使用PowerApp创建Dynamics 365 CE实体记录。稍后,我们将讨论Dynamics 365 CE软件开发工具包(SDK),它将帮助您了解如何使用Dynamics 365 CE SDK与客户数据交互来创建控制台应用程序实用程序。
我们将在本章中介绍的主要主题如下:
- Dynamics 365 CE集成选项
- 使用Dynamics 365 CE SDK
- 将Dynamics 365 CE与Power Automate集成
- 将Dynamics 365 CE与PowerApps集成
技术要求
以下是本章的技术要求:
- 访问Dynamics 365 CE Online试用版
- 应在您的计算机上安装.NET Framework 4.6.2或更高版本
- 应在您的计算机上安装Visual Studio 2017或更高版本
- Windows Identity Foundation 3.5应该安装在您的开发计算机上
- Power Automate试用设置
- Twilio试用设置
Dynamics 365 CE集成选项
Dynamics 365 CE提供了非常丰富的开箱即用功能,我们可以利用这些功能来自动化我们的日常业务活动。尽管如此,将Dynamics365CE与客户用于业务目的的其他应用程序集成是很常见的。
这些应用程序可能是Microsoft Office 365应用程序的一部分;例如,Microsoft Dynamics 365中包含的SharePoint、Power Automate、PowerApps、Microsoft Teams和企业资源规划(ERP)应用程序。我们可以使用Microsoft SharePoint作为文档管理系统。我们在第5章“配置您的Dynamics 365 CE组织”中讨论了如何配置SharePoint集成。PowerAutomate和PowerApps有不同的用途,我们将在后面的部分中讨论这些应用程序。Microsoft Teams是一个协作应用程序,可用于与人聊天、视频会议和共享内容。我们可以与同事和客户协作,使用Microsoft Teams和Dynamics 365 CE集成来共享信息和内容。有关将Dynamics 365 CE与Teams集成的更多详细信息,请访问
Overview of Microsoft Teams integration with Dynamics 365 apps | Microsoft Learn
除了这些应用程序之外,将Microsoft应用程序与非Microsoft应用程序集成也是很常见的。它可能是非Microsoft ERP系统,也可能是客户需要发送Dynamics 365 CE数据的其他应用程序。这种集成需要来回传递客户数据。这些类型的集成的主要目标是在Dynamics365CE和其他系统之间同步数据。Dynamics 365 CE和其他应用程序之间的数据同步使用以下两种常见方法完成:
- 按需数据集成
- 批量处理
按需数据集成
按需数据集成与启动两个应用程序之间的数据集成的某些逻辑相关联。这种集成在逻辑运行后立即发生,没有任何等待期。下图代表了按需数据集成的高级思想:
在这里,我们可以看到,我们在每一侧都启动了一个触发器,该触发器负责启动Dynamics 365 CE和其他应用程序之间的数据移动。
在Dynamics365CE方面,我们可以使用插件作为触发器来启动数据集成。例如,假设其他应用程序需要Dynamics365CE提供的客户销售订单详细信息。我们可以在销售订单实体上编写一个post插件,将销售订单详细信息数据发送到其他应用程序。按需数据集成通常一次处理一条记录。
批量处理
使用这种类型的数据集成,通常会处理多个记录。当记录被修改时,这些类型的进程不会执行;相反,他们等待特定的时间段来启动数据集成。下图代表了批处理的高级思想:
正如您所看到的,这个进程与一个等待特定时段的定时器逻辑相关联。
通常情况下,它在下班后运行,此时没有人使用该系统。有一个与这个过程相关的逻辑,它根据一些标准从源系统获取数据;例如,它可能希望发送今天修改过的记录。
两个集成选项都使用Dynamics 365 CE API来处理Dynamics 365 CE数据。我们可以使用内部开发的实用程序进行数据集成,也可以使用市场上可用于这些集成的不同连接器。
使用Dynamics 365 CE SDK
在第7章“扩展Dynamics 365 CE”中,我们讨论了如何在插件中使用Dynamics 365 SDK来实现服务器端逻辑和IOOrganizationService方法。我们还可以使用CRM SDK开发在Dynamics 365 CE之外运行的应用程序。此外,我们可以使用Dynamics 365 CE SDK执行不同的任务,例如创建、更新和删除批量实体记录。我们将创建一个连接到Dynamics365CE应用程序的示例控制台应用程序。当开发插件或自定义工作流程序集时,首先使用控制台应用程序测试我们的逻辑很容易;之后,我们可以将逻辑移动到插件或自定义工作流程序集。让我们创建我们的控制台应用程序,它将从CSV文件导入Make和Models数据。我们将在控制台应用程序中使用IOOrganizationService方法来导入数据。
创建控制台应用程序以导入数据
我们将使用Visual Studio 创建用于导入Make和Models数据的数据导入实用程序。按照以下步骤创建此实用程序:
- 启动Visual Studio,转到“新建项目”,然后选择“控制台应用程序”,如以下屏幕截图所示:
- 接下来,让我们将Dynamics365CoreSDK引用添加到我们的示例控制台应用程序中。右键单击项目,选择Manage NuGet Packages,然后按照此处显示的步骤操作:
- 让我们在App.config中添加配置数据,以便在需要时进行更改。首先,我们需要使用以下步骤获取组织服务。导航到设置|自定义设置|开发人员资源,如以下屏幕截图所示,然后从组织服务复制端点地址,如下所示:
我们还需要获取CSV文件的路径,这样我们就可以将所有这些详细信息存储在App.config文件中,如下所示:
我们将使用前面的所有键来获取实用程序代码中的配置数据。 - 接下来,在解决方案资源管理器中右键单击项目名称,然后选择“添加”|类,并将其命名为Dynamics36