Háttéralkalmazások

A VIK Wikiből
A lap korábbi változatát látod, amilyen Gyöngyösi Máté (vitalap | szerkesztései) 2024. június 26., 20:24-kor történt szerkesztése után volt. (→‎Tematika: Órák anyagának és segédanyagoknak a hozzáadása)
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 db
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 60 perces í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

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

Tematika

Előadások

  • 1. hét (Imre Gábor): 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 (Imre Gábor): 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 (Imre Gábor): 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 (Simon Gábor): 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 (Simon Gábor): 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 (Simon Gábor): 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 (Simon Gábor): 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: ...
  • 5. hét: ...
  • 6. hét: ...
  • 7. hét: ...
  • 8. hét: ...
  • 9. hét: az 1. házi bemutatása
  • 10. hét: ...
  • 11. hét: ...
  • 12. hét: a 2. házi bemutatása

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.

Vizsga

  • 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
    • 3. vizsga


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