Delen via


Integratiepatronen verkennen

Op basis van uw analyse plant u de integratie en identificeert u het beste patroon voor uw vereisten. De volgende lijst met integratiepatronen is niet volledig. Mogelijk vindt u dat een combinatie van deze patronen het beste bij uw scenario past.

Elk patroon heeft betrekking op specifieke bedrijfsscenario's en technische beperkingen:

  • Direct triggerpatroon: dit patroon geeft aan hoe gebruikers met systemen communiceren. Een door de gebruiker gestuurde actie activeert een vooraf gedefinieerde reeks acties.
  • Gebeurtenisgestuurd patroon: dit patroon vereist een automatische trigger, zoals een reactie op gebeurtenissen die plaatsvinden in een bepaald systeem.
  • Patroon gegevensconsolidatie: dit patroon is essentieel voor organisaties met meerdere beheersystemen die een volledig beeld van hun gegevens in hun verschillende systemen vereisen.
  • Servicegeoriënteerd architectuurpatroon: Dit patroon omvat doorgaans meerdere stromen in systemen, waardoor modulaire, schaalbare integratie in complexe omgevingen mogelijk is.
  • Synchronisatiepatroon: met dit patroon worden gegevens gesynchroniseerd in verschillende databases en worden de prestatie- en regelgevingsvereisten aangepakt.

Patroon van directe triggers

Het directe triggerpatroon is gebruikersgestuurd en intuïtief. Er wordt een integratiestroom gestart wanneer een gebruiker een actie uitvoert, zoals het drukken op een knop in een Power App. Dit patroon is ideaal voor scenario's waarbij gegevens op aanvraag nodig zijn en niet continu.

Voorbeeldscenario

Met een Power App kunnen productmanagers feedback van klanten bekijken en actieplannen maken. Sommige technische specificaties worden opgeslagen in het productlevenscyclusbeheersysteem van Oracle. In plaats van de hele gegevensset naar Dataverse te kopiëren, bevat de app een knop om gegevens op te halen wanneer dat nodig is.

Redenen om te integreren in plaats van gebruikers om te leiden naar Oracle zijn onder andere:

  • Slechte gebruikerservaring
  • Beveiligingsproblemen
  • Licentiekosten

Gezien de kosteneffectiviteit van Power Platform-integraties kan een van deze redenen de implementatie rechtvaardigen.

Flow-ontwerp

Gebruik een directe cloudstroom die wordt geactiveerd door een knop in de toepassing.

In dit diagram ziet u het patroon Directe trigger, waarbij een door de gebruiker geïnitieerde actie gegevens ophaalt uit een extern systeem en deze naar Dataverse schrijft:

Diagram met een door knop geactiveerde stroom met stappen voor het ophalen van Oracle-gegevens, het terugsturen naar de app en het schrijven naar Dataverse.

De stroom bevat de volgende stappen:

  1. Records opvragen uit Oracle met behulp van parameters (zoals Product-ID) die door de app worden geleverd.
  2. Records retourneren van Oracle naar de app.
  3. Gegevens opslaan in Dataverse.

Deze gegevens worden vervolgens weergegeven in de Power Apps-interface.

Overwegingen:

  • Gegevensmodellen tussen Oracle en Dataverse kunnen verschillen, wat transformatiestappen vereist.
  • Onmiddellijke triggers zijn niet echt onmiddellijk. De uitvoeringstijd is afhankelijk van de complexiteit van de systeem beschikbaarheid en transformatie.
  • Voeg visuele indicatoren toe in de app om de voortgang weer te geven en annulering toe te staan als de bewerking te lang duurt.
  • In grote organisaties kunnen gelijktijdige aanvragen van veel gebruikers het systeem belasten.
  • Integraties kunnen om verschillende redenen mislukken. Zorg ervoor dat de app tijdens de uitvoering feedback geeft aan gebruikers. Vermijd scenario's waarbij gebruikers een knop selecteren en geen antwoord ontvangen, wat leidt tot een slechte gebruikerservaring.

Gebeurtenisgestuurd patroon

Gebeurtenisgestuurde architecturen (ook wel automatische trigger genoemd) reageren op wijzigingen in systemen zonder directe gebruikersinteractie. Triggers kunnen bijvoorbeeld worden geconfigureerd om te reageren op een record die is gemaakt in Dataverse, binnenkomende e-mailberichten, bestanden die zijn toegevoegd aan OneDrive en een willekeurig aantal andere gebeurtenissen. Dit patroon is intuïtief en schaalbaar, waardoor het ideaal is voor het automatiseren van bedrijfsprocessen op basis van systeemevenementen.

Voorbeeldscenario

