Belépés címtáras azonosítással
magyar nyelvű adatlap
Háttéralkalmazások
A tantárgy angol neve: Backend Applications
Adatlap utolsó módosítása: 2023. november 23.
Név
Beosztás
Tanszék
Dr. Asztalos Márk
docens
Automatizálási és Alkalmazott Informatikai Tanszék
Dr. Dudás Ákos
adjunktus
Gincsai Gábor
tanársegéd
Simon Gábor
ügyvivő szakértő
Objektumorientált programozás (Java)
Szoftvertechnológia és -technikák (Tervezési minták, UML)
Eseményvezérelt és vizuális programozás (.NET, C#)
Adatkezelés (Alapfogalmak, SQL)
A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.
A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.
A tárgy célja megismertetni a hallgatókkal az háttéralkalmazások fejlesztése során leggyakrabban használt szerver oldali megoldásokat. A tárgy keretében a hallgatók jártasságot szereznek adatbázisokra épülő rendszerek megvalósításában, elsajátítják az adatrétegben és az üzleti logikai rétegben alkalmazott tipikus módszereket és eljárásokat. A tárgy ismerteti a különböző adatbázis-kezelő szerverek felépítését, működését és programozását. Továbbá bemutatja azon eljárásokat és megoldásokat, melyek segítségével az alkalmazott adatbázis platform elérhető és hatékonyan kezelhető az üzleti logikai komponensekben.
A tantárgy követelményeit eredményesen teljesítő hallgató képes lesz:
Témakörök:
- Többrétegű alkalmazások felépítése, objektumok elérése során használt protokollok (Web Service, REST) (megértés szint: magyarázatok, összefüggések ismerete, esetek felismerése, besorolása - K2)
- Egy elterjedt adatbázis-motor részletes megismerése (MS SQL Server) (K2)
- Adatbázisszerver-oldali programozási lehetőségei (tárolt eljárások, triggerek, tranzakciók) (alkalmazás szint: problémamegoldás ismeretek alkalmazásával, példák, feladatok önálló megoldása - K3)
- Adathozzáférést támogató elterjedt osztálykönyvtárak (JDBC, ADO.NET) felépítése és használata. (K2)
- Az iparban használatos ORM keretrendszerek (JPA, Entity Framework) működése és használata. (K3)
- Szerver oldali objektumok sorosításával kapcsolatos szabványok (XML, JSON) (K3)
- Webes rendszerek szerveroldali programozása. (K2)
- Számítási felhő alapú háttérrendszerek, nem relációs adatbázisok (K2)
Az előadások tematikája:
Előadás
Előadás anyaga
1.
Bevezetés, többrétegű architektúrák, adatréteg alapjai
2.
Adatbázis-kezelő szerverek architekturális felépítése, Tranzakciókezelés adatbázis-kezelő rendszerekben, MS SQL sajátosságai
3.
Haladó SQL nyelvi elemek és platformfüggő sajátosságok, MS SQL Server
4.
Adatelérési osztálykönyvtárak, objektum-relációs leképzés elméleti alapjai
5.
Objektum-relációs keretrendszerek: Entity Framework
6.
Objektum-relációs keretrendszerek: JPA;
7.
A Spring keretrendszer alapjai; Objektumok sorosítása: JSON és XML alapú objektum leírások
8.
Adatelérés többrétegű alkalmazásokban: Web service-ek és REST API-k
9.
Webes felület szerver oldali generálása
10.
Felhő alapú háttéralkalmazások – szolgáltatások (Azure)
11.
Felhő alapú háttéralkalmazások – adattárolás (Azure)
12.
Elosztott háttérszolgáltatások, mikroszolgáltatások
13.
Nem relációs adatbázisok
14.
Az esetleges óraelmaradások miatt ez az óra elmaradhat. Ha nem, a témája összefoglalás, kitekintés, érdekességek.
A gyakorlatok tematikája:
Gyakorlat
Gyakorlat anyaga
1
Az Adatkezelés tárgyból elsajátított SQL ismeretek ismétlése
2
Tranzakciók alaptulajdonságai, platform specifikus sajátosságok vizsgálata MS SQL Serveren
3
Bevezetés az MS SQL Server programozásába: egyszerű tárolt eljárások és triggerek készítése, kivételek kezelése, kurzorok használata
4
Adatelérés .NET platformon (ADO.NET)
5
Adatelérés JDBC segítségével
6
7
Objektum-relációs keretrendszerek: JPA
8
1. házi feladat bemutatása
9
Többrétegű alkalmazás fejlesztése REST API-val .NET platformon
10
Többrétegű alkalmazás fejlesztése REST API-val Spring platformon
11
Webes felület szerver oldali generálása (ASP.NET)
12
Többrétegű alkalmazások készítése web service-ek használatával (WCF)
13
Felhő alapú háttéralkamazások (Azure)
14
2. házi feladat bemutatása
Az előadás keretében a főbb témaköröket, koncepciókat, technológiákat mutatjuk be.
A gyakorlatokon az előadáson elhangzottakat gyakoroljuk konkrét példákon keresztül. A gyakorlatok egy része vezetett mérés, ennek célja, hogy közösen, a gyakorlatvezetővel együtt találják ki a hallgatók a megoldást, amelyet a gyakorlatvezető végül részletesen megmutat. A gyakorlatokon vannak önálló feladatokat is, ezek megoldása a hallgatók feladata, de a gyakorlatvezetőtől lehet segítséget kérni, ha valaki elakad.
A szorgalmi időszakban:
· A tárgyhoz 2 házi feladat (részteljesítmény értékelés) tartozik, melyeket az erre kijelölt gyakorlati alkalmakig kell bemutatni. Mindkét házi feladatra 20-20 pont kapható, amelyeknek egyenként 50%-át el kell érni.
· A házi feladat beszedéseken túl, 12 érdemi gyakorlatot tartunk, ebből 8-nak sikeresen teljesítettnek kell lennie. Egy gyakorlat sikeres, ha a hallgató jelen van az órán és sikeresen megírja a beugrót. A beugró az óra elején, rövid számonkérés, amely néhány kérdésből áll. Pontszámot nem adunk rá, egy beugró sikeres, vagy sikertelen lehet. A beugrókon a gyakorlathoz kapcsolódó, korábbi órákon (előadások, gyakorlatok) elhangzott anyagok ismeretét ellenőrizzük.
A félév végi aláírás feltételei:
· Mindkét házi feladat sikeres bemutatása és legalább 10-10 pont elérése.
· Részvétel legalább 8 gyakorlaton és ezeken a beugró sikeres teljesítése
A vizsgaidőszakban:
· A vizsgaidőszakban írásbeli vizsgát tartunk, amely 60 pontos, ebből legalább 30 pontot el kell érni a sikerességhez.
Az osztályzat megállapításának módja:
A házi feladatok pontszáma 20-20%-ban, a vizsga 60%-ban számít az érdemjegybe.
A házi feladat pótlólagos leadása a pótlási időszakban kijelölt időpontig lehetséges.
A gyakorlat részvétel és a beugrók pótlására nincs lehetőség, mivel a 12 lehetőségből csak 8 teljesítése az elvárt. A 8 teljesített gyakorlatba beszámítjuk az indokolt (pl. orvosilag igazolt) távolmaradást és a tanulmányi szünetek miatt elmaradt alkalmakat is. A házibeadási hetek nem számítanak bele a 12 alkalomba.
Folyamatosan, az előadókkal, vagy gyakorlatvezetőkkel előre egyeztetett időpontban.
Leonard Lobel and Andrew Brust: Programming Microsoft SQL Server 2012, Microsoft Press, ISBN: 978-0735658226
Mark J. Price: C# 7 and .NET Core: Modern Cross-Platform Development: Create powerful cross-platform applications using C# 7, .NET Core, and Visual Studio 2017 or Visual Studio Code. Packt Publishing, 2nd Edition. ISBN: 978-1787129559.
Dino Esposito: Programming ASP.NET Core, Microsoft Press. ISBN 978-1509304417.
Mark Pollack, Oliver Gierke, Thomas Risberg, Jon Brisbin, Michael Hunger: Spring Data: Modern Data Access for Enterprise Java. O'Reilly Media, 1st Edition. ISBN-13: 978-1449323950.
Subbu Allamaraju: RESTful Web Services Cookbook: Solutions for Improving Scalability and Simplicity. Yahoo Press, 1st Edition. ISBN: 978-0596801687.
John Gilbert: Cloud Native Development Patterns and Best Practices: Practical architectural patterns for building modern, distributed cloud-native systems, Packt, 2018
Név:
Beosztás:
Tanszék, Int.:
Dr. Kővári Bence András