Filmadatbázis JavaEE és Spring technológiával

OData támogatás
Konzulens:
Dr. Simon Balázs
Irányítástechnika és Informatika Tanszék

Jelen Diplomaterv célja a Java EE platform és Spring Keretrendszer erejének és képességeinek bemutatása egy komplex webes alkalmazás megtervezésén és implementálásán keresztül.

A Java mindig is népszerű platform volt, elsősorban objektumorientált szemlélete, rugalmassága, és a szoftveripar meghatározó szereplőinek támogatása miatt. Népszerűségéhez nagyban hozzájárul az Android mobil operációs rendszer elterjedtsége, illetve a rengeteg újítást hozó Java 8 megjelenése.

A Spring Keretrendszer Java EE platformon nyújt széleskörű támogatást alkalmazások fejlesztésére. Létrejöttének fő célja a Java nyelven történő fejlesztés produktivitásának növelése. Sikere a megjelenése óta töretlen, elsősorban az OCP alapelvhez való hűsége miatt, amely lehetővé tette a központi modulok rugalmas kiterjesztését.

A feladat egy filmadatbázis kezelését támogató alkalmazás létrehozása volt, amely komplexitásával és teljesítményével képes bemutatni a Spring Keretrendszer képességeit. Ennek megfelelően az elkészített alkalmazás lehetővé teszi felhasználók regisztrációját, valamint saját filmes és személyi adatlapuk feltöltését, kezelését és publikálását. A publikált adatlapok megtekintése a nem regisztrált felhasználók számára is elérhető.

Az alkalmazás Spring MVC felhasználásával, szigorúan rétegezett architektúrára épül. A kontrollerekben adatkötés, és Spring Validation modul segítségével automatikus adatellenőrzés történik. A biztonságról Spring Security gondoskodik, a felhasználók adatbázisból történő azonosításával és a funkciók szerepkör alapú hozzáférés védelmével. Az üzleti logikai rétegben a tranzakciókezelés Spring Transaction modul segítségével biztosított, a cache használatot pedig Spring Cache vezéreli. Az adatelérés Spring Data JPA modulon keresztül történik, Spring ORM támogatásával. Bemutatásra kerül továbbá az aspektusorientált programozás Spring AOP használatával.

A Spring alapú eszközökön kívül használva lettek egyéb Java eszközök, például a Java Reflection API, JAXB, Hibernate, Ehcache, Apache Velocity, Java Mail API, Logback, Liquibase. Bemutatásra kerülnek továbbá a fejlesztést segítő eszközök, amelyek közül Git, Redmine, Maven és SonarQube elemi részét képezték az alkalmazás elkészítésének.

Kipróbálásra került a valós körülmények között való üzemeltetés is OpenShift PaaS szolgáltatását használva. A kitelepített alkalmazás monitorozásáról New Relic és Uptime Robot gondoskodik, mialatt a rendszer tűrőképességét Loader.io által napi rendszerességgel lefuttatott terheléses tesztek vizsgálják.

Letölthető fájlok

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