Een klantenserviceafdeling maakt gebruik van een dataverse-verbonden app om aan cases te werken en automatisch updates te bieden aan klanten, zonder handmatig e-mailberichten te schrijven. Alleen specifieke wijzigingen, zoals het toevoegen van een notitie of het wijzigen van de status, moeten meldingen activeren.

Gebruik een automatische trigger in Power Automate om op deze gebeurtenissen te reageren. De stroom luistert naar wijzigingen in Dataverse-records en verzendt meldingen wanneer aan gedefinieerde voorwaarden wordt voldaan.

In dit diagram ziet u het automatische triggerpatroon, waarbij wijzigingen in Dataverse automatisch downstreamacties initiëren die klanten bijwerken met de relevante case-informatie:

Schermafbeelding van Power Automate stroomconfiguratie met triggerinstellingen voor het controleren van wijzigingen in Dataverse-records.

Triggerconfiguratie

Configureer de stroom als volgt:

  • Geef het type wijziging aan dat moet worden bewaakt.
  • Definieer de kolommen om op te reageren met behulp van de parameter Kolommen selecteren .
  • Gebruik de parameter Rijen filteren om ervoor te zorgen dat alleen klantgerichte statuswijzigingen de stroom activeren, plus eventuele extra filtratie-eisen.

Vermijd het implementeren van deze logica in de stroom zelf met behulp van een If actie. Gebruik triggerparameters om onnodige uitvoeringen te verminderen en de prestaties te verbeteren.

Logische conflicten voorkomen

Evalueer de gebeurtenislogica om onbedoeld gedrag te voorkomen:

  • Vermijd lussen waarbij een gebeurtenis een actie activeert die dezelfde gebeurtenis opnieuw activeert.
  • Voorkom dat meerdere updates snelle, herhaalde meldingen veroorzaken.
  • Ontwerp processen om edge cases te behandelen en overmatige uitvoeringen te voorkomen.

Overwegingen voor volume en frequentie

Inzicht in het verwachte volume van geactiveerde gebeurtenissen. Meldingsservices (e-mail, sms en andere) beperken het aantal berichten dat u in een bepaald tijdsbestek kunt verzenden.

  • Schat het aantal gebeurtenissen per dag of maand.
  • Implementeer beperkings- of snelheidsbeperkingsmechanismen.
  • Bereid een risicobeperkingsplan voor op onverwachte pieken in de gebeurtenisfrequentie.

Gegevensconsolidatiepatroon

Gegevensconsolidatie (ook wel geplande trigger genoemd) helpt organisaties bij het samenvoegen van informatie over meerdere systemen ter ondersteuning van rapportage- en operationele processen. Analyse vereist vaak volledige gegevenssets, maar operationele use cases zijn gericht op het ophalen van alleen de gegevens die nodig zijn om zakelijke taken uit te voeren.

Voorbeeldscenario

Een bedrijf gebruikt drie verouderde systemen voor het beheren van kernfuncties: SAP voor orders en debiteuren, Oracle voor productinventaris en IBM voor klantgerelateerd inhoudsbeheer. De organisatie heeft een nieuwe Power Platform-app in opdracht gegeven om AI te gebruiken om de volgende beste actie voor elke klant te voorspellen op basis van historische gegevens. De app moet relevante informatie van alle drie de systemen verzamelen en een verkoopactieplan genereren voor verkoopmanagers om betrokkenheid te begeleiden.

Integratiebenadering

Voor de integratie zijn geen realtime updates of gebeurtenisgestuurde triggers vereist. Gebruik in plaats daarvan een gepland proces op basis van hoe vaak verkoopmedewerkers communiceren met klanten.

In dit gebruiksscenario voegt een geplande trigger gegevens als volgt samen:

  • Alleen de benodigde gegevens van elk systeem aanvragen
  • Retourneert de gegevens in een indeling die compatibel is met Dataverse
  • Uploadt de gegevens naar het AI-model voor analyse

Dit diagram illustreert het geplande patroon voor gegevensconsolidatie, waarbij een terugkerend proces informatie van meerdere systemen verzamelt en de gecombineerde gegevensset uploadt naar Dataverse:

Diagram van gegevensintegratie met behulp van een gepland proces om informatie van drie verouderde systemen te combineren voor ai-gestuurde verkoopaanbeveling.

Configuratie van geplande triggers

Geplande triggers bieden flexibele terugkeeropties, van één keer per seconde tot één keer per jaar. Ze zijn voorspelbaar in timing, maar kunnen onvoorspelbaar worden in volume als de gegevensomvang toeneemt of de groei de verwachtingen overstijgt.

  • Workflow-uitvoeringstijd bewaken om overlappen of vertragingen te voorkomen
  • Beveiligingen implementeren om prestatievermindering te voorkomen
  • Gebruik Application Insights of vergelijkbare hulpprogramma's om ervoor te zorgen dat de uitvoering consistent verloopt.

