Share via


Werken met alle typen apps

Microsoft Dataverse biedt meerdere manieren voor integratie in elk type app (mobiel, web, desktop), apparaat, systeem of service. Voor cloudoplossingen is integratie mogelijk ongeacht het model waarin uw oplossing is geïmplementeerd—infrastructuur als een service (IaaS), platform als een service (PaaS) of software als een service (SaaS). Voor IaaS-gebaseerde oplossingen werkt de integratiebenadering ook goed als er oplossingen in containers draaien.

In sommige gevallen kan integratie met een app worden bereikt door gebruik te maken van de bedrijfslogica in Dataverse. In andere gevallen gaat het om integratie via gebeurtenissen, de Dataverse OData-API of invoegtoepassingen.

Bedrijfslogica definiëren

Tabellen in Dataverse kunnen gebruikmaken van uitgebreide serverlogica en -validatie om gegevenskwaliteit te waarborgen en herhalende code te beperken in elke app waarin gegevens in een tabel worden gemaakt en gebruikt.

  • Bedrijfsregels: valideren gegevens in meerdere kolommen en tabellen, en bieden waarschuwings- en foutberichten, ongeacht de app die wordt gebruikt voor het maken van de gegevens. Meer informatie: Een bedrijfsregel maken voor een tabel

  • Bedrijfsprocesstromen: bieden gebruikers begeleiding bij het consistent invoeren van gegevens en het steeds weer volgen van dezelfde stappen. Bedrijfsprocesstromen worden momenteel alleen ondersteund voor modelgestuurde apps. Meer informatie: Overzicht van bedrijfsprocesstromen

  • Werkstromen: bedrijfsprocessen automatiseren zonder gebruikersinteractie. Meer informatie: Klassieke Dataverse-werkstromen

  • Bedrijfslogica met code: ondersteuning voor geavanceerde scenario's van ontwikkelaars bij het rechtstreeks uitbreiden van de app via code. Meer informatie: Bedrijfslogica toepassen met code

Integreren met apps door gebeurtenissen te gebruiken

Een gebruikelijke benadering van app-integratie is via gebeurtenissen. Een gebeurtenis zoals het toevoegen van een nieuwe rij vindt bijvoorbeeld plaats in Dataverse en dit moet worden gecommuniceerd naar een gekoppeld systeem, zodat er actie kan worden ondernomen. Als er bijvoorbeeld een nieuw ondersteuningsverzoek is ingediend, kan dit ertoe leiden dat er een sms-bericht wordt verzonden naar de toegewezen ondersteuningsmedewerker.

Deze interactiviteit kan ook in de tegenovergestelde richting plaatsvinden—een update in een extern systeem kan ertoe leiden dat gegevens worden toegevoegd, bijgewerkt of verwijderd uit een Power Platform-omgeving.

De meest populaire benaderingen in Dataverse omvatten webhooks, Azure-berichten (Service Bus, Event Hubs), Azure Logic Apps of Power Automate.

Gebeurtenissen in Dataverse.

Webhooks

Met Dataverse kunt u gegevens over gebeurtenissen die plaatsvinden in de service, met behulp van webhooks verzenden naar een webapp. Een webhook is een lichtgewicht HTTP-patroon voor het verbinden van web-API's en -services met een model voor publiceren en abonneren. Webhooks-zenders informeren ontvangers over gebeurtenissen door aanvragen aan ontvangereindpunten te doen met informatie over de gebeurtenissen.

Webhooks stellen ontwikkelaars en ISV's in staat Dataverse-gegevens te integreren met hun eigen aangepaste code die wordt gehost op externe services. Met het webhook-model kunt u uw eindpunt beveiligen met behulp van een verificatiekoptekst of sleutels met querytekenreeksparameters. Dit is eenvoudiger dan het verificatiemodel Shared Access Signature dat wordt gebruikt met Azure Service Bus-integratie.

  • Webhooks kunnen alleen worden geschaald tot het punt waarop uw gehoste webservice de berichten kan verwerken.

  • Webhooks maken synchrone en asynchrone stappen mogelijk.

  • Webhooks verzenden POST-verzoeken met de JSON-payload en kunnen worden gebruikt door elke programmeertaal of webapp die op een willekeurige locatie wordt gehost.

  • Webhooks kunnen worden aangeroepen vanuit een invoegtoepassing of een aangepaste werkstroomactiviteit.

Azure Service Bus

Service Bus biedt een veilig en betrouwbaar communicatiekanaal tussen Dataverse-runtimegegevens en externe, cloudgebaseerde bedrijfsapps. Deze mogelijkheid is vooral handig bij het gesynchroniseerd houden van ongelijksoortige Dataverse-systemen of andere Dataverse-servers met wijzigingen in -bedrijfsgegevens.

De volgorde van gebeurtenissen is als volgt:

  • Een listener-app is geregistreerd op een Service Bus-oplossingeindpunt en begint actief te luisteren naar de externe Dataverse-uitvoeringscontext op de servicebus.

  • Een gebruiker voert een bewerking in Dataverse 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 gegevenscontext van de huidige aanvraag naar Service Bus.

  • De claims die door Dataverse worden geplaatst, worden geverifieerd. Service Bus 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 via Service Bus, over een succesvol bericht en de status van de gerelateerde systeemtaak wordt ingesteld op Voltooid.

