Introduktion

Slutförd

Som tekniker hos Tailwind Traders har du lärt dig att ditt företag planerar att lansera en ny webbplats som tillhandahåller aktiekursinformation till kunder. Nyligen skapade en praktikant en webbplatsprototyp för det nya programmet och leadarkitekten har nu bett dig att gå in och förbättra lösningen. Målet är att uppdatera appen för att implementera automatiska uppdateringar av aktiekursinformationen, men se till att kommunikationen mellan klienten och servern endast sker när data ändras på servern.

Prototyparkitektur

Serverprototypen har två funktioner:

Funktionsnamn Utlösartyp Beskrivning
getStocks Azure Cosmos DB Servern ansvarar för att läsa alla data från lagertabellen i databasen och returnera dessa data i ett HTTP-svar när klienten begär det.
setPrice Timer En funktion för att ändra data i databasen körs på en timerutlösare. Detta simulerar hur ändringar tas emot från ett backend-system.

Som en prototyp simulerade praktikanten lagerflödet med en timerfunktion som uppdateras varje minut. Klientwebbplatsen begär alla aktier från /api/getStocks API-slutpunkten var 5:e sekund i ett försök att visa data i nära realtid. Den här klientbegäran är inte effektiv. I stället för att hämta data från servern är det mer effektivt för servern att skicka all ny lagerinformation.

Uppgifter som ska utföras

I den här modulen ska du:

  • Kör prototypen: Visa klientprogrammet, som avsöker servern efter alla aktier med jämna mellanrum
  • Förbättra programmet: Implementera en serverlös Azure Functions-app för att sända ändringar till anslutna klienter med SignalR Service för att få uppdateringar i nära realtid.
  • Uppdatera klientens JavaScript-webbapp för att ansluta till SignalR för att hämta och visa meddelandena.