Risicobeperking

Als een geplande stroom langer duurt dan verwacht, kan dit bedrijfsprocessen verstoren. Een workflow die is ontworpen om elke 10 minuten uitgevoerd te worden, kan bijvoorbeeld mislukken als het langer dan 10 minuten duurt om te voltooien.

  • Runtime bewaken en waarschuwingen instellen voor afwijkingen
  • Schaalbaarheid plannen naarmate het gegevensvolume toeneemt
  • Zorg ervoor dat de stroomstatus zichtbaar is om onopgemerkte fouten te voorkomen

Servicegeoriënteerd integratiepatroon

Grote organisaties gebruiken vaak meerdere systemen binnen afdelingen. Deze systemen zijn afhankelijk van elkaar voor het voltooien van bedrijfsprocessen. De integratielaag overbrugt deze systemen, waardoor elk de kernfunctie kan uitvoeren en tegelijkertijd communicatie tussen systemen mogelijk maakt.

Voorbeeldscenario opnieuw bekeken

Laten we doorgaan met ons voorbeeldscenario waarin de organisatie meerdere systemen gebruikt om verschillende onderdelen van het bedrijf te beheren. SAP verwerkt orders en debiteuren, Oracle beheert productinventaris en IBM slaat interne financiële documentatie op. Dataverse voert apps uit voor verkoop, klantenservice en productbeheer. SharePoint ondersteunt interne samenwerking en knowledge base-beheer, terwijl Maersk-API's logistieke processen automatiseren.

Dit diagram illustreert het gebeurtenisgestuurde patroon in een landschap met meerdere systemen, waarbij updates in verschillende bedrijfssystemen geautomatiseerde stromen activeren die gegevens en acties tussen deze systemen coördineren:

Diagram met integratiearchitectuur met meerdere systemen die zijn gekoppeld via specifieke triggers voor bedrijfsprocessen.

Elk systeem communiceert met anderen via geplande gebeurtenissen of handmatige gebruikersacties. Er is geen enkele stroom die alle gebruiksvoorbeelden dient. In plaats daarvan vereist de oplossing meerdere stromen die zijn afgestemd op specifieke triggers en bedrijfsprocessen.

Monolithische stromen vermijden

Het maken van één grote stroom voor het afhandelen van alle integraties is niet praktisch. Het introduceert prestatie-, beveiligings- en onderhoudsproblemen. Alternatief:

  • Modulaire stromen bouwen voor elke trigger en elk proces
  • Processen optimaliseren voor specifieke gebruiksscenario's
  • Het integratielandschap schalen met beheerbare onderdelen

Processen voor meerdere systemen optimaliseren

Zoek waar nodig naar mogelijkheden om logica samen te voegen. Als een document in SharePoint bijvoorbeeld tijdens dezelfde gebeurtenis naar ZOWEL SAP als Oracle moet worden verzonden, is het misschien verleidelijk om één stroom te maken waarmee het bestand eenmaal wordt gelezen en naar beide systemen wordt geschreven. Overweeg echter eerst of de logica die u maakt te stijf is. In een groot landschap worden wijzigingen aangebracht in de werking van bedrijfsprocessen in systemen, net zo vaak als wijzigingen in die systemen.

Vermijd overconsolidatie. Bedrijfsprocessen en systeemconfiguraties veranderen regelmatig. Starre, gecentraliseerde logica vermindert flexibiliteit en verhoogt de onderhoudsoverhead.

Ontwerp stromen die het volgende zijn:

  • Modulair en onderhoudbaar
  • Schaalbaar tussen afdelingen en systemen
  • Tolerant voor wijzigingen in bedrijfslogica en systeemgedrag

Dit patroon resulteert in een servicegeoriënteerde architectuur, soms humoristisch 'spaghettiarchitectuur' genoemd, waarbij systemen worden verbonden door goed gedefinieerde, doelbewuste stromen.

Gegevenssynchronisatiepatroon

Gebruik gegevenssynchronisatie wanneer identieke systemen gegevens opslaan in afzonderlijke databases. Hoewel het opslaan van dezelfde gegevens twee keer inefficiënt kan lijken, ondersteunt dit patroon specifieke bedrijfsbehoeften, zoals prestaties en naleving van regelgeving.

  • Prestaties: lokale gegevenstoegang verbetert de reactiesnelheid, met name in latentiegevoelige branches.
  • Naleving: Wettelijke voorschriften kunnen vereisen dat gegevens binnen nationale grenzen worden opgeslagen. Organisaties implementeren vaak lokale exemplaren met synchronisatieprocessen om aan deze vereisten te voldoen.

Voorbeeldscenario