Service Bus geeft de gegevenscontext van het aanvraagbericht door tussen Dataverse en de listener-apps van de Service Bus-oplossing. Service Bus biedt daarbij ook gegevensbeveiliging, zodat alleen geautoriseerde apps toegang hebben tot de geposte Dynamics 365-gegevens. Autorisatie van Dataverse voor het posten van de gegevenscontext in Service Bus en van de listener-apps om deze te lezen, wordt beheerd door Shared Access Services (SAS) in Azure.

Meer informatie: Servicebus en Service Bus-authenticatie en -autorisatie

Logic Apps en Power Automate

Logic Apps, aangeboden via Azure, en Power Automate, aangeboden via Microsoft Power Platform, kan een werkstroom activeren voor het integreren met toepassingsgebeurtenissen en gegevens volgens een schema of door activiteit in een database, systeem, service of SaaS.

Logic Apps en Power Automate met Dataverse.

Deze werkstromen kunnen logica uitvoeren en met deze systemen communiceren via de honderden connectoren naar databases, PaaS en SaaS.

Wanneer bijvoorbeeld een rij wordt toegevoegd aan een relationele database, zoals SQL, kan dit een workflow activeren die deze gegevens in Dataverse kan invoegen.

Met de mogelijkheid om met Open API-definities (voorheen bekend als Swagger) aangepaste connectoren te maken voor een service, is het ook eenvoudig om services, functies en code op te nemen die worden uitgevoerd in IaaS en Azure Kubernetes Service (AKS).

Dataverse integreren in apps met de OData-API

Alle populaire programmeertalen ondersteunen een vorm van integratie met op REST gebaseerde API's.

Dataverse met de OData-API.

De web-API van Dataverse biedt een ontwikkelingservaring die voor een groot aantal verschillende programmeertalen, platforms en apparaten kan worden gebruikt. De web-API implementeert OData (Open Data-Protocol), versie 4.0, een OASIS-standaard voor het bouwen en gebruiken van RESTful API's via uitgebreide gegevensbronnen. U kunt meer over dit protocol lezen op www.odata.org. Zie voor meer informatie over deze standaard www.oasis-open.org.

Dataverse heeft een "API first"-benadering. Dit betekent dat de service niet alleen een mechanisme biedt om gegevens op te vragen, maar ook metagegevens van de service levert over bedrijfsregels, beperkingen enzovoort, die u kunt gebruiken om intelligente, responsieve apps en services te bouwen.

De API is beveiligd met OAuth. Voor OAuth is een idtable-provider voor verificatie vereist. Voor Dataverse is de idtable-provider: Microsoft Entra ID. Als u verificatie met Microsoft Entra wilt uitvoeren door een werk- of schoolaccount van Microsoft te gebruiken, gebruikt u de Microsoft Authentication Libraries (MSAL).

Voor meer informatie over het werken met de Dataverse-web-API leest u De Dataverse-web-API gebruiken.

Meer informatie over het gebruik van de Dataverse-web-API met OAuth vindt u in OAuth gebruiken met Dataverse.

Invoegtoepassingen

De Dataverse biedt de mogelijkheid om code te schrijven die tussen de API en de gegevens zit. Deze code, geschreven in .NET, wordt een invoegtoepassing genoemd. Omdat de invoegtoepassing zich tussen de API en de gegevens bevindt, wordt voor elke app dezelfde logica afgedwongen.

Invoegtoepassingen kunnen synchroon of asynchroon zijn en de volgende taken uitvoeren:

  • Fouten teruggeven aan de gebruiker.

  • Dataverse-gegevens opvragen om logica te evalueren.

  • Gegevensbewerkingen uitvoeren.

  • Uitgaande HTTP-verzoeken uitvoeren.

Invoegtoepassingen worden geregistreerd op punten in de gebeurtenispijplijn, die hier worden geïllustreerd.

Plug-in event pipeline

In de gebeurtenispijplijn kunnen de volgende gebeurtenissen plaatsvinden:

  • Verzoeken en Responsen kunnen zijn onderzocht en afgekeurd of bewerkt in verschillende stappen van de gebeurtenispijplijn.

  • Validatie-handlers kunnen aangepaste uitzonderingen genereren om bewerkingen te weigeren die volgens uw logica ongeldig zijn.

  • Handlers voor bewerking kunnen verzoeken wijzigen vóór de databasebewerking.

  • Handlers na bewerking kunnen responsen wijzigen.

  • Asynchrone handlers voeren automatisering uit nadat de respons is geretourneerd.

Een beperking van invoegtoepassingen is dat ze op zichzelf moeten staan. Als integratiecode verwijzingen naar andere bibliotheken vereist, kan integratie worden gedaan met behulp van Azure Functions.

Azure Functions

Azure Functions biedt een optie voor het uitvoeren van code zonder server voor bedrijfs- en integratielogica.

Dataverse met Azure Functions.

Functies worden geactiveerd door een oproep van een extern systeem, service of code. Voor Dataverse kan die trigger rechtstreeks uit Dataverse komen via Service Bus, een webhook of een aanroep vanuit een invoegtoepassing. Bovendien kan de Azure Functions-aanroep worden gestart via een stroom in Logic Apps of Power Automate waarbij de Dataverse-connector wordt betrokken.

Meer informatie: Invoegtoepassingen gebruiken om bedrijfsprocessen uit te breiden

Notitie

Laat ons uw taalvoorkeuren voor documentatie weten! Beantwoord een korte enquête. (houd er rekening mee dat deze in het Engels is)

De enquête duurt ongeveer zeven minuten. Er worden geen persoonlijke gegevens verzameld (privacyverklaring).