Háttéralkalmazások

A VIK Wikiből
Ugrás a navigációhoz Ugrás a kereséshez
Háttéralkalmazások
Tárgykód
VIAUBB04
Általános infók
Szak
üzemmérnök
Kredit
5
Ajánlott félév
4
Tanszék
AUT
Követelmények
Labor
14 (2 házi)
KisZH
nincs
NagyZH
nincs
Házi feladat
2 db
Vizsga
írásbeli (papíron)
Elérhetőségek


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 szorgalmi időszakban

Laborgyakorlatok

  • Az összesen 10 laborból legalább 7 teljesítése.
  • A laborfeladatok feltöltésének határideje: 1 hét.

Házi feladat

A tárgyhoz 2 házi feladat (részteljesítmény értékelés) tartozik, melyeket az erre kijelölt gyakorlati alkalmakon kell bemutatni. Mindkét házi feladatra 20-20 pont kapható, amelyeknek egyenként 50%-át el kell érni.

Aláírás

  • Mindkét házi feladat sikeres bemutatása és legalább 10-10 pont elérése.
  • Részvétel legalább 7 gyakorlaton (és ezeken a beugró sikeres teljesítése.)

Pótlási lehetőség

A póthéten az egyik házifeladat pótolható.

Vizsga

A vizsgaidőszakban írásbeli vizsgát tartunk, amely 60 pontos, ebből legalább 30 pontot el kell érni a sikerességhez.

Osztályozás

A végső osztályzatot a házi feladatok és a vizsga pontszámok összeadásával határozzuk meg.

  • Első házi feladat (Adatmodell és adatelérési réteg fejlesztése): max. 20 pont
  • Második házi feladat (Adatmodell, adatréteg és REST API fejlesztése): max. 20 pont
  • Vizsga: max. 60 pont

Értékelés

  • 88– 100: jeles
  • 75 – 87: jó
  • 62 – 74: közepes
  • 50 – 61: elégséges
  • 0 – 49: elégtelen

Tematika

Előadások

  • 1. hét: követelmények, bevezetés: rétegek; adatbázisok: rendszerarchitektúra, relációk, integritás, Microsoft SQL Server, tranzakciók, hibák, izolációs szintek
  • 2. hét: az előző hét folytatása; szerveroldali programozás: előnyei és hátrányai, Transact-SQL: kurzor, eljárás, függvény, trigger
  • 3. hét: adatelérési könyvtárak: ADO.NET, JBDC; SQL injection; ORM: shadow-információk, öröklés, leképezések, kapcsolatok, rekurzió, osztályszintű tulajdonságok
  • 4. hét: Entity Framework Core: entitásmodell, kapcsolatok (gyerek / principal), tulajdonlás, DbContext (entitásnyilvántartás), Core Tools / Migrations / Reverse Engineering, mapping, konvenciók, egyedi modellkonfiguráció (attribútumok, Fluent API), létrehozás, módosítás, törlés, lekérdezések (LINQ), kiértékelés, betöltés
  • 5. hét: JPA: jellemzők, architektúra (Java EE), annotációk (testreszabás, típusok, beágyazott osztály, konverter), persistence unit, JNDI, DataSource, (managed) persistence context, entitások állapota és életciklusa (EntityManager), adatbázisszinkronizáció (flush(), setFlushMode()), lekérdezések (setParameter, setMaxResult, setFirstResult, getSingleResult, getResultList, executeUpdate), Criteria API, natív lekérdezések, öröklés (extends, @Entity, @Id, @Inheritance(strategy), @DiscriminatorColumn, @DiscriminatorValue, @MappedSuperClass), kapcsolatok (@OneToOne, @OneToMany, @ManyToOne, @ManyToMany, @JoinColumn, @JoinTable, @OrderBy, @MapKey)
  • 6. hét: az előző hét folytatása: kapcsolatok (@ElementCollection, cascade, fetch), entitásgráfok (@NamedEntityGraph, EntityGraph, Properties); Spring: modulok, dependency injection, inversion of control, bean (annotáció, konfigurációs osztály, élettartam); Spring Boot: függőségek, konfigurációs osztály (autoconfig, property alapú), profiles, adatelérés, JDBCTemplate, JPA; Spring Data: repositoryk
  • 7. hét: az előző hét folytatása: JPA-entitások és tranzakciók (transactionManager config), @Transactional, propagation, deklaratív tranzakciók működése; félig strukturált adatok: XML: XSD, pull / push parsing, DOM, XSLT, feldolgozása, API-k; JSON: API-k; Spring MVC: webes architektúrák, kliens- / szerveroldali renderelés; J2EE: servlet, JSP; Spring MVC: Spring Boot, RESTful, OpenAPI, DTO, hibakezelés, lapozás

Laborok

  • 1. hét: select, join, insert, @@IDENTITY, update, group by, having
  • 2. hét: párhuzamos tranzakciók, read committed, rollback, serializable, XLOCK, TABLOCKX
  • 3. hét: procedure, exec, trigger, cursor
  • 4. hét: JDBC: ...

Házi feladatok

A tárgyhoz két házi feladat tartozik, amiben .NET és Java fejlesztést kérnek. Ezekből mindkettő kötelező, de lehet választani, melyiket melyik nyelven írjuk.

  • 1. házi: EF Core vagy JPA használata
  • 2. házi: REST API készítése .NET Web API vagy Spring használatával

Vizsga

  • Írásbeli vizsga, maximum 60 pont.
    • minimum 30 pont
    • 60 perc
    • Igaz-hamis, felelet választós, kifejtős, kódolós
  • 2022 Tavasz
    • Igaz/Hamis rész, rossz válasz -1 pont, 15 pont
    • Feleletválasztós több helyes válasszal, rossz válasz pontlevonás, 15 pont
    • Egy általános és egy Azure-os párba állító feladat, 6 és 4 pont
    • Kifejtős feladat, 10 pont
    • T-SQL programozás feladat, 10 pont
    • Vizsga 3


1. félév
2. félév
3. félév
4. félév
5. félév
6. félév