Del via


Arbejd med alle typer apps

Microsoft Dataverse indeholder flere måder at integrere i enhver type app (mobil, web, desktop), enhed, system eller tjeneste. I forbindelse med cloudløsninger er der måder at integrere på, uanset hvilken model din løsning udrulles i – infrastruktur som en tjeneste (IaaS), paaS (platform as a service) eller saaS (software as a service). For IaaS-baserede løsninger fungerer integrationstilgangen også godt, hvis løsninger kører i objektbeholdere.

I nogle tilfælde kan integration med en app opnås ved hjælp af forretningslogik i Dataverse. I andre tilfælde involverer det integration via hændelser, Dataverse OData-API'en eller brug af plug-ins.

Definition af forretningslogik

Tabeller i Dataverse kan bruge omfattende logik på serversiden og validering til at sikre datakvaliteten og reducere gentagen kode i hver app, der opretter og bruger data i en tabel.

  • Forretningsregler: Valider data på tværs af flere kolonner og tabeller, og angiv advarsler og fejlmeddelelser, uanset hvilken app der bruges til at oprette dataene. Flere oplysninger: Opret en forretningsregel for en tabel

  • Forretningsprocesforløb: Guider brugerne til at sikre, at de indtaster data på en ensartet måde og følger de samme trin hver gang. Forretningsprocesforløb understøttes i øjeblikket kun for modeldrevne apps. Flere oplysninger: Oversigt over forretningsprocesforløb

  • Arbejdsprocesser: Automatiser forretningsprocesser uden brugerinteraktion. Flere oplysninger: Klassiske Dataverse-arbejdsprocesser

  • Forretningslogik med kode: Understøtter avancerede udviklerscenarier for at udvide appen direkte via kode. Flere oplysninger: Anvend forretningslogik ved hjælp af kode

Integration med apps ved hjælp af hændelser

En almindelig tilgang til appintegration er ved hjælp af hændelser. En hændelse, f.eks. tilføjelse af en ny række, sker f.eks. i Dataverse, og dette skal kommunikeres til et tilknyttet system, så der kan udføres en handling. Hvis der f.eks. udløses en ny supportanmodning, kan det udløse en SMS-meddelelse, der sendes til de tildelte supportmedarbejdere.

Denne interaktivitet kan også forekomme i den modsatte retning – en opdatering i et eksternt system kan resultere i, at data tilføjes, opdateres eller slettes fra et Power Platform-miljø.

De mest populære tilgange i Dataverse omfatter webhooks, Azure-beskeder (Service Bus, Event Hubs), Azure Logic Apps eller Power Automate.

Hændelser i Dataverse.

Webhooks

Med Dataverse kan du sende data om hændelser, der forekommer på tjenesten, til en webapp ved hjælp af webhooks. Et webhook er et letvægts HTTP-mønster til at forbinde web-API'er og -tjenester med en publicerings- og abonnementsmodel. WebHook-afsendere fortæller modtagere om hændelser ved at foretage forespørgsler, der modtager slutpunkter med nogle oplysninger om hændelserne.

Webhooks gør det muligt for udviklere og ISV'er at integrere Dataverse-data med deres egen brugerdefinerede kode, der hostes på eksterne tjenester. Ved hjælp af webhook-modellen kan du sikre dit slutpunkt ved hjælp af et godkendelseshoved eller parameternøgler for forespørgelsesstrenge. Dette er enklere end den godkendelsesmodel for signatur for delt adgang, der bruges sammen med Azure Service Bus-integration.

  • Webhooks kan kun skaleres til det punkt, hvor den værtsbaserede webtjeneste kan håndtere meddelelserne.

  • Webhooks aktiverer synkrone og asynkrone trin.

  • Webhooks sender POST-anmodninger med JSON-nyttedata og kan bruges af et hvilket som helst programmeringssprog eller webapp, der hostes hvor som helst.

  • Webhooks kan aktiveres fra en plug-in eller brugerdefineret arbejdsprocesaktivitet.

Azure Service Bus

Service Bus leverer en sikker og pålidelig kommunikationskanal mellem Dataverse-kørselsdata og eksterne, cloudbaserede line of business-apps. Denne funktion er især nyttig til at holde forskellige Dataverse-systemer eller andre Dataverse-servere synkroniseret med ændringer af forretningsdata.

Rækkefølgen af hændelser er som følger:

  • En lytteapp er registreret på et Service Bus-løsningsslutpunkt og begynder aktivt at lytte efter konteksten for fjernudførelse af Dataverse på servicebussen.

  • En bruger udfører en handling i Dataverse, der udløser udførelse af den registrerede plug-in, der er klar til brug, eller en brugerdefineret Azure-klar plug-in. Plug-in'en starter en overførsel via et asynkront job i tjenestesystemet af den aktuelle datakontekst for anmodningen til Service Bus'en.

  • De krav, der er indsendt af Dataverse, godkendes. Service Bus videresender derefter konteksten for fjernkørsel til lyttekomponenten. Lyttefunktionen behandler kontekstoplysningerne og udfører nogle forretningsrelaterede opgaver med disse oplysninger. Service Bus giver den asynkrone tjeneste besked om en vellykket post og indstiller status for det relaterede systemjob til Fuldført.

