Presentation av examensarbete - högskoleingenjör
Titel: Reducering av överflödig data i en realtidsbaserad webbapplikation
Respondent: DAVID GUSTAVSSON och TIM TÖRNBLOM
Datum och tid: 2016-06-14 kl 13.00
Plats: Sal C
Opponenter: Jana Prihodko?
Examinator: Anders Sjögren
Språk: svenska / engelska
Anmälan om närvaro: behövs ej - alla är välkomna
Abstract
Realtidsbaserade webbapplikationer finns idag i stor utsträckning i samhället. De förekommer
i många olika former, allt från simpla chattprogram till avancerade övervakningssystem.
Fler och fler webbaserade applikationer använder sig av komplex realtidskommunikation,
där föråldrade tekniker som involverar HyperText Transfer Protocol ligger
bakom implementationen. Detta leder till problem som att onödiga mängder data kommuniceras,
vilket ökar belastningen på nätverk samt försvårar för utveckling av avancerad
realtidskommunikation.
WebSocket och Server-Sent Events är två moderna tekniker, utvecklade för att kringgå
problemen med HyperText Transfer Protocol. I detta projekt studeras teknikerna och en
utforskande fallstudie utförs hos beställaren för att åskådliggöra vad som kan förbättras i
deras befintliga webbapplikation. Studierna mynnar ut i lösningsförslag, varav ett implementeras
i en prototyp, som ämnar reducera överflödig data i beställarens webbapplikation.
Jämförande mätningar utförs med tidsförlopp på fem minuter, både med befintlig webbapplikation
samt prototyp. Mätningarna sammanställs med två grafer, datamängd per
tidsenhet samt ackumulerad datamängd under tidsförlopp. I graferna illustreras prototypen,
för ett realtidsscenario, som snålare med datamängd. Detta resultat medför att prototypen
som implementerar Server-Sent Events anses lyckad, i förhållande till reduceringen
av överflödig data. Slutligen redovisas slutsatsen att en implementation av Server-Sent
Events är att föredra jämfört med en, för samma funktionalitet, lösning som utgörs av traditionell
polling.
Nyckelord datakommunikation, realtid, HTTP, Server-Sent Events, webbprotokoll, fallstudie,
WebSocket, polling