Voeg met Azure SignalR realtime webfunctionaliteit toe

In deze blog wil ik jullie meenemen in een Azure Service genaamd Azure SignalR Service. Azure SignalR Service is een service waarmee je eenvoudig realtime webfunctionaliteit toevoegt aan een applicatie.

 

Webapplicaties

Webapplicaties zijn vaak zo ingericht dat ze reageren op de vraag van een gebruiker. Denk maar eens aan een webshop. Je zoekt een product, je stopt het in je mandje en je rekent het af. Telkens zijn het acties die de gebruiker initieert. In dit soort gevallen doe je directe aanvragen vanuit de webbrowser naar de server die hier op zijn beurt weer op reageert.

De server genereert bijvoorbeeld het zoekresultaat en geeft deze vervolgens terug. Het product wat in het mandje zit wordt opgeslagen op de server, enzovoort, enzovoort.

Maar wat als de webapplicatie informatie moet tonen die als een reactie van de server of achterliggende services komen? Denk bijvoorbeeld aan een chat applicatie waarbij een gebruiker online komt. Als jij als gebruiker bent ingelogd, is dit niet direct een actie die van jou komt. De actie komt vanuit de server die het signaal moet geven -er is een nieuwe gebruiker op de chat ingelogd-.

 

Keuze in ontwikkelarchitecturen

In zo’n geval kun je ervoor kiezen als ontwikkelaar om ééns in de zoveel tijd een aanvraag naar de server doen en zien of er nieuwe mensen online zijn gekomen. Het nadeel hiervan is dat het niet direct een live verbinding is. Maar dit laatste is ook een erg gevaarlijke keuze in de architectuur. Want wat als 1000 gebruikers deze aanvraag naar de server doen? Een SQL server raakt dan snel overbelast, met alle ellende die daar bij komt kijken.

 

Azure SignalR Service

Azure SignalR Service is een service die gebruik maakt van de voordelen van websockets in HTML5.  Een websocket is een deurtje wat open wordt gezet rechtstreeks naar de server. Hierdoor geeft de server, zoals de naam het al zegt, een signaal aan de gekoppelde webbrowser dat er iets is veranderd of zelfs een pakketje meegeven met de veranderingen. Vervolgens kunnen deze gegevens visueel in de browser bijgewerkt worden. Hier hebben we het alleen over de browser. Maar de implementatie kan ook voor andere toepassingen zijn, zoals een desktop applicatie of een mobiele toepassing, maar je kunt er ook live gegevens mee integreren.

 

Een voorbeeld

Stel, je hebt een dashboard met kritische informatie. Bijvoorbeeld de status van een lijst van servers die monitort of ze online zijn of niet. Het proces wat de servers controleert kan in een CosmosDB zijn bevindingen weg schrijven. Vervolgens kun je via een Azure Function (klein stukje server loze code)  de wijziging aan de Azure signalR service doorgeven. Vervolgens kan de webbrowser het dashboard updaten.

 

Hieronder zie je hoe Azure SignalR service er in zo een geval onder de motorkap uitziet:

azure signalr

 

Waarom Azure SignalR gebruiken?

Je kunt ongetwijfeld andere implementatiemogelijkheden van SignalR vinden die je in jouw webapplicatie gebruikt.

Wat Azure SignalR nou zo mooi maakt is dat je het integreert met andere services van Azure. Zoals je in het voorbeeld kunt zien heb je Azure Functions die getriggerd worden door een CosmosDB verandering. Door dat je dit vrij eenvoudig en snel implementeert vertaalt dat zich weer in tijd en uiteindelijk ook in geld.

Naast bovenstaande voordelen, profiteer je van de voordelen die Azure biedt, zo ook op Azure SignalR Service:

  • Microsoft investeert jaarlijks meer dan 1 miljard dollar aan onderzoek en ontwikkeling van cyberbeveiliging.
  • Er werken meer dan 35.000 beveiligingsexperts die toegewijd zijn aan de beveiliging van jouw gegevens.
  • Je profiteert van een uitgebreide lijst van certificaten zoals bijvoorbeeld ISO.

 

Tot slot

Wil jij ook real-time jouw gegevens integreren? Neem gerust contact op, wij kunnen je meer vertellen over de mogelijkheden!

 

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.

Vond je deze blog interessant?

Schrijf je dan in voor onze wekelijkse, korte nieuwsbrief en ontvang handige tips en interessante kennis van onze experts in je inbox. Mis dit niet!

Stuur mij de nieuwsbrief

Je privacy is 100% gegarandeerd.

© 2019 · disclaimer · voorwaarden · privacy · cookies · concept: Custard on & offline communicatie · realisatie: Arrix

Wij willen jou!

Bekijk onze vacatures!