Del via


Azure-integration med Microsoft Dynamics 365.

 

Udgivet: januar 2017

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Du kan tilknytte Microsoft Dynamics 365 (online og i det lokale miljø) til Microsoft Azure-platformen ved at koble Dynamics 365-hændelsens kørselspipeline til Microsoft Azure-servicebus. Når denne forbindelse er konfigureret, giver den mulighed for, at data, der ikke er blevet behandlet som del af den aktuelle Dynamics 365-handling, skal sendes til tjenestebussen.Microsoft Azure-servicebus-løsninger, der er "Dynamics 365-kompatible" kan lytte efter og læse Microsoft Dynamics 365-dataene fra tjenestebussen.

Denne forbindelse mellem Microsoft Dynamics 365- og Microsoft Azure-platformen giver en sikker og påldelig kanal til at kommunikere Dynamics 365-kørselsdata til eksterne skybaserede brancheprogrammer.

Dette emne indeholder

Vigtige elementer i forbindelsen

Et scenario med Dynamics 365 til tjenestebus

Oprette en kontrakt mellem Microsoft Dynamics 365 og en Azure-løsning

Administration af runtime-fejl

Vigtige elementer i forbindelsen

De nøgleelementer, der implementerer forbindelsen mellem Microsoft Dynamics 365 og Microsoft Azure-servicebus, er beskrevet herunder: Et diagram i næste afsnit viser disse elementer i drift.

  • Datakontekst
    Datakontekst indeholder de forretningsdata, der behandles som en del af den aktuelle Dynamics 365-handling. Denne behandling blev påbegyndt, da en anmodning om at udføre en bestemt handling på Dynamics 365-platformen blev foretaget en bruger, en arbejdsproces eller et program. Datakonteksen overføres til plug-ins eller brugerdefinerede arbejdsprocesaktiviteter, der er registreret med rækkefølgen af de hændelser, der skal udføres på den specifikke anmodnings- og objektkombination, der behandles i øjeblikket. Datakonteksten er af typen IPluginExecutionContext, når den overføres langs kørselsrækkefølgen for hændelser, og RemoteExecutionContext når den sendes til tjenestebussen.

    Den datakontekst, der er indeholdt i den meddelelse, der skal sendes til Microsoft Azure-servicebus, kan formateres i XML- eller JSON ud over det binære .NET-standardformat. Dette giver mulighed for interoperabilitet på tværs af platforme, hvor Azure-hostede kliener, der ikke er .NET, kan læse Dynamics 365-data fra tjenestebussen.Denne funktion blev introduceret i første opdatering til CRM Online 2016 og i CRM 2016 Service Pack 1 (i det lokale miljø)..

    Du kan finde flere oplysninger om teknologierne, der er beskrevet herover, kan du se: Forstå den datakontekst, der overføres til en plug-in, Pipeline for hændelseskørsel og Skrive et lyttefunktionsprogram til en Microsoft Azure-løsning.

  • Plug-ins
    Plug-ins er en af to metoder, der bruges til at starte afsendelse af den meddelelse, der indeholder datakonteksten til Microsoft Azure-servicebus, hvor den anden metode er en brugerdefineret arbejdsprocesaktivitet. Dynamics 365-Azure-forbindelsesfunktionen understøtter to slags plug-ins: indbyggede (OOB) og brugerdefinerede. I begge tilfælde anbefales det, at du registrerer dette plug-in, så det kører asynkront, så du får den bedste systemydelse.

    Et Azure-kompatibelt OOB-plugin er forsynet med Dynamics 365 og kan registreres ved hjælp af værktøjet til registrering af plug-ins i SDK-overførslen. Denne plug-in udføres i fuld tillid med Microsoft Dynamics 365-platform. Du skal registrere et plug-in-"trin" i kørselsrækkefølge af hændelser, der identificerer kombinationen af meddelelsen og objektet, der udløser dette plug-in, for at afvikle og udføre meddelelsesbeskeden. Når det er kørt, giver plug-in'et den asynkrone tjeneste besked via tjenesteslutpunktets meddelelsestjeneste (IServiceEndpointNotificationService) for at sende den aktuelle anmodningsdatakontekst til Microsoft Azure-servicebus.

    Du kan også skrive din egen brugerdefinerede plug-in, der er "Azure-kompatibel". Den brugerdefinerede plug-in udføres i delvis tillidstilstand i sandkassen. Et brugerdefineret plug-in kan starte afsendelsen af datakonteksten til tjenestebussen via tjenesteslutpunktets meddelelsestjeneste. Tilføjelse af kode for at aktivere denne tjeneste gør plug-in'et "Azure-kompatibelt". Du kan få flere generelle oplysninger om plug-ins i Skriv en plug-in. Du kan få flere oplysninger om Azure-kompatible plug-ins i Skriv en brugerdefineret Azure-følsom plug-in.

  • Brugerdefinerede arbejdsprocesaktiviteter
    På samme måde som plug-ins kan brugerdefinerede arbejdsprocesaktiviteter skrives for at starte afsendelse af de aktuelle anmodningsmeddelelsesdata til Microsoft Azure-servicebus ved hjælp af tjenesteslutpunktets meddelelsestjeneste (IServiceEndpointNotificationService).Flere oplysninger:Eksempel: Azure-følsom brugerdefineret arbejdsprocesaktivitet.

  • Asynkron tjeneste
    Når der er givet besked af tjenesteslutpunktets meddelelsestjeneste, håndterer den asynkrone tjeneste afsendelsen af datakonteksten for den anmodningsmeddelelse, der i øjeblikket behandles af kørselrækkefølgen for hændelser til Microsoft Azure-servicebus. Hvert indlæg udføres af et systemjob i den asynkrone tjeneste. En bruger kan få vist status for hvert systemjob ved hjælp af visningen SystemJob i Microsoft Dynamics 365-webprogrammet.

    Du kan finde flere oplysninger om den asynkrone tjeneste, se under Asynkron tjeneste i Microsoft Dynamics 365.

  • Microsoft Azure-tjenestebus
    Tjenestebussen videresender anmodningsmeddelelsesdata mellem lyttefunktionsprogrammer til Microsoft Dynamics 365- og Microsoft Azure-servicebus-løsninger. Tjenestebussen giver også datasikkerhed, så det kun er autoriserede programmer, der kan få adgang til de sendte Dynamics 365-data. Godkendelse af Microsoft Dynamics 365 til at sende datakontekst til tjenestebussen og til lyttefunktionsprogrammerne for at læse den ved hjælp af enten Microsoft Azure Active Directory Access Control Service (ACS) eller Microsoft Azure SAS (Shared Access Signatures).

    Bemærk

    Om SAS-godkendelse: Denne funktion blev introduceret i første opdatering til CRM Online 2016 og i CRM 2016 Service Pack 1 (i det lokale miljø). SAS er en mere moderne form for godkendelse og har bedre ydeevne sammenlignet med ACS.

    Du kan finde flere oplysninger om tjenestebussen, se under Tjenestebus.Du kan finde flere oplysninger om tjenestebustilladelse, se under Tjenestebusgodkendelse og -tilladelse.

  • Microsoft Azure-løsning
    For at få Dynamics 365-Azure-integrationsfunktionen til at virke, skal der være mindst én løsning i et Microsoft Azure-servicebus-løsningsfirma, hvor løsningen indeholder et eller flere serviceslutpunkter. Til en relæslutpunktskontrakt skal et lyttefunktionsprogram, der er "Dynamics 365-kompatibel", lytte aktivt på slutpunktet for Dynamics 365-anmodningen på servicebussen. For en køslutpunktskontrakt behøver en lyttefunktion ikke at lytte aktivt. En lyttefunktion gøres "Dynamics 365-kompatibel" ved at knytte den til Microsoft.Xrm.Sdk-assembly, så denne type af RemoteExecutionContext er defineret.Flere oplysninger:Skrive et lyttefunktionsprogram til en Microsoft Azure-løsning

    Microsoft Dynamics 365 understøtter afsendelse af hændelsesdata til en Azure Event Hubs-løsning.Denne funktion blev introduceret i første opdatering til CRM Online 2016 og i CRM 2016 Service Pack 1 (i det lokale miljø)..Du kan finde flere oplysninger om hændelseshubs, se under Arbejde med Dynamics 365-hændelsesdata i din Azure-hændelseshubløsning.

