COMET TECHNOLÓGIA HASZNÁLATA ASP.NET KÖRNYEZETBEN

OData támogatás
Konzulens:
Albert István
Automatizálási és Alkalmazott Informatikai Tanszék

Szakdolgozatom témája a Comet webes technológia vizsgálata és megvalósítása volt ASP.NET környezetben. A Comet egy olyan alkalmazásmodell, amely a napjainkban igen népszerű Ajax egy nagy hiányosságára próbál megoldást találni: a böngészőről webszerver felé intézett Ajax hívások alapvetően a kliensben, többnyire felhasználói beavatkozás eredményeképp keletkezett események hatására jönnek létre. A szerverben keletkező eseményekről a kliens alapesetben csak akkor értesül, hogyha szándékosan lekérdezi azokat. Ez azonban az erőforrásokkal pazarlóan bánik, hiszen ha a szerverben nem keletkezett esemény, akkor a kliens Ajax hívása fölösleges, eredmény nélkül fog visszatérni. A Comet elterjedt HTML, illetve JavaScript programozási eszközök felhasználásával a problémát bizonytalan ideig nyitva tartott HTTP kérésekkel oldja meg. Ha olyan esemény jön létre a szerverben, amelyet jelezni szükséges egy adott kliens felé, akkor a kliens által indított, de hosszan nyitva tartott HTTP kérés válaszába a szerver beleírhatja saját üzenetét, majd opcionálisan lezárhatja az adatfolyamot.

A probléma a Comet mellett megoldható más eszközökkel is, ezek közül legelterjedtebb a böngészőkbe telepíthető plugin-ok használata. Ezek leginkább valódi socket alapú kommunikációt tesznek lehetővé, jelentősen egyszerűsítve a kliens-szerver párbeszéd komplexitását. A megoldásnak hatalmas hátulütője, hogy a plugin-ok külön telepítendőek, amire sok felhasználó különböző okokból nem hajlandó vagy nem képes. Másfelől az egyes plugin-ok korán sem élveznek olyan széles támogatottságot a különböző platformok részéről, mint az alapvető webes technológiák. Ezek a körülmények azt eredményezik, hogy habár a plugin-ok valóban nagyban megkönnyítik a kliens és szerver közötti duplex kommunikációt, sok felhasználó számára azonban egyszerűen nem elérhető technológiát jelentenek.

A Comet technológia ígéretes kiváltó eszköze a WebSockets protokoll, amely a még befejezetlen HTML5 szabvány része. A megoldás valóban általános és jól használható API-t próbál nyújtani az egyoldalú kommunikáció problémájának megoldására, jelenleg azonban biztonsági problémák nehezítik a szabvány véglegesítésének folyamatát.

A plugin-okkal kapcsolatos nehézségek és a WebSocket technológia kiforratlansága miatt érdemes olyan Comet módszerekhez nyúlni, amelyek a lehető legtöbb böngészőben jelen lévő technológiákat alkalmazva valósítják meg a kétirányú kommunikációt. A cél egyrészt az volt, hogy megvizsgáljam az általános Comet technikákat és megvalósításokat, illetve ezek ASP.NET keretrendszerre specifikus vonatkozásait. Ezeket az ismereteket felhasználva egy, a Comet egyszerű használatát lehetővé tevő keretrendszert kellett készítenem, melynek működése egy egyszerű példaalkalmazás segítségével szemléltethető.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.