當(dāng)前,數(shù)字化轉(zhuǎn)型是所有企業(yè)的必經(jīng)之路,數(shù)字化轉(zhuǎn)型離不開(kāi)數(shù)字化工具的支持。Dynamics 365完美整合CRM和ERP兩大業(yè)務(wù)領(lǐng)域的功能和流程,無(wú)縫集成且靈活擴(kuò)展,可以助力企業(yè)全業(yè)務(wù)流程實(shí)現(xiàn)數(shù)字化轉(zhuǎn)型升級(jí)。
為此,瑞泰信息特別開(kāi)設(shè)【小瑞學(xué)院-D365開(kāi)發(fā)技能系列直播課】,分享瑞泰技術(shù)專家的寶貴開(kāi)發(fā)經(jīng)驗(yàn),幫助企業(yè)與技術(shù)人員更好的基于Dynamics 365開(kāi)發(fā),加速企業(yè)實(shí)現(xiàn)數(shù)字化轉(zhuǎn)型。
本期直播,我們邀請(qǐng)到瑞泰信息資深技術(shù)專家呂冬波老師,為大家詳細(xì)解說(shuō)Dynamics 365的編程模型,并剖析如何基于Web API以及Organization Service進(jìn)行實(shí)戰(zhàn)開(kāi)發(fā),破解Dynamics 365擴(kuò)展開(kāi)發(fā)的獨(dú)特技巧。
接下來(lái),為您送出精彩的直播回顧及課程精華,不容錯(cuò)過(guò)!
Dynamics 365 Web Services核心名詞介紹
首先我們先來(lái)認(rèn)識(shí)一下Dynamics Web Services 365開(kāi)發(fā)會(huì)遇到的一些核心名詞:
FetchXML:是基于Xml的查詢語(yǔ)言,可以把它簡(jiǎn)單理解成SQL語(yǔ)句,通過(guò)它可以查詢Dynamics 365 CRM的數(shù)據(jù)。開(kāi)發(fā)人員可以在WebAPI或者Organization Service執(zhí)行FetchXML查詢來(lái)獲取數(shù)據(jù),類似于SqlHelper.QueryTable(sql)。
Action:Dynamics 365 流程中的一種,允許開(kāi)發(fā)人員進(jìn)行自定義開(kāi)發(fā),用來(lái)定制并組合各種業(yè)務(wù)邏輯,比如商機(jī)贏單、訂單提交。我們可以把它簡(jiǎn)單理解成C#中的一個(gè)方法,有輸入?yún)?shù)、輸出參數(shù)。操作的注冊(cè)模式分為兩種:一個(gè)是全局,一個(gè)是綁定到實(shí)體,可以獲取到實(shí)體ID。
Web API:是客戶端連接服務(wù)端的一種方式,擁有良好的平臺(tái)兼容性,不管什么平臺(tái)都可以調(diào)用,與開(kāi)發(fā)語(yǔ)言無(wú)關(guān)。它是基于OData v4.0實(shí)現(xiàn),提供了各種現(xiàn)代化的Restful Web服務(wù)。
Organization Service:是客戶端連接服務(wù)端的另外一種方式,它是基于WCF技術(shù)實(shí)現(xiàn),數(shù)據(jù)傳輸采用XML,僅使用于.NET客戶端。
Dynamics 365 Web Services的編程模型
下圖是Dynamics 365編程模型圖,主要包含3部分,分別是客戶端連接、客戶端擴(kuò)展和服務(wù)器端擴(kuò)展。
Dynamics365編程模型
微軟提供了一系列的SDK來(lái)幫助開(kāi)發(fā)人員進(jìn)行快速開(kāi)發(fā),那么我們開(kāi)發(fā)人員應(yīng)該采用哪種方式?
首先看一下編程代碼,是.NET 還是 非.NET開(kāi)發(fā),如果是.NET開(kāi)發(fā),既可以使用Web API也可以使用Organization Service;如果是非.NET開(kāi)發(fā),只能使用Web API。
另外,如果使用.NET進(jìn)行開(kāi)發(fā),D365提供了相應(yīng)的開(kāi)發(fā)工具,在Plugin & Workflow中,可以引用SDK程序集;外部應(yīng)用程序中,可以引用XRM工具程序集(身份驗(yàn)證等)。
Web API開(kāi)發(fā)技巧
1.可以由任意客戶端來(lái)調(diào)用,對(duì)調(diào)用方?jīng)]有開(kāi)發(fā)語(yǔ)言的限制;
2.Web API的URL,不同的動(dòng)作對(duì)應(yīng)不同的格式,數(shù)據(jù)傳輸采用輕量級(jí)的JSON格式;
3.支持對(duì)實(shí)體的常規(guī)操作
▲增、刪、查、改、關(guān)聯(lián)/取消關(guān)聯(lián),
▲創(chuàng)建數(shù)據(jù)以及查詢數(shù)據(jù),支持關(guān)聯(lián)操作。
4.支持調(diào)用工作流、操作
5.支持事務(wù),將一組操作放到一起通過(guò)executeMultiple來(lái)執(zhí)行;
6.如果是D365內(nèi)部開(kāi)發(fā),前端可以直接調(diào)用,非常方便,不需要寫(xiě)后端代碼,通過(guò)JS就可以搞定,不能在Plugin、Workflow或者Action中調(diào)用Web API
7.如果是外部應(yīng)用程序調(diào)用,要進(jìn)行身份驗(yàn)證,認(rèn)證通過(guò)后按照接口要求調(diào)用即可,另外需要自己封裝一下,沒(méi)有現(xiàn)成的SDK。
Organization Service開(kāi)發(fā)技巧
1.要在.NET客戶端下調(diào)用,支持CRUD,同時(shí)CRUD也有對(duì)應(yīng)的Request;
2.支持其他各種Request,包括共享、停用、分派、導(dǎo)入解決方案、查詢實(shí)體元數(shù)據(jù)等等;
3.通過(guò)ExecuteMultipleRequest一次執(zhí)行多個(gè)Request,可以提升性能,導(dǎo)入的時(shí)候,可以提升效率;
4.支持事務(wù),則需要將多個(gè)Request打包到一起,再通過(guò)ExecuteTransationRequest來(lái)執(zhí)行;
5.Plugin、Workflow、Action中只能通過(guò)Organization Service來(lái)操作數(shù)據(jù);
6.外部應(yīng)用程序調(diào)用時(shí),需要傳入身份信息
如果您錯(cuò)過(guò)了精彩直播,我們還精心準(zhǔn)備了錄播視頻,沒(méi)來(lái)得及觀看或是想重溫精彩瞬間的小伙伴們,直接掃描下方二維碼觀看。
掃碼觀看
關(guān)于小瑞學(xué)院
小瑞學(xué)院是由營(yíng)銷服務(wù)領(lǐng)域資深專家發(fā)起的知識(shí)分享平臺(tái),專注于營(yíng)銷服務(wù)領(lǐng)域知識(shí)分享與探討,助力企業(yè)業(yè)務(wù)創(chuàng)新和數(shù)字化轉(zhuǎn)型。
關(guān)于瑞泰信息
瑞泰信息技術(shù)有限公司成立于2008年,10多年來(lái)專注于 CRM 和營(yíng)銷數(shù)字化領(lǐng)域,基于微軟 Dynamics 365 + 瑞泰 DX Apps 的“核心平臺(tái)+行業(yè)應(yīng)用”模式助力企業(yè)營(yíng)銷服務(wù)的數(shù)字化升級(jí)。旗下“瑞云信息” 專注于CRM領(lǐng)域的SaaS應(yīng)用,為客戶提供行業(yè)化、智能化的營(yíng)銷、銷售和服務(wù)云應(yīng)用。