Dynamics 365应用程序开发- 8.利用Dynamics 365中的Azure扩展

这篇具有很好参考价值的文章主要介绍了Dynamics 365应用程序开发- 8.利用Dynamics 365中的Azure扩展。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在上一章中,我们了解了如何在Dynamics365中使用新的RESTWebneneneba API端点来执行各种操作,以及如何使用它来开发自定义业务应用程序。在本章中,我们将了解Dynamics 365如何以本机方式支持与Microsoft Azure的集成。本章假定对微软Azure的基本原理有基本了解。

供Microsoft Azure参考

什么是 Azure - Microsoft 云服务 | Microsoft Azure

Microsoft Azure可以定义为一个云计算平台或基于云的服务集合,开发人员和IT专业人员可以通过全球各地的各种数据中心使用它来构建、测试、部署和管理应用程序。Microsoft Azure提供基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。

对于IaaS,我们基本上指的是Azure虚拟机,即托管在云上的服务器。云计算服务提供商,在这种情况下是微软,管理基础设施,我们需要为使用资源付费。在这里,我们拥有完全的控制权,并负责管理运行在那里的操作系统、中间件和应用程序。我们还可以在Microsoft Azure虚拟机中部署Dynamics 365内部部署。

有了PaaS,我们在云中有了一个完整的开发和部署环境,我们可以使用它在云中构建、部署和管理我们的应用程序。我们为我们正在使用的云服务付费。在这里,我们只管理我们的应用程序和服务,而云服务提供商管理其他一切。

有了SaaS,我们基本上可以通过互联网连接和使用软件或基于云的应用程序。
在这里,我们只需要为我们将要使用的基于云的应用程序付费。云服务提供商管理一切,无论是底层基础设施、中间件、应用软件等等。我们只需要连接到这些应用程序,主要是使用互联网上的网络浏览器来使用它们。Dynamics 365 Online属于SaaS。

 在本章中,我们将介绍以下几点:

  • 了解Azure与Dynamics 365的集成
  • 配置Azure与Dynamics 365的集成
  • 编写支持Azure的插件和不同的侦听器应用程序

了解Azure与Dynamics 365的集成

Microsoft Azure服务总线是Microsoft Azure堆栈中的主要组件,使我们能够将Dynamics 365与Microsoft Azure连接起来。通过Azure服务总线,我们可以将Dynamics 365内部执行的操作的详细信息传递给正在侦听该操作的多个应用程序,并可以读取和处理该信息。

Microsoft Azure服务总线简介

Azure服务总线可以定义为在Microsoft的Azure数据中心中运行的云消息服务。Azure服务总线使我们能够连接托管在云中或防火墙网络内的内部部署中的不同应用程序、服务或设备。它可以用于连接不同的业务线(LOB)应用程序、平板电脑、手机,甚至任何家用电器或传感器。此Azure服务总线支持两种不同的通信机制:代理消息传递(队列、主题和订阅)和中继服务。

Azure服务总线代理的消息传递功能包括可以在Microsoft的Azure数据中心中创建和托管的队列和主题。应用程序可以连接到创建的队列或主题,并向它们发送消息。这些消息将持久存储。
然后,接收应用程序可以连接到它们,并可以接收和处理消息。发送应用程序和接收应用程序可以托管在云中,也可以在本地。队列提供单向异步通信,其中发布者发布消息,订阅者接收消息。每个消息都由一个订户接收。主题还提供了单向异步消息传递基础结构,其中发布者发布消息,接收方像队列一样接收消息。主要区别在于,多个订阅者可以接收同一条消息,他们可以选择指定一些标准,以便只接收符合指定规则的消息。由于它们通过代理提供单向异步通信,即发送方和接收方之间没有直接连接,因此不适合我们希望发送方和接收方都交换消息或直接相互连接,或希望它们之间进行同步通信的情况。为了解决此问题,Azure服务提供中继。

Azure服务总线中继服务提供应用程序之间的双向同步通信功能,与队列和主题不同。中继服务允许我们在云中公开一个端点,该端点充当我们在云上托管的服务或本地服务的代理。然后,任何可以访问互联网的客户端都可以对该端点进行调用,这些调用会中继回防火墙后面的服务或任何其他侦听消息的应用程序。这为组织公开服务提供了一种非常可靠且具有成本效益的方式。

Azure服务总线文档

Azure Service Bus Messaging documentation | Microsoft Learn

了解Dynamics 365和Azure服务总线

