Azure-integratie met Microsoft Dynamics CRM
Gepubliceerd: november 2016
Is van toepassing op: Dynamics CRM 2015
U kunt Microsoft Dynamics CRM 2015 en Microsoft Dynamics CRM Online 2015 Update met het Microsoft Azure-platform verbinden door de uitvoeringspipeline van de gebeurtenis Dynamics 365 te koppelen aan de Microsoft Azure Service Bus. Via deze verbinding kunnen gegevens die zijn verwerkt als onderdeel van de huidige Dynamics 365-bewerking doorgegeven worden naar de servicebus.Microsoft Azure Service Bus-oplossingen die Dynamics 365 ondersteunen, kunnen op de servicebus luisteren naar de gegevens die op de servicebus zijn geplaatst door Microsoft Dynamics 365, en deze uitlezen. De geplaatste gegevens worden opgeslagen in een RemoteExecutionContext-klasse-exemplaar dat een uitgebreide versie is van IExecutionContext die tijdens het uitvoeren aan asynchrone Microsoft Dynamics 365-invoegtoepassingen is doorgegeven.
Deze verbinding tussen Microsoft Dynamics 365 en het Microsoft Azure-platform biedt een beveiligd kanaal voor het communiceren van Dynamics 365-gegevens tijdens uitvoeringstijd naar externe op de cloud gebaseerde bedrijfstaktoepassingen (LOB).
In dit onderwerp
Belangrijkste elementen van de verbinding
Een CRM-naar-servicebus scenario
Een contract instellen tussen CRM en een Azure-oplossing
Beheer van runtimefouten
Belangrijkste elementen van de verbinding
De belangrijkste elementen die de verbinding implementeren tussen Microsoft Dynamics 365 en de Microsoft Azure Service Bus zijn als volgt:
Asynchrone service
De asynchrone service is verantwoordelijk voor het posten van de externe Microsoft Dynamics 365-uitvoeringscontext naar Microsoft Azure Service Bus. Elk bericht wordt uitgevoerd door een systeemtaak van de asynchrone service. Een gebruiker kan de status van elke systeemtaak bekijken met de Microsoft Dynamics 365-webtoepassing.Invoegtoepassingen
Er zijn twee soorten asynchrone geregistreerde plug-ins die door de verbindingsfunctie worden ondersteund: kant-en-klare (OOB), die wordt geleverd met Dynamics 365, en aangepast. Voor meer informatie over het gebruik van synchrone invoegtoepassingen met Microsoft Azure raadpleegt u De meldingenservice bekijken.Een invoegtoepassing die Azure ondersteunt, wordt geleverd met Dynamics 365. Deze plug-in wordt met volledig vertrouwen uitgevoerd met het Microsoft Dynamics 365-platform. Indien geregistreerd met Microsoft Dynamics 365, kan de invoegtoepassing de asynchrone service melden de context van de huidige aanvraag naar Microsoft Azure Service Bus te posten. Een ontwikkelaar moet een stap voor deze plug-in registreren die het doelbericht en de doelentiteit aangeeft om functionaliteit voor plaatsing op de servicebus mogelijk te maken.
U kunt ook uw eigen aangepaste invoegtoepassing schrijven die Azure ondersteunt. De aangepaste invoegtoepassing wordt uitgevoerd in de modus voor gedeeltelijk vertrouwen in de sandbox en kan alle Microsoft Dynamics CRM SDK-methoden aanroepen. Een aangepaste invoegtoepassing kan het posten van de Microsoft Dynamics 365-context naar de servicebus initiëren door een paar standaardregels van code op te nemen die de asynchrone service meldt de aanvraagcontext te plaatsen. Door deze cloud-specifieke code ondersteunen de invoegtoepassingen Azure. Voor meer informatie over invoegtoepassingen in het algemeen, zie Een invoegtoepassing schrijven. Voor meer informatie over Azure-invoegtoepassingen, zie Een aangepaste Azure-bewuste invoegtoepassing schrijven.
Aangepaste werkstroomactiviteiten
Aangepaste workflowactiviteiten kunnen worden geschreven om de gegevenscontext van de huidige aanvraag naar Microsoft Azure Service Bus te posten.Meer informatie:Voorbeeld: Azure-bewuste aangepaste werkstroomactiviteit.Microsoft Azure Service Bus
De servicebus geeft de externe uitvoeringscontext door tussen Microsoft Dynamics 365- en Microsoft Azure Service Bus-oplossinglisteners.Microsoft Azure Active Directory Access Control Service (ACS) beheert op claims gebaseerde verificatiebeveiliging.Microsoft Azure-oplossing
Om de Dynamics 365- en Azure-verbinding te gebruiken moet er minstens één oplossing zijn in een Microsoft Azure Service Bus-oplossingaccount zijn, waarbij de oplossing een of meerdere service-eindpunten bevat. Voor een contract van het relaiseindpunt, moet een listener die Dynamics 365 ondersteunt actief op het eindpunt voor de Dynamics 365 -aanvraag op de servicebus letten. Voor een wachtrij-eindpuntcontract hoeft een listener niet actief te luisteren. Een listener gaat Dynamics 365 ondersteunen als die wordt gekoppeld aan de Microsoft.Xrm.Sdk-assembly zodat het type RemoteExecutionContext wordt gedefinieerd.Meer informatie:Schrijf een listener voor een Microsoft Azure-oplossingDe oplossingregels moeten worden geconfigureerd om toe te staan dat de externe Microsoft Dynamics 365-uitvoeringscontext naar de servicebus wordt gepost. Als u dit posten wilt inschakelen, moet ACS de Dynamics 365-installatie als een ondersteunde uitgever zien.Meer informatie:Azure-integratie met Microsoft Dynamics CRM 2015 configureren.
Belangrijk
Als u een oplossinglistener het platform Microsoft Azure wilt ontwikkelen, moet u de Microsoft AzureSDK-versie 1.7 of 1.8. op uw ontwikkelcomputer bijwerken.
Een CRM-naar-servicebus scenario
Nu gaan we een scenario identificeren waarin die eerder genoemde verbindingsonderdelen worden geïmplementeerd. Als vereiste is ACS geconfigureerd om Microsoft Dynamics 365 als de ondersteunde uitgever te zien en is de Microsoft Azure Service Bus-oplossing met regels geconfigureerd om toe te staan dat Microsoft Dynamics 365 op het eindpunt plaatst waarop de listener luistert.
Het volgende schema laat de fysieke elementen zien waaruit het scenario uit bestaat.
De volgorde van gebeurtenissen zoals beschreven in dit diagram wordt geïdentificeerd als volgt:
Een listener is geregistreerd op een Microsoft Azure Service Bus-oplossingeindpunt en begint actief te luisteren naar de externe Microsoft Dynamics 365-uitvoeringscontext op de servicebus.
Een gebruiker voert een bewerking in Microsoft Dynamics 365 uit die de uitvoering activeert van de geregistreerde OOB-invoegtoepassing of een aangepaste invoegtoepassing die Azure ondersteunt. De invoegtoepassing initieert een bericht door een asynchrone servicesysteemtaak van de huidige aanvraagcontext naar de servicebus.
ACS verifieert de claims die door Microsoft Dynamics 365 worden geplaatst. De servicebus geeft vervolgens de externe de uitvoeringscontext door aan de listener. De listener verwerkt de contextinformatie en voert een zakelijke taak met die informatie uit. De asynchrone service wordt ingelicht met behulp van de servicebus, over een succesvol bericht en de status van de gerelateerde systeemtaak wordt ingesteld op voltooid.
Een contract instellen tussen CRM en een Azure-oplossing
Voor elk oplossingeindpunt configureert u een contract dat de afhandeling van deze externe "uitvoeringscontextberichten" op de servicebus en de beveiliging die op dat eindpunt moet worden gebruikt. Servicebusberichten worden op een eindpunt ontvangen met een van de ondersteunde hier genoemde contracten.
Wachtrij
Een wachtrijcontract biedt een berichenwachtrij in de cloud. Met een wachtrijcontract hoeft een listener niet actief te luisteren naar berichten op het eindpunt. Voor wachtrijen lezen is er een vernietigende lezing en een niet-vernietigende lezing. Een vernietigende lezing leest een beschikbaar bericht uit de wachtrij en het bericht wordt verwijderd. Een niet-vernietigende leesbewerking verwijdert een bericht niet uit de wachtrij.Er worden twee typen wachtrijen ondersteund in Microsoft Dynamics 365: een wachtrij van de berichtbuffer en een persistente wachtrij. Voor wachtrijen van de berichtbuffer worden berichten in de wachtrij automatisch verwijderd als ze niet in een vooraf ingestelde tijd worden gelezen, die normaal gesproken minder dan 10 minuten bedraagt. Persistente wachtrijen hebben een veel langere duur van de berichtbeschikbaarheid die in code kan worden opgegeven.
Unidirectioneel
Een unidirectioneel contract vereist een actieve listener. Als er geen actieve listener op een eindpunt is, mislukt het Microsoft Dynamics 365-bericht naar de servicebus.Microsoft Dynamics 365 probeert het bericht met exponentieel langere tussenpozen opnieuw te posten, totdat de asynchrone systeemtaak die de aanvraag post uiteindelijk wordt afgebroken en de status ervan wordt ingesteld op "Mislukt".Bidirectioneel
Een bidirectioneel contract is vergelijkbaar met een unidirectioneel contract, behalve dat een tekenreekswaarde van de listener naar Microsoft Dynamics 365 kan worden geretourneerd.REST
Een REST-contract is vergelijkbaar met een bidirectioneel contract op een REST-eindpunt.Onderwerp
Vergelijkbaar met een wachtrij, behalve dat een of meer listeners zich kunnen aanmelden om berichten uit het onderwerp te ontvangen.
Belangrijk
Om deze contracten te gebruiken, moet u uw listenertoepassingen schrijven met behulp van Microsoft AzureSDK v1.7 of 1.8.
De wachtrijen van de berichtbuffer worden afgeschaft en worden niet langer ondersteund in een toekomstige versie van Microsoft Dynamics CRM SDK.
Het identificeren van het soort beveiliging dat het contract gebruikt, maakt deel uit van de configuratie van het contract. Een contract kan transportbeveiliging gebruiken, die Secure Sockets Layer (SSL) (HTTPS) gebruikt.
Claimenverificatie wordt gebruikt voor beveiligde toegang tot de servicebus. De claim die wordt gebruikt om de servicebus te verifiëren, wordt gegenereerd in Microsoft Dynamics 365 en ondertekend door het AppFabricIssuer-certificaat dat in de Microsoft Dynamics 365-configuratiedatabase is opgegeven.
Beheer van runtimefouten
Wanneer er een fout optreedt nadat is geprobeerd naar de servicebus te posten, controleert u de status van de verwante systeemtaak in de Microsoft Dynamics 365-webtoepassing voor meer informatie over de fout. Als de servicebus of een listener/eindpunt niet beschikbaar is, wordt het huidige bericht dat in Microsoft Dynamics 365 wordt verwerkt niet geplaatst naar de bus. De asynchrone service zal blijven poberen het bericht in een exponentieel patroon te plaatsen, waarbij de service eerst probeert vaak te posten en vervolgens met steeds langere tussenpozen. Voor een interne Microsoft Dynamics 365-fout wordt niet geprobeerd berichten te plaatsen. Voor een externe servicebus- of netwerkfout krijgt de gerelateerde systeemtaak een wachtstatus.
Zie ook
Azure-extensies voor Microsoft Dynamics CRM 2015
Azure-integratie met Microsoft Dynamics CRM 2015 configureren
Invoegtoepassingen schrijven om bedrijfsprocessen uit te breiden
Asynchrone service in Microsoft Dynamics CRM 2015
Entiteit AsyncOperation (systeemtaak)
© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht