Dynamics 365 CRM 开发架构简介
目录
- 概览
- 名词解释
- 连接到Dynamics 365 CRM
- Web API
- Organization service
- 选择 - Web API vs. Organization service
- 扩展服务端
- 扩展应用端
正文
Dynamics 365 CRM提供了多种编程模型,你可以灵活地按需选用最佳模式。
本文是对Dynamics 365 CRM编程模型的综述。
回到顶部
概览
下图表明了Dynamics 365 CRM的主要可编程场景。请根据整体解决方案选择合适的模型。
从扩展的角度来看,你可以在Dynamics 365中实现以下附加功能:
- 应用于PC或移动设备的控制台应用程序或者WPF(Windows Presentation Foundation),即图中上方.Net下的绿框。
- 处理Dynamics的Web表单的扩展,即图中右侧web application部分。
- 处理Dynamics服务端的扩展,即图中左侧.NET plug-ins和workflows下方的绿色方框。
其中1和2属于客户端扩展,3属于服务端扩展。
名词解释
上图中部分名词的基本概念。
Web resources:存储在Dynamics 365 CRM数据库中的虚拟文件,比如图片,网页,XML等,可以通过URL访问。
Forms scripts:Dynamics 365 CRM中的一种常见的Javascript应用方式,使用场景包括通过自定义代码对表单输入内容校验、或进行其它自动化处理等。(参考:Form Scripts)
Ribbon commands:Ribbon的的定义见微软文档。
Workflow:通过Workflow可以创建和管理自动化的业务过程,它也提供了定制和扩展标准流程的机制。
Plug-ins:一种事件处理程序,通过它可以修改或扩充标准的业务流程。
Organization service:客户端连接服务端的一种方式,适用于.Net客户端。
Web API:客户端连接服务端的一种方式,拥有良好的平台兼容性,适用于各种客户端。
Service Contracts:Dynamics中的一种单据类型,和本文主题无关。
本文链接:https://www.cnblogs.com/hhelibeb/p/10718080.html
转载请注明
回到顶部
连接到Dynamics 365 CRM
客户端要访问Dynamics 365 CRM中的数据,有2种方案可以选择:使用Web API或者organization service。
Web API
Web API在2016年11月的系统更新中被引入,它提供了跨编程语言、跨平台和跨设备的开发体验。Web API实现了OData (Open Data Protocol) v4。OData是一个用于构建和消费RESTfulAPIs的OASIS标准。
使用Web API时,可以选择由社区支持的支持OData V4标准的库。你也可以选择写代码直接使用HTTP。
相关内容:使用Dynamics 365 CRM Web API。
连接Dynamics 365 CRM时,可以使用Azure AD Authentication Libraries (ADAL)以启用支持多语言/多平台的认证。
相关内容:通过Web API进行身份认证。
Organization service
如果你是位.Net开发者,那么你既可以使用Web API,也可以使用organization service。通过organization service可以使用组件和工具生成强类型类,包含已经被添加到Dynamics 365 CRM实例中的自定义实体和属性。
通过SDK组件和工具, 你可以使用OrganizationServiceContext,通过这个类可以跟踪变更、管理身份和关系。它也提供了访问Dynamics 365 CRM中的LINQ的入口。当你使用代码生成工具的时候,会得到当前已定义的实体和属性的强类型类,它们被称为早绑定类(early-bound classes)。
更多信息:在代码中使用早绑定实体类
当代码需要处理生成代码时尚不知道的实体和属性时,你可以在代码中使用允许指定实体和属性的实体类。这种晚绑定(late-bound)的代码风格提供了更大的灵活性,但是不允许完整的编译期类型检查,因此不会出现隐式转换。在晚绑定下,只有在对象创建或者对类型执行操作的时候才会检查类型。需要显式指定实体类的类型,以避免隐式转换。
相关内容:在代码中使用晚绑定
如果要创建Windows客户端或者使用Windows PoweShell,可以使用Xrm.Tolling。它提供了一套API,通过使用SDK组件来提供额外的功能和资源,用于Windows客户端的开发。
相关内容:使用XRM工具创建Windows客户端应用
选择 - Web API vs. Organization service
注:organization service目前使用的是过时的2011 SOAP Endpoint,未来它的内部实现会迁移到Web API。
回到顶部
扩展服务端
可以编写监听事件的代码,并应用自定义业务逻辑来修改或扩充平台的标准行为。 这种代码仅可使用.NET托管代码编写,开发人员的体验基于SDK组件中定义的相同对象。你可以使用organization service操作Dynamics 365 CRM中的数据。
相关信息: 写插件来扩展业务处理
可以基于Windows Workflow Foundation编程模型创建自定义流程。可以创建多种不同的处理,多数时候通过使用workflow设计器来实现功能。但是设计器有一些做不到的事情,此时可以通过代码来定义。
相关信息:写Workflow来自动化业务处理
回到顶部
扩展应用端
Dynamics 365 CRM提供的每个客户端应用都具备定制和部署到不同类型客户端的能力。Web应用、Dynamics 365 for Outlook、Dynamics 365 for 平板、and Dynamics 365 for 电话——都提供了自定义导航和命令的能力,也提供了Xrm对象模型和Xrm.Utility功能,可以通过使用Javascript为客户端提供响应式体验。
在客户端中,可以通过URL访问Web resource,比如Javascript库、HTML页面、图像,或其它文件。
相关内容:在CRM app中使用Javascript,Dynamics 365 CRM中的Web Resource
当你需要访问在Javascript上下文中不可用的Dynamics 365 CRM数据时,可以调用服务器获取数据。可以使用organization service,但使用JSON格式的Web API会比基于XML的organization service更简单,因为JS运行在应用上下文中,会自动获得身份认证。
相关内容:Dynamics 365 CRM Web API入门 (客户端JavaScript)
参考:Programming models for Dynamics 365 for Customer Engagement apps
Microsoft Dynamics 365: Custom Extensions and Data Import
JavaScript and HTML Resources
Dynamics 365 CRM 开发架构简介相关推荐
- 【转】Dynamics 365 CRM 开发架构简介
目录 概览 名词解释 连接到Dynamics 365 CRM Web API Organization service 选择 - Web API vs. Organization service 扩展 ...
- 【转】Dynamics 365中开发和注册插件介绍
是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面的 ...
- Dynamics 365 CRM证书更换
周末更新公司crm服务器证书时出现一些问题,感谢提供支持的第三方公司 主要步骤参考如下博文https://blog.csdn.net/hyhcl/article/details/109444954,现 ...
- Dynamics 365 CRM Connected Field Service 自动发送command
上期降到了怎样部署connected field service(CFS) 我们假设现在IoT 设备是温度监控器, 当温度触发我们之前预设的温度值, IoT会通过IoT Hub 发送IoT Alert ...
- Dynamics 365(CRM) 欢迎加入商务技术交流QQ群(MSCRM商务技术交流群149371424)
群介绍: 本群创建于2011/4/16: 全面的微软CRM相关人士,有微软CRM客户,合作伙伴,MVPs,技术专家,方案专家,互联网专家,O2O专家等各类相关高端专业人士.本群交流涵盖CRM 4.0 ...
- Dynamics 365 CRM (online) 使用WebApi调用全局action(Plugin)执行批量更新操作, 前端JS批量上传记录到CRM中
创建一个action process,如下图,分别有两个inputparameter 和一个outputparameter 2.使用visual studio 2019编写一个plugin dll, ...
- ASP.NET Core 企业级开发架构简介及框架汇总
一. 垂直方向架构 1. 多层架构 分层架构通过程序包或者程序的隔离构建松耦合的应用.我们以最近流行的洋葱架构模型进行分析,如图
- Dynamics 365 CRM 接入统一身份认证平台(单点登录集成)
打算将D365 CRM接入公司统一身份认证平台. 前提:D365 已IFD部署,因为要借助ADFS来完成单点登录. 登录ADFS服务器,打开ADFS,本次集成,统一身份认证为上游,ADFS是下游,因为 ...
- Dynamics 365 CRM 中 打开自定义页面 Xrm.Navigation.navigateTo Open Web Resource
在CRM中经常需要打开自定义的HTML界面,而且打开这个界面的时候需要模态状体,阻止用户填写除了弹窗之外的东西,只能先填写窗体的内容: 这个时候很多人喜欢选择第三方的library去实现模态窗体,但是 ...
最新文章
- opencv播放器和摄像头视频播放
- Android人脸支付研究,智能手机上人脸支付系统的设计与实现
- Day14:使用斯坦福 NER 软件包实现你自己的命名实体识别器
- Shell(12)——awk(2)
- Linux与jvm内存关系分析
- argb可以和rgb同步吗_神光同步酷炫幻彩,安钛克光棱120 RGB风扇套装
- Citrix高层相继离职,XenServer或将被流产?
- 《锋利的jQuery》二、jQuery的选择器
- 计算机考研408考试科目及备考指南
- easybcd 无法添加linux条目,easybcd无法添加条目怎么办-easybcd无法添加条目的解决办法...
- git 拉取子目录 child-dir (父目录为:parent-dir)
- SAP汇率转换函数[BAPI_EXCHANGERATE_GETDETAIL]
- ios系统更新怎样用移动网络连接服务器,苹果手机用不了蜂窝数据?用这几招解决!...
- 浅谈区块链技术应用场景
- php正则匹配中文和英文字母,PHP正则匹配中文字母数字正则的表达式
- 阿里二面惨败,痛哭流涕狂刷 1000+ 面试题,成功面上五面上岸滴滴
- 994. 腐烂的橘子 (广度探索)
- 都是做游戏,为嘛国内外出来的产品相差这么大?
- IIS 7.5 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。
- 群体创新更能促进社会进步
热门文章
- Yarn的三种资源调度机制
- 由object元素引出的事件注册问题和层级显示问题
- 面向对象三大特性: 封装
- 【转】android程序连接网络出现android.os.NetworkOnMainThreadExceptionat
- 惊!MySQL官网巨变,下载被取消
- silverlight + wcf(json格式) + sqlserver存储过程分页
- 2.3 Factory Method(工厂方法)
- [Leedcode][JAVA][第394题][字符串解码][栈][类型转换]
- x-lite for linux,Linux Lite 4.6正式发布:现基于Ubuntu 18.04.3 LTS
- java的jsp要下载吗_jsp、java下载附件