在上一节中,我们介绍了Azure服务总线的基本知识,在本节中,将介绍Dynamics 365如何与Azure服务总线集成。 

下图显示了Dynamics 365如何与Azure服务总线一起工作,以连接到可以在云中或托管在防火墙后面的应用程序:

Dynamics 365应用程序开发- 8.利用Dynamics 365中的Azure扩展,Dynamics 365应用程序开发,azure,microsoft

以下是对相同内容的逐步解释:

  1. Dynamics365用户在CRM内部执行操作,如创建潜在客户记录、更新机会等。
  2. 这会触发已注册的Azure感知OOB(开箱即用)插件或自定义Azure感知插件或工作流活动的执行,然后通知异步服务系统作业。
  3. 一旦异步服务接收到通知,它就会处理将请求消息的数据上下文发布到Azure服务总线。过帐是通过系统作业执行的。Dynamics 365用户可以在Dynamics 365 Web应用程序中检查系统作业的状态(设置|系统作业)。
  4. 然后,Microsoft Azure服务总线将执行上下文中继到Microsoft Azure服务总线侦听器应用程序。Azure服务总线还管理授权。通过使用访问控制服务(ACS)或共享访问签名(SAS)来授权将数据发布到服务总线的Dynamics 365以及读取数据的任何侦听器应用程序。
    Azure服务总线:身份验证和授权
    Azure Service Bus authentication and authorization - Azure Service Bus | Microsoft Learn
  5. 在Azure Service Bus解决方案终结点上注册的Microsoft Azure Service Bus侦听器应用程序可以读取和处理由Azure Service Bus发布的Dynamics 365执行上下文。
  6. Azure服务总线然后将相关系统作业的状态设置为已完成。

SAS授权在CRM Online 2016 Update 1中引入,性能优于ACS。SAS是Dynamics 365的推荐授权方法。请参阅此处,以将服务端点从ACS更新为SAS授权

Walkthrough: Update a service endpoint from ACS to SAS authorization | Microsoft Learn

了解Azure感知插件

正如我们之前看到的,我们可以针对Dynamics365中的特定事件注册一个Azure感知插件,然后该插件将此执行上下文传递给Azure服务总线,后者将其转发给侦听器应用程序。在这里,我们可以使用OOB Azure感知插件,也可以编写自己的自定义Azure感知插件或自定义工作流活动。

使用Dynamics 365 Online 9.0版,我们可以使用Webhook作为Azure Service Bus的替代方案,将有关事件的数据发送到web应用程序

Use webhooks to create external handlers for server events(Developer Guide for Dynamics 365 Customer Engagement (on-premises)) | Microsoft Learn

对于OOB Azure感知插件,我们需要首先通过插件注册工具注册新的服务端点:

Dynamics 365应用程序开发- 8.利用Dynamics 365中的Azure扩展,Dynamics 365应用程序开发,azure,microsoft

在服务端点注册中,我们需要指定一个到Azure service Bus的连接,我们希望将插件事件传递到该连接:

Dynamics 365应用程序开发- 8.利用Dynamics 365中的Azure扩展,Dynamics 365应用程序开发,azure,microsoft

服务端点保存有关Azure服务总线的授权信息,例如服务总线命名空间地址和SAS密钥。成功注册后,我们可以向添加的服务端点添加插件步骤,就像我们对常用插件程序集所做的那样。

此支持Azure的OOB插件在完全信任的情况下执行。然而,OOB Azure感知插件存在某些限制,例如它只能异步运行,不能调用CRM SDK方法,并且不能编写用于日志记录或审计目的的跟踪语句。

除了Dynamics 365提供的OOB Azure感知插件外,我们还可以创建自己的自定义Azure感知插件或自定义工作流活动。

传递给IPlugin的Execute方法的IServiceProvider包含IServiceEndpointNotificationService的实例。我们可以调用它的Execute方法来将执行上下文发布到Azure服务总线。Execute方法需要服务端点的实体引用;我们可以从插件注册工具中获取服务端点ID。添加此代码以调用端点通知服务使我们的插件Azure知道:文章来源地址https://www.toymoban.com/news/detail-703904.html

