Kompozit alkalmazásrendszer fejlesztése Microsoft WPF platformra

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

A moduláris szoftverfejlesztés az utóbbi években a Microsoft .NET platformon is erős iránnyá vált. Az általános üzleti követelményekkel szemben a korábban használt monolitikus módszertan már nem állja meg a helyét. Szükség van arra, hogy az alkalmazást adatforrások vagy fő funkciók/szerepkörök szerinti kisebb-nagyobb egységekre bontva készítsük el. Ezáltal az alkalmazás igen rugalmassá tehető a gyakran változó körülményekkel szemben, és az sem jelent problémát, ha a megrendelő valami teljesen új kívánsággal áll elő. Az ilyen stratégia szerint felépített alkalmazásokat nevezzük kompozit alkalmazásnak, amely kifejezésben a kompozit szó az egymástól független alkotóelemek egységbe integrálását fejezi ki.

Szakdolgozatomban egy üzleti célokra szánt többrétegű, kompozit alkalmazásrendszer elkészítésén keresztül tekintem át e témát. A rendszer vasúti információkat kezel, és a vasúttársaságok információs pultjait hivatott támogatni. A rendszer három komponensből épül fel. Egy grafikus kliensből, egy szerverből és egy segédalkalmazásból. A szerver fogadja a kliens kéréseit és egy adatbázis alapján kiszolgálja a klienst. A segédalkalmazás valós idejű vasúti információk szerverre küldését teszi lehetővé.

Munkám első szakaszában sorra veszek néhány tervezési mintát, alapelvet, amelyek a fejlesztési feladat alapját szolgálják. Bemutatom a többrétegű alkalmazások közös jellemzőit, általános architektúráját. A függőség injektálás tárgyalásával ismertetem, hogy komplex osztály-hierarchiákban hogyan lehet kényelmesen és hatékonyan példányosítani objektumokat. A rendszer grafikus klienssel rendelkezik, így megismerkedtem az elkülönített megjelenítés mintájával, amely világosan elszeparálja a megjelenítésért felelős kódtól az üzleti logikát. A rendszer egy Microsoft SQL Server 2008 R2 adatbázisból kapja adatai egy részét, így végeztem némi irodalomkutatást az objektum-relációs leképezéssel és a ráépülő repository mintával kapcsolatban is.

Alkalmazásrendszeremet C# nyelven, négy fő technológiával terveztem meg és implementáltam. A kliens grafikus megjelenítését WPF szolgáltatja MVVM (Model-View-ViewModel) minta szerint. A modularitás kapcsán összevetettem a .NET-en elérhető Prism, MAF, MEF technológiákat és végül a Prism-et használtam fel. A fő komponensek közti kommunikációt WCF-el oldottam meg. Az adatbázis relációs adataiból az Entity Framework felhasználásával készítettem el a rendszer adatmodelljét és adatelérési rétegét.

A rendszer terveit és implementációjának fontosabb részeit részletesen dokumentáltam és UML diagramokkal tettem áttekinthetőbbé.

A szakdolgozatom végén néhány továbbfejlesztési javaslatot is tettem.

Letölthető fájlok

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