Háttéralkalmazások
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
Pont | Jegy |
---|---|
0 – 49 | 1 |
50 – 61 | 2 |
62 – 74 | 3 |
75 – 86 | 4 |
87 – 100 | 5 |
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
- REST jellegű APIk fejlesztése ASP.NET Coreban
- Webes felület szerver oldali generálása
- A számítási felhő alapfogalmai
- Azure alapú webhosting
- NoSQL adatbázisok
- Microservices
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.
- 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
- 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 |