public class AzureAwarePlugin : IPlugin
{
public void Execute(IServiceProvider serviceProvider)
{
// set the Service Endpoint Id
var serviceEndpointId = "[ServiceEndpointGuid]";
// Obtain the execution context from the service provider.
IPluginExecutionContext context &

到了这里,关于Dynamics 365应用程序开发- 8.利用Dynamics 365中的Azure扩展的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用。

    Docker是一个开放源代码的容器化平台,可以将应用程序及其依赖项打包到一个轻量级的容器中,以便在任何地方运行。以下是Docker的基本概念和优势: 基本概念: 镜像(image):Docker的基本构建块,是一个只读的模板,包含了运行容器所需的所有信息; 容器(container):从

    2024年02月11日
    浏览(44)
  • 介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用

    Docker 是一个开源的容器化平台,可以让开发者将应用程序和其所依赖的组件(如库、运行环境)打包成一个可移植、自包含的容器。这个容器可以在任何支持 Docker 的环境中运行,包括开发、测试、生产等环境。Docker 的基本概念包括以下几个方面: 镜像(Image):镜像是一个

    2024年02月10日
    浏览(41)
  • 介绍Docker的基本概念和优势,以及在应用程序开发中的实际应用

    Docker是一种开源的容器化平台,可以将软件包裹在一个独立的容器中,并提供一种轻量级、可移植和自包含的环境来运行应用程序。Docker的基本概念包括以下几个方面: 容器:容器是独立运行的软件包,包含应用程序和它所依赖的所有组件(例如库、环境变量等)。容器具有

    2024年02月04日
    浏览(54)
  • Spring-1-深入理解Spring XML中的依赖注入(DI):简化Java应用程序开发

    前两篇文章我们介绍了什么是Spring,以及Spring的一些核心概念,并且快速快发一个Spring项目,以及详细讲解IOC,今天详细介绍一些DI(依赖注入) 能够配置setter方式注入属性值 能够配置构造方式注入属性值 能够理解什么是自动装配 思考:向一个类中传递数据的方式有几种?(给类

    2024年02月13日
    浏览(50)
  • Java与Python、Node.js在人工智能和区块链应用程序开发中的比较

    背景 Java、Python和Node.js都是常用的编程语言,它们在不同领域都有广泛的应用。在人工智能和区块链应用程序开发中,这三种语言都具有各自的优势和劣势。 Java的优势 Java在企业级应用中应用广泛,这得益于其跨平台性、安全性和稳定性等特点。在人工智能和区块链应用程序

    2024年02月16日
    浏览(53)
  • ToBeWritten之IoT移动应用漏洞利用(IOS 应用程序分析)

    也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 转移发布平台通知:将不再在CSDN博客发布新文章,敬请移步知识星球 感谢大家一直以来对我CSDN博客的关注和支持,但

    2024年02月01日
    浏览(50)
  • SSRS开发的两种方式(VS中集成SSDT组件的开发方式)和(sql server端SSDT的开发方式)//Dynamics 365 开发reports的两种方式

    下载 SQL Server Data Tools (SSDT) for Visual Studio SQL Server Data Tools (SSDT) 是一款新式开发工具,用于生成 SQL Server 关系数据库、Azure SQL 数据库、Analysis Services (AS) 数据模型、Integration Services (IS) 包和 Reporting Services (RS) 报表。 使用 SSDT,你可以设计和部署任何 SQL Server 内容类型,就像在

    2024年02月11日
    浏览(47)
  • 极速Python编程:利用缓存加速你的应用程序

    在软件开发中,缓存是一种常用的技术,用于提高系统性能和响应速度。Python提供了多种缓存技术和库,使我们能够轻松地实现缓存功能。本文将带您从入门到精通,逐步介绍Python中的缓存使用方法,并提供实例演示。 缓存基础知识 什么是缓存 缓存的工作原理 缓存的优势和

    2024年02月16日
    浏览(48)
  • 对Dynamics365的理解

    ​简单地讲,Dynamics 365就是将CRM和ERP整合于统一的云服务中,并将功能细化为多个应用,客户可以按需采购,同时以共享数据模型以及统一的开发平台为基础,整合微软在生产力、智能分析、大数据、IoT等领域的能力,为企业实现数字化转型不断赋予能力 Dynamics 365可以说相当

    2024年02月01日
    浏览(55)
  • Dynamics 365 CRM 性能优化

    1. 应用程序开发时使用多线程开发。 2. 允许系统创建GUID。 3. 使用早绑定。 4. 插件优化。 5. 更新数据最小颗粒,谨防引起限制级联的操作。 6. 避免通过共享海量的数据做权限控制。 7. 不要修改CRM的一些限制。 8. 避免太广泛 无意义的模糊搜索 参考文档:微软文档

    2024年02月07日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包