Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Microsoft Dataverse biedt meerdere manieren om te integreren in elk type app (mobiel, web, desktop), apparaat, systeem of service. Voor cloudoplossingen zijn er manieren om te integreren, ongeacht het model waarin uw oplossing wordt geïmplementeerd: Infrastructure as a Service (IaaS), Platform as a Service (PaaS) of SaaS (Software as a Service). Voor IaaS-oplossingen werkt de integratiebenadering ook goed als oplossingen binnen containers worden uitgevoerd.
In sommige gevallen kan integratie met een app worden bereikt met behulp van bedrijfslogica in Dataverse. In andere gevallen gaat het om integratie via gebeurtenissen, de Dataverse OData-API of het gebruik van invoegtoepassingen.
Bedrijfslogica definiëren
Tabellen in Dataverse kunnen gebruikmaken van uitgebreide logica en validatie aan de serverzijde om gegevenskwaliteit te garanderen en terugkerende code te verminderen in elke app die gegevens in een tabel maakt en gebruikt.
Bedrijfsregels: Valideer gegevens in meerdere kolommen en tabellen en geef waarschuwings- en foutberichten op, ongeacht de app die wordt gebruikt om de gegevens te maken. Meer informatie: Een bedrijfsregel voor een tabel maken
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 tussenkomst van de gebruiker. Meer informatie: Klassieke Dataverse-werkstromen
Bedrijfslogica met code: ondersteunt geavanceerde scenario's voor ontwikkelaars om de app rechtstreeks via code uit te breiden. Meer informatie: Bedrijfslogica toepassen met behulp van code
Integreren met apps met behulp van gebeurtenissen
Een algemene benadering van app-integratie is door gebruik te maken van 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 een actie kan worden ondernomen. Als er bijvoorbeeld een nieuwe ondersteuningsaanvraag is gegenereerd, kan er een sms-bericht worden verzonden naar het toegewezen ondersteuningspersoneel.
Deze interactiviteit kan ook in omgekeerde richting optreden: een update in een extern systeem kan ertoe leiden dat gegevens worden toegevoegd, bijgewerkt of verwijderd uit een Power Platform-omgeving.
De populairste benaderingen in Dataverse zijn webhooks, Azure Messaging (Service Bus, Event Hubs), Azure Logic Apps of Power Automate.
Webhooks
Met Dataverse kunt u gegevens verzenden over gebeurtenissen die in de service plaatsvinden naar een web-app met behulp van webhooks. 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.
Met Webhooks kunnen ontwikkelaars en ISV's Dataverse-gegevens 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 voor handtekeningen voor gedeelde toegang 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 schakelen synchrone en asynchrone stappen in.
Webhooks verzenden POST-aanvragen met de JSON-nettolading en kunnen overal worden gebruikt door elke programmeertaal of web-app die wordt gehost.
Webhooks kunnen worden aangeroepen vanuit een invoegtoepassing of aangepaste werkstroomactiviteit.
Azure Service Bus (een cloud-gebaseerde berichtendienst van Microsoft)
Service Bus biedt een veilig en betrouwbaar communicatiekanaal tussen Dataverse-runtimegegevens en externe line-of-business-apps in de cloud. Deze mogelijkheid is vooral handig om verschillende Dataverse-systemen of andere Dataverse-servers gesynchroniseerd te houden met wijzigingen in bedrijfsgegevens.
De volgorde van gebeurtenissen is als volgt:
Een listener-app is geregistreerd op een Service Bus-oplossingseindpunt en luistert actief naar de context van de externe uitvoering van Dataverse in de service bus.
Een gebruiker voert een bewerking uit in Dataverse die de uitvoering activeert van de geregistreerde out-of-the-box-invoegtoepassing of een aangepaste Azure-compatibele invoegtoepassing. 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 gepost, worden geverifieerd. Service Bus stuurt vervolgens de context van de externe uitvoering door naar de listener. De listener verwerkt de contextinformatie en voert een zakelijke taak uit met die informatie. Service Bus informeert de asynchrone service over een geslaagde plaatsing en stelt de status van de gerelateerde systeemtaak in op Voltooid.
Service Bus stuurt de context van de aanvraagberichtgegevens tussen Dataverse en de listener-apps van de Service Bus-oplossing door. Service Bus biedt ook gegevensbeveiliging, zodat alleen geautoriseerde apps toegang hebben tot de geplaatste Dynamics 365-gegevens. Autorisatie van Dataverse om de gegevenscontext naar Service Bus te posten en voor luistertoepassingen om deze te lezen, wordt beheerd door Azure gedeelde toegangshandtekeningen.
Meer informatie: Service Bus - en Service Bus-verificatie en -autorisatie
Logic Apps en Power Automate
Logic Apps, aangeboden via Azure en Power Automate, aangeboden via Microsoft Power Platform, kan een werkstroom activeren die kan worden gebruikt om te integreren met toepassingsevenementen en -gegevens volgens een planning of op activiteit in een database, systeem, service of SaaS.
Deze werkstromen kunnen logica uitvoeren en met deze systemen communiceren met behulp van de honderden connectors voor databases, PaaS en SaaS.
Wanneer bijvoorbeeld een rij wordt toegevoegd aan een relationele database, zoals SQL, kan dit een werkstroom activeren waarmee deze gegevens in Dataverse kunnen worden ingevoegd.
Met de mogelijkheid om aangepaste connectors te maken met behulp van Open API-definities (voorheen Swagger) 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.
De Dataverse-web-API biedt een ontwikkelervaring die kan worden gebruikt in een groot aantal programmeertalen, platforms en apparaten. 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. Meer informatie over dit protocol vindt u op www.odata.org. Zie www.oasis-open.orgvoor meer informatie over deze standaard.
Dataverse hanteert een 'API first'-benadering. Dit betekent dat de service niet alleen een mechanisme biedt voor het opvragen van gegevens, maar ook metagegevens van de service over bedrijfsregels, beperkingen, enzovoort, die u kunt gebruiken om intelligente, responsieve apps en services te bouwen.
De API wordt beveiligd met behulp van OAuth. OAuth vereist een idtable provider voor verificatie. Voor Dataverse is de idtable leverancier Microsoft Entra ID. Als u wilt verifiëren met Microsoft Entra met behulp van een Werk- of schoolaccount van Microsoft, gebruikt u de Microsoft Authentication Libraries (MSAL).
Zie De Dataverse-web-API gebruiken voor meer informatie over het aan de slag gaan met de Dataverse-web-API.
Voor meer informatie over het gebruik van de Dataverse-web-API met OAuth, zie OAuth gebruiken met Dataverse.
Plug-ins
Dataverse biedt de mogelijkheid om code te schrijven die zich tussen de API en de gegevens bevindt. Deze code, geschreven in .NET, wordt een invoegtoepassing genoemd. Omdat de invoegtoepassing zich tussen de API en de gegevens bevindt, dwingt deze dezelfde logica af voor elke app.
Invoegtoepassingen kunnen synchroon of asynchroon zijn en de volgende taken uitvoeren:
Fouten retourneren aan de gebruiker.
Voer een query uit op Dataverse-gegevens om logica te evalueren die moet worden uitgevoerd.
Gegevensbewerkingen uitvoeren.
Uitgaande HTTP-aanvragen uitvoeren.
Invoegtoepassingen worden geregistreerd op punten in de gebeurtenispijplijn, die hier worden geïllustreerd.
In de gebeurtenispijplijn kunnen de volgende gebeurtenissen optreden:
Aanvragen en antwoorden kunnen in verschillende stappen van de gebeurtenispijplijn worden onderzocht en geweigerd of gemanipuleerd .
Validatiehandlers kunnen aangepaste uitzonderingen genereren om bewerkingen te weigeren die door uw logica als ongeldig worden beschouwd.
Pre-bewerkingshandlers kunnen aanvragen wijzigen vóór de databasebewerking.
Handlers na bewerking kunnen antwoorden wijzigen.
Asynchrone handlers voeren automatisering uit nadat het antwoord is geretourneerd.
Eén beperking met invoegtoepassingen is dat ze zelfstandig moeten zijn. Als integratiecode verwijzingen naar andere bibliotheken vereist, kan de integratie worden uitgevoerd met behulp van Azure Functions.
Azure Functions (serverloze computerdiensten van Azure)
Azure Functions biedt een optie voor het uitvoeren van serverloze code voor bedrijfs- en integratielogica.
Functies worden geactiveerd door een aanroep van een extern systeem, een service of code. Voor Dataverse kan die trigger rechtstreeks afkomstig zijn van Dataverse met behulp van Service Bus, een webhook of een aanroep vanuit een invoegtoepassing. Daarnaast kan de Azure Functions-aanroep worden gestart via een stroom in Logic Apps of Power Automate waarbij de Dataverse-connector is betrokken.
Meer informatie: Invoegtoepassingen gebruiken om bedrijfsprocessen uit te breiden