Een bedrijf voor medische apparaten werkt in meerdere regio's in Europa, in samenwerking met lokale medische instellingen. De wetten van elke regio zijn duidelijk over medische gegevens: deze moeten worden opgeslagen binnen de grenzen van die regio. Informatie over bestellingen, producten en verzending kan grensoverschrijdend worden opgeslagen. Om aan de wettelijke vereisten te voldoen, heeft het bedrijf in elke regio een exemplaar van hun Power Platform-klantbeheer-app en Dataverse gemaakt.

Ter ondersteuning van verkoopactiviteiten wil het bedrijf niet-gevoelige gegevens synchroniseren, zoals contactgegevens, orders en verzending, in alle exemplaren. Medische gegevens worden uitgesloten van synchronisatie.

Integratiebenadering

Gebruik een automatische cloudstroom die wordt geactiveerd door updates voor de accountrecord. Filters configureren voor:

  • Alleen toegestane velden bewaken
  • Synchronisatie van beperkte gegevens voorkomen

Deze aanpak resulteert in een gerichte, gebeurtenisgestuurde integratie die naleving en operationele efficiëntie ondersteunt.

Dit diagram illustreert het gebeurtenisgestuurde synchronisatiepatroon, waarbij updates in de ene Dataverse-omgeving automatisch overeenkomende updates activeren in een andere:

Diagram van een gebeurtenisgestuurde integratie met volume- en frequentievariaties op basis van accountupdates waarop filters zijn toegepast.

Verwachtingen voor reactietijd

Stel realistische verwachtingen in voor synchronisatiesnelheid. Power Automate is asynchroon en garandeert geen realtime prestaties. Als zakelijke gebruikers onmiddellijke beschikbaarheid van gegevens verwachten, verduidelijken ze vroeg in het ontwerpproces beperkingen.

  • Evalueren of Power Automate voldoet aan de prestatiebehoeften
  • Vermijd overdadige engineering voor realtime toegang, tenzij dit wordt gerechtvaardigd door bedrijfsvereisten

Veel verzoeken om realtime toegang hebben geen sterke zakelijke rechtvaardiging. Prioriteit geven aan duidelijkheid, schaalbaarheid en onderhoudbaarheid in het integratieontwerp.

Voorbij cloudstromen

Wanneer u een integratiehulpprogramma selecteert, begint u met Power Automate als de standaardoptie. Kosteneffectiviteit biedt ongeëvenaarde voordelen voor zowel ontwikkeling als onderhoud.

Power Automate is het hulpprogramma voor integratie van voorkeur voor veel scenario's, omdat dit het volgende doet:

  • Biedt snelle ontwikkeling met connectors met weinig code
  • Minimaliseert langetermijnonderhoudskosten
  • Ondersteunt een breed scala aan triggers en systemen
  • Schaalt goed voor de meeste bedrijfsscenario's

Aangepaste code, Azure Functions, Data Factory of Service Bus bieden mogelijk meer controle of betere prestaties, maar ze voegen complexiteit en kosten toe. Gebruik deze opties alleen als Power Automate niet voldoet aan uw zakelijke of technische behoeften.

Diagram van een integratiewerkstroom met Power Automate connectors die gegevens verzamelen en Azure Functions berekeningen uitvoeren.

Voorbeeldscenario

Een onlinebankierservice wil klanten sneller kwalificeren voor leningen. Het kwalificatieproces omvat complexe berekeningen en het ophalen van gegevens uit meerdere systemen om een uiteindelijke risicoscore te bereiken. Na een eerste evaluatie beschouwde de bankdienst cloudverwerking als ongeschikt, gezien de complexiteit van de berekeningen.

In dit geval is een hybride benadering echter het antwoord:

  • Power Automate voor het verwerken van gegevensverzameling met ingebouwde connectors
  • Complexe berekeningen ingekapseld in aangepaste code die wordt uitgevoerd als een Azure Functie, die onafhankelijk kan worden geschaald of in een aangepaste connector

Met deze hybride benadering worden de prestaties, schaalbaarheid en kosten in balans gebracht.

Integratiestrategie

Kies geen hulpprogramma's afzonderlijk. Combineer in plaats daarvan hun sterke punten. Voorbeeld:

  • Power Automate gebruiken voor indeling en connectiviteit
  • Gebruik Azure Functions voor rekenintensieve taken
  • Aangepaste connectors gebruiken om de functionaliteit uit te breiden wanneer dat nodig is

Elke integratiebeslissing moet rekening houden met de totale eigendomskosten. Aangepaste oplossingen lijken misschien krachtig, maar vereisen vaak een groter budget voor ontwikkeling, licenties en ondersteuning. Rechtvaardig hogere kosten met duidelijke bedrijfswaarde.