当前,数字化转型是所有企业的必经之路,数字化转型离不开数字化工具的支持。Dynamics 365完美整合CRM系统和ERP系统两大业务领域的功能和流程,无缝集成且灵活扩展,可以助力企业全业务流程实现数字化转型升级。
为此,瑞泰信息特别开设【小瑞学院-D365开发技能系列直播课】,分享瑞泰技术专家的宝贵开发经验,帮助企业与技术人员更好的基于Dynamics 365开发,加速企业实现数字化转型。
本期直播,我们邀请到瑞泰信息资深技术专家吕冬波老师,为大家详细解说Dynamics 365的编程模型,并剖析如何基于Web API以及Organization Service进行实战开发,破解Dynamics 365扩展开发的独特技巧。
接下来,为您送出精彩的直播回顾及课程精华,不容错过!
Dynamics 365 Web Services核心名词介绍
首先我们先来认识一下Dynamics Web Services 365开发会遇到的一些核心名词:
FetchXML:是基于Xml的查询语言,可以把它简单理解成SQL语句,通过它可以查询Dynamics 365 CRM的数据。开发人员可以在WebAPI或者Organization Service执行FetchXML查询来获取数据,类似于SqlHelper.QueryTable(sql)。
Action:Dynamics 365 流程中的一种,允许开发人员进行自定义开发,用来定制并组合各种业务逻辑,比如商机赢单、订单提交。我们可以把它简单理解成C#中的一个方法,有输入参数、输出参数。操作的注册模式分为两种:一个是全局,一个是绑定到实体,可以获取到实体ID。
Web API:是客户端连接服务端的一种方式,拥有良好的平台兼容性,不管什么平台都可以调用,与开发语言无关。它是基于OData v4.0实现,提供了各种现代化的Restful Web服务。
Organization Service:是客户端连接服务端的另外一种方式,它是基于WCF技术实现,数据传输采用XML,仅使用于.NET客户端。
Dynamics 365 Web Services的编程模型
下图是Dynamics 365编程模型图,主要包含3部分,分别是客户端连接、客户端扩展和服务器端扩展。
Dynamics365编程模型
微软提供了一系列的SDK来帮助开发人员进行快速开发,那么我们开发人员应该采用哪种方式?
首先看一下编程代码,是.NET 还是 非.NET开发,如果是.NET开发,既可以使用Web API也可以使用Organization Service;如果是非.NET开发,只能使用Web API。
另外,如果使用.NET进行开发,D365提供了相应的开发工具,在Plugin & Workflow中,可以引用SDK程序集;外部应用程序中,可以引用XRM工具程序集(身份验证等)。
Web API开发技巧
1.可以由任意客户端来调用,对调用方没有开发语言的限制;
2.Web API的URL,不同的动作对应不同的格式,数据传输采用轻量级的JSON格式;
3.支持对实体的常规操作
▲增、删、查、改、关联/取消关联,
▲创建数据以及查询数据,支持关联操作。
4.支持调用工作流、操作
5.支持事务,将一组操作放到一起通过executeMultiple来执行;
6.如果是D365内部开发,前端可以直接调用,非常方便,不需要写后端代码,通过JS就可以搞定,不能在Plugin、Workflow或者Action中调用Web API
7.如果是外部应用程序调用,要进行身份验证,认证通过后按照接口要求调用即可,另外需要自己封装一下,没有现成的SDK。
Organization Service开发技巧
1.要在.NET客户端下调用,支持CRUD,同时CRUD也有对应的Request;
2.支持其他各种Request,包括共享、停用、分派、导入解决方案、查询实体元数据等等;
3.通过ExecuteMultipleRequest一次执行多个Request,可以提升性能,导入的时候,可以提升效率;
4.支持事务,则需要将多个Request打包到一起,再通过ExecuteTransationRequest来执行;
5.Plugin、Workflow、Action中只能通过Organization Service来操作数据;
6.外部应用程序调用时,需要传入身份信息
如果您错过了精彩直播,我们还精心准备了录播视频,没来得及观看或是想重温精彩瞬间的小伙伴们,进入瑞泰官网关注公众号即可查看录播。
关于小瑞学院
小瑞学院是由营销服务领域资深专家发起的知识分享平台,专注于营销服务领域知识分享与探讨,助力企业业务创新和数字化转型。
关于瑞泰信息
瑞泰信息技术有限公司成立于2008年,10多年来专注于 CRM 和营销数字化领域,基于微软 Dynamics 365 + 瑞泰 DX Apps 的“核心平台+行业应用”模式助力企业营销服务的数字化升级。旗下“瑞云信息” 专注于CRM领域的SaaS应用,为客户提供行业化、智能化的营销、销售和服务云应用。