Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

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