DevelopmentHoe een event-based platform verrijkt wordt met Power Platform

Fusion development, Event-based architectuur en Office 365 : a love story 

Leer hoe je het maximale uit het Power Platform kunt halen door gebruik te maken van een schaalbaar event-driven platform, zoals beschreven in het Azure Architecture Center van Microsoft Learn. Ontdek de mogelijkheden om naadloos te integreren en waarde toe te voegen aan je workflow.

development

Berichten (events en messages) worden op verschillende queues en/of topics gezet, die kunnen worden gelezen door applicaties met een abonnement hierop. De architect heeft hiervoor gekozen, om de gebeurtenissen en de verwerking te ontkoppelen. Hierdoor is het mogelijk om bij verschillende gebeurtenissen meerdere ver- en bewerkingen te laten plaatsvinden. Dit biedt de flexibiliteit om het platform uit te breiden met zelfstandige draaiende, onafhankelijke processen en zelfs extra functionaliteit te bieden.

Dit gaat verder dan alleen de cloudoplossing zelf. Ook koppelingen met andere platformen, zoals het Power Platform, zijn mogelijk. 

Om wat inspiratie te geven noem ik wat voorbeelden van toepassingen: het versturen van een bevestigingsemail na een aanvraag, of de integratie met een extern systeem door middel van een bevestiging via een API naar een SAAS-partij te sturen. 

Dit alles kan worden ontwikkeld en beheerd door citizen developers.

Met welke Azure resource types hebben we te maken? 

Om een event-based/message-based architectuur te faciliteren biedt Azure de volgende resource types: 

Azure service bus: faciliteert de werking van message based services (microservices) 

Azure event hub: faciliteert het beschikbaar stellen van berichten voor subscribers 

Azure event grid: faciliteert het sturen van berichten naar subscribers  

Welke Power Platform applicaties bieden deze mogelijkheden? 

Op het Power Platform kan door middel van connectoren verbinding worden gemaakt met bovenstaande resource types.  

Onderstaande tabel geeft de beschikbaarheid van de connectoren aan: 

Alle koppelingen zijn mogelijk, behalve dat een Event Grid (nog) niet te koppelen is met een Power App. 

beschikbaarheid van de connectoren

Voordat je los gaat 

Voor verschillende uitbreidscenario’s zijn verschillende berichttypes nodig. Dus check voordat je een oplossing wilt toevoegen, of er vanuit het platform het goede berichttype wordt geleverd. Check ook of de berichten exclusief en alleen aan jou worden verstrekt, of dat er meerdere ‘geïnteresseerden’ (subscribers) actief zijn.  

Het ene event is het andere niet: het verschil tussen events en messages 

Events

Een event is een bericht dat informeert dat er iets heeft plaatsgevonden. De data-context ontbreekt hierbij, wat betekent dat dit bewust geen onderdeel uitmaakt van het bericht. De publisher verwacht dat de subscriber kennis heeft hoe hij met de informatie om kan gaan en waar hij de data vandaan kan halen. Een voorbeeld van een toepassing is: een notificatie e-mail naar een persoon. 

Messages 

Een message bevat de data over een gebeurtenis in een vorm dat bekend is bij de subscriber. Een voorbeeld van een toepassing is: een service dat data vastlegt (opslaat). 

Het verschil tussen een queue en een topic 

Een queue bedient één van tevoren vastgestelde subscriber. Het bericht wordt afgeleverd bij deze subscriber die weet wat hij ermee moet doen. 

Een topic bevat (of kan) meerdere subscribers bedienen. Subscribers pollen of er nieuwe berichten zijn. Hierdoor is er ook geen aflevergarantie. Is dit wel nodig voor het proces, dan is dit niet de juiste route van integratie. 

Beveiliging en connectoren 

Om een verbinding te maken, dien je op het Power Platform een connectie te configureren met de juiste connector.  

Voorbeeld van een Power Automate flow

Figuur 1: voorbeeld van een Power Automate flow

Uiteraard kan niet iedereen de berichten gebruiken, dus is dit beveiligd. Je hebt een access key nodig die wordt verstrekt vanuit de configuratie van de specifieke Azure Resource.

Voorbeeld van de connection met de access key

Figuur 2: voorbeeld van de connection met de access key

Samenvatting van belangrijke punten

Een succesvolle integratie van een cloud platform en het Power Platform stelt eisen aan de inrichting van de message types en cloud resources.

  • Kijk goed of je je rol als subscriber goed kan vervullen
  • Verwissel een event en een message niet
  • Er is een reden waarom het platform gekozen heeft voor de specifieke message resource in Azure. (Azure event hub, Azure event grid. Azure service bus) Respecteer de ontwerpkeuzes van de platform engineers en probeer niet een toepassing te maken, dat niet door de juiste message resource wordt ondersteund.

Succes!

Heb je hulp nodig bij het ontwikkelen van een event-based architectuur en/of het bouwen van uitbreidingen op het Power Platform: Delta-N helpt!

 

  • Wil jij ook dagelijks Mederne Applicaties bouwen? Bekijk vacatures!