Háttéralkalmazások

A tantárgy angol neve: Backend Applications

Adatlap utolsó módosítása: 2023. november 23.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar
Üzemmérnök-informatikus szak, BProf képzés
Szoftverfejlesztés specializáció
Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIAUBB04 4 2/2/0/v 5  
3. A tantárgyfelelős személy és tanszék Hideg Attila,
A tantárgy tanszéki weboldala https://www.aut.bme.hu/Course/VIAUBB04
4. A tantárgy előadója

Név

Beosztás

Tanszék

Dr. Asztalos Márk

docens

Automatizálási és Alkalmazott Informatikai Tanszék

Dr. Dudás Ákos

adjunktus

Automatizálási és Alkalmazott Informatikai Tanszék

Gincsai Gábor

tanársegéd

Automatizálási és Alkalmazott Informatikai Tanszék

Simon Gábor

ügyvivő szakértő

Automatizálási és Alkalmazott Informatikai Tanszék


5. A tantárgy az alábbi témakörök ismeretére épít

 

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)


 

6. Előtanulmányi rend
Kötelező:
Training.Code=("5N-A9") ÉS

Szakirany("BPINszoftfejl", _)

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ó.

7. A tantárgy célkitűzése

 

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)


 

8. A tantárgy részletes tematikája

 

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

Objektum-relációs keretrendszerek: Entity Framework

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


 

9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

 

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.


 

10. Követelmények

 

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.


 

11. Pótlási lehetőségek

 

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.


 

12. Konzultációs lehetőségek

 

Folyamatosan, az előadókkal, vagy gyakorlatvezetőkkel előre egyeztetett időpontban.

 

13. Jegyzet, tankönyv, felhasználható irodalom

 

 

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


 

 

14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra56
Félévközi készülés előadásokra7
Félévközi készülés gyakorlatra14
Házi feladat elkészítése33
  
Vizsgafelkészülés40
Összesen150
15. A tantárgy tematikáját kidolgozta

Név:

Beosztás:

Tanszék, Int.:

Dr. Asztalos Márk

docens

Automatizálási és Alkalmazott Informatikai Tanszék

Dr. Dudás Ákos

adjunktus

Automatizálási és Alkalmazott Informatikai Tanszék

Dr. Kővári Bence András

docens

Automatizálási és Alkalmazott Informatikai Tanszék


Idegen nyelvi részteljesítés követelményei Megszerezhető idegen nyelvi kredit: 2
A megszerzés módja: A tárgyból a vizsgakérdéseket angol nyelvű feladatlapon kapják az idegen nyelvi kreditet szerezni kívánó diákok számára. Minden feladatra angolul kell válaszolni, a kérdések közt van kifejtős kérdés is. A kérdésekre adott válaszokat a vizsgázók szóban is kifejtik röviden a vizsga lebonyolítása során. A vizsga jelenléti módon kerül lebonyolításra.