Et scenario med Dynamics 365 til tjenestebus

Lad os nu identificere et scenario, der implementerer de tidligere nævnte forbindelseskomponenter. Som forudsætning er ACS konfigureret til at genkende Microsoft Dynamics 365 som den understøttede udsteder, og Microsoft Azure-servicebus-løsningen er konfigureret med regler, der tillader Microsoft Dynamics 365 at bogføre på slutpunktet, hvor lyttefunktion er.

Følgende diagram viser de fysiske elementer, der indgår i scenariet.

Microsoft Dynamics CRM til tjenestebusscenarie

Rækkefølgen af begivenheder, som er identificeret i dette diagram, er som følger:

  1. Et lyttefunktionsprogram er registreret på en Microsoft Azure-servicebus-løsnings slutpunkt og begynder at lytte aktivt til Microsoft Dynamics 365-fjernkørselskonteksten på servicebussen.

  2. En bruger udfører en handling i Microsoft Dynamics 365 , der udløser afviklingen af den registrerede OOB-plug-in eller en brugerdefineret Azure-kompatibel plug-in. Plug-in'en starter et opslag, via et asynkront servicesystemjob, af den aktuelle anmodningsdatakontekst til tjenestebussen.

  3. De krav, der sendt af Microsoft Dynamics 365, er godkendt. Servicebussen relæbehandler derefter fjernudførelseskonteksten til lyttefunktionen. Lyttefunktionen behandler kontekstoplysningerne og udfører en forretningsrelateret opgave med disse oplysninger. Servicebussen giver den asynkrone tjeneste besked om et vellykket opslag og indstiller det relaterede systemjob til fuldført status.