Service Bus videresender datakonteksten for anmodningsmeddelelsen mellem Dataverse og Service Bus-løsningslytterapps. Service Bus leverer også datasikkerhed, så det kun er godkendte apps, der kan få adgang til de indsendte Dynamics 365-data. Godkendelse af Dataverse til at sende datakonteksten til Service Bus, og for at lytteapps kan læse den, administreres af Azure-signaturer for delt adgang.

Flere oplysninger: Service Bus - og Service Bus-godkendelse og -godkendelse

Logic Apps og Power Automate

Logic Apps, der tilbydes via Azure, og Power Automate, som tilbydes via Microsoft Power Platform, kan udløse en arbejdsproces, der kan bruges til at integrere med programhændelser og -data efter en tidsplan eller efter aktivitet i en database, et system, en tjeneste eller SaaS.

Logic Apps og Power Automate med Dataverse.

Disse arbejdsprocesser kan udføre logik og interagere med disse systemer ved hjælp af de hundredvis af connectors til databaser, PaaS og SaaS.

Når en række f.eks. føjes til en relationsdatabase, f.eks. SQL, kan dette udløse en arbejdsproces, der kan indsætte disse data i Dataverse.

Med muligheden for at oprette brugerdefinerede connectors ved hjælp af Open API-definitioner (tidligere kaldet Swagger) for en tjeneste er det også ligetil at inkludere tjenester, funktioner og kode, der kører i IaaS og Azure Kubernetes Service (AKS).

Integration af Dataverse i apps med OData-API'en

Alle populære programmeringssprog understøtter en form for integration med REST-baserede API'er.

Dataverse med OData-API'en.

Dataverse Web-API'en giver en udviklingsoplevelse, der kan bruges på tværs af en lang række programmeringssprog, platforme og enheder. Web-API'en implementerer OData (Open Data Protocol), version 4.0, en OASIS-standard til oprettelse og brug af RESTful-API'er i forhold til omfattende datakilder. Du kan få mere at vide om denne protokol på www.odata.org. Du kan få flere oplysninger om denne standard underwww.oasis-open.org.

Dataverse bruger en "API first"-tilgang. Det betyder, at tjenesten ikke kun leverer en mekanisme til at forespørge om data, den indeholder også metadata fra tjenesten om forretningsregler, begrænsninger osv., som du kan bruge til at bygge intelligente, dynamiske apps og tjenester.

API'en sikres ved hjælp af OAuth. OAuth kræver en idtable provider til godkendelse. For Dataverse er udbyderen idtable Microsoft Entra ID. Hvis du vil godkende med Microsoft Entra ved hjælp af en Microsoft-arbejds- eller skolekonto, skal du bruge Microsoft Authentication Libraries (MSAL).

Du kan få flere oplysninger om, hvordan du kommer i gang med Dataverse Web API, under Brug Dataverse Web API.

Du kan få flere oplysninger om brug af Dataverse Web API med OAuth under Brug OAuth med Dataverse.

Plug-ins

Dataverse giver mulighed for at skrive kode, der er placeret mellem API'en og dataene. Denne kode, der er skrevet i .NET, kaldes en plug-in. Da plug-in'en er placeret mellem API'en og dataene, gennemtvinges den samme logik i alle apps.

Plug-ins kan være synkrone eller asynkrone og udføre følgende opgaver:

  • Returner fejl til brugeren.

  • Forespørg om Dataverse-data for at evaluere logik, der skal udføres.

  • Udfør datahandlinger.

  • Udfør udgående HTTP-anmodninger.

Plug-ins registreres på steder i hændelsespipelinen, som illustreres her.

Plug-in-hændelsespipeline

Følgende hændelser kan forekomme i hændelsespipelinen:

  • Anmodninger og svar kan undersøges og afvises eller manipuleres i flere trin i hændelsespipelinen.

  • Valideringshandlere kan smide brugerdefinerede undtagelser for at afvise handlinger, som din logik anser for ugyldige.

  • Handlere før handlingen kan ændre anmodninger før databasehandlingen.

  • Handlere efter handlingen kan ændre svar.

  • Asynkrone handlere udfører automatisering, når svaret er returneret.

En begrænsning med plug-ins er, at de skal være indeholdt i sig selv. Hvis integrationskoden kræver referencer til andre biblioteker, kan integration udføres ved hjælp af Azure Functions.

Azure Functions

Azure Functions indeholder en serveruafhængig mulighed for udførelse af kode til forretnings- og integrationslogik.

Dataverse med Azure Functions.

Funktioner udløses af et opkald fra et eksternt system, en tjeneste eller en kode. For Dataverse kan denne udløser komme direkte fra Dataverse ved hjælp af Service Bus, et webhook eller et kald fra en plug-in. Azure Functions-kaldet kan desuden startes via et flow i enten Logic Apps eller Power Automate, der omfatter Dataverse-connectoren.

Flere oplysninger: Brug plug-ins til at udvide forretningsprocesser