Hatékony .NET kommunikáció a WCF keretrendszerében

OData támogatás
Konzulens:
Dr. Kővári Bence András
Automatizálási és Alkalmazott Informatikai Tanszék

A sávszélesség és a számítási kapacitás folyamatos árcsökkenése olyan architektúrákat hívott életre az információtechnológiai iparban, amelyek több gépből állnak, a gépek pedig egymással kommunikálva különböző komplex feladatokat tudnak megoldani. Egy ilyen architektúra a szolgáltatásorientált architektúra, aminek a keretein belül platformfüggetlen elosztott rendszerek implementálhatóak.

Az elosztottság miatt szükséges megvalósítani a csomópontok között valamilyen kommunikációt – ennek hatékonysága pedig komoly hatással van a teljes rendszer együttes, a konkrét feladat megoldásának szempontjából vizsgált hatékonyságára.

Az architektúrát a .NET keretrendszer a Windows Communication Foundation (WCF) osztálykönyvtárral támogatja. Ez biztosítja a megfelelő megoldásokat a csatornák kiépítésére, hitelesítésre, az adatok üzenetekbe ágyazására és megfelelő formába történő alakítására. Ez utóbbi a sorosítás folyamata – ennek optimalizálásával nagymértékben gyorsítható a teljes kommunikációs folyamat is.

A szolgáltatásorientált architektúrának ugyan fontos alapelve a platformfüggetlenség, számos esetben azonban az architektúra összes eleme .NET környezetben fut, így adott a lehetőség, hogy platform sajátosságait figyelembe véve – szigorúan az architektúra keretein belül maradva – optimalizáljuk az üzenetek cseréjének folyamatát.

A WCF tartalmaz implementációt erre a speciális esetre is, a vizsgálatok során azonban azt tapasztaltam, hogy ez gyakran még az általános variánsnál is rosszabb teljesítménnyel bír. A célom tehát az volt, hogy a már létező megoldásoknál gyorsabb komponenst adjak a fejlesztők kezébe, ha .NET-.NET kommunikációt kell megvalósítaniuk.

Munkám során megvizsgáltam a feladat megoldhatóságát és az optimalizáció lehetséges mértékét egy referencia-keretrendszer kidolgozásával, majd ezt figyelembe véve kidolgoztam egy algoritmust, ami hatékony a kimeneti üzenet méretét tekintve. Ezután pedig folyamatosan átalakítottam ezt a megoldást először az alkalmazott technológia cseréjével, majd további optimalizációs lépésekkel úgy, hogy ne csak a kimenet mérete, hanem a kimenet előállításához szükséges idő is jóval kevesebb legyen a beépített megoldások által igényeltnél.

Letölthető fájlok

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