Oprette en kontrakt mellem Microsoft Dynamics 365 og en Azure-løsning

For hvert løsningsslutpunkt kan du konfigurere en kontrakt, der definerer håndteringen af disse "meddelelser" om fjernudførelseskontekst på servicebussen og den sikkerhed, der skal bruges til dette slutpunkt. Servicebusmeddelelser modtages på et slutpunkt med en af de understøttede kontrakter, der er angivet her.


  • En køkontrakt har en meddelelseskø i skyen. Med en køkontrakt behøver en lyttefunktion ikke at lytte aktivt efter meddelelser på slutpunktet. For køer er der en destruktiv læsning og en ikke-destruktiv læsning. En destruktiv læsning læser en meddelelse, der er tilgængelig fra køen, og meddelelsen fjernes. En ikke-destruktiv læsning fjerner ikke en meddelelse fra køen.

    Den køtype, der understøttes af Microsoft Dynamics 365, kaldes en vedvarende kø. Vedvarende køer har en lang, men endelig varighed af meddelelsestilgængelighed, der kan angives i kode.

  • Envejs
    En envejskontrakt kræver en aktiv lyttefunktion. Hvis der ikke er nogen aktive lyttefunktioner på et slutpunkt, mislykkes afsendelsen til tjenestebussen.Microsoft Dynamics 365 forsøger afsendelsen igen i eksponentielt større og større tidsperioder, indtil det asynkrone systemjob, der sender anmodningen, til sidst afbrydes, og dens status er indstillet til "Mislykket."

  • Tovejs
    En tovejs kontrakt ligner en envejs kontrakt, bortset fra at en strengværdi kan returneres fra lyttefunktionen til plug-in'et eller det brugerdefinerede arbejdsprocesaktivitet, der startede afsendelsen.

  • REST
    En REST-kontrakt ligner en tovejskontrakt på et REST-slutpunkt.

  • Emne
    Minder om en kø, men en eller flere lyttefunktioner kan abonnere på at modtage meddelelser fra emnet.

  • Hændelseshub
    Denne kontrakttype gælder for Microsoft Azure-hændelseshubløsninger.

Vigtigt

Hvis du vil bruge disse kontrakter, skal du skrive dine lytteprogrammer ved hjælp af Microsoft AzureSDK v1.7 eller senere.

Identificering af typen af sikkerhed, der bruges af en kontrakt, er en del af kontraktens konfiguration. En kontrakt kan bruge transportsikkerhed, som bruger TLS (Transport Layer Security) eller SSL (Secure Sockets Layer) (https).

Godkendelse af krav, der bruges til sikker adgang til servicebussen. Krav, der bruges til at godkende på servicebussen, oprettes i Microsoft Dynamics 365 og underskrives af AppFabricIssuer-certifikatet, der er angivet i Microsoft Dynamics 365-konfigurationsdatabasen.

Administration af runtime-fejl

Hvis der opstod en fejl, når et opslag blev forsøgt til servicebussen, kan du kontrollere status for det relaterede systemjob i Microsoft Dynamics 365-webprogrammet for at finde flere oplysninger om fejlen. Hvis servicebussen er nede, eller en lyttefunktion/et slutpunkt ikke er tilgængeligt, bliver den aktuelle meddelelse, der behandles i Microsoft Dynamics 365, ikke bogført til bussen. Den asynkrone tjeneste vil fortsat forsøge at sende meddelelsen i et eksponentielt mønster, hvor den forsøger at bogføre ofte først og derefter med længere og længere intervaller. For en intern Microsoft Dynamics 365-fejl bliver meddelelsesopslag ikke forsøgt. For en ekstern servicebus eller netværksfejl, forbliver det relaterede systemjob i tilstanden "Vent".

Se også

Azure-udvidelser til Microsoft Dynamics 365
Konfigurer Azure-integration med Microsoft Dynamics 365.
Skriv plug-ins for at udvide forretningsprocesser
Asynkron tjeneste i Microsoft Dynamics 365
Objektet AsyncOperation (systemjob)

Microsoft Dynamics 365

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret