„Háttéralkalmazások” változatai közötti eltérés

A VIK Wikiből
→‎Előadások: Óra anyagának hozzáadása
→‎Vizsga: Anyagok frissítése
 
(3 közbenső módosítás ugyanattól a felhasználótól nincs mutatva)
6. sor: 6. sor:
| félév = 4
| félév = 4
| tanszék = AUT
| tanszék = AUT
| labor = 14 (2 házi)
| labor = 14 db
| kiszh = nincs
| kiszh = nincs
| nagyzh = nincs
| nagyzh = nincs
12. sor: 12. sor:
| vizsga = írásbeli (papíron)
| vizsga = írásbeli (papíron)
| tárgyhonlap = https://www.aut.bme.hu/Course/VIAUBB04
| tárgyhonlap = https://www.aut.bme.hu/Course/VIAUBB04
| kereszt = nincs
}}
}}


32. sor: 33. sor:


=== Vizsga ===  
=== Vizsga ===  
A vizsgaidőszakban írásbeli vizsgát tartunk, amely 60 pontos, ebből legalább 30 pontot el kell érni a sikerességhez.
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 ===  
=== Osztályozás ===  
42. sor: 43. sor:


=== Értékelés ===
=== Értékelés ===
*88– 100: jeles
{{Jegykonvertálás|0 – 49|50 61|62 – 74|75 – 86|87 100
*75 87: jó
}}
*62 – 74: közepes
*50 61: elégséges
*0 – 49: elégtelen


== Tematika ==
== Tematika ==
=== Előadások ===
=== Előadások ===
* 1. hét: [[Media:hatter_ea_01_20240212_Bevezetés.pdf | követelmények, bevezetés]]: rétegek; [[Media:Hatter_ea2_2023.pdf | adatbázisok]]: rendszerarchitektúra, relációk, integritás, Microsoft SQL Server, tranzakciók, hibák, izolációs szintek
* 1. hét (Imre Gábor): [[Média:Hatter ea 01 20240212 Bevezetés.pdf|követelmények, bevezetés]]: rétegek; [[Média:Hatter ea2 2023.pdf|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; [[Media:Hatter_ea3_2023.pdf | szerveroldali programozás]]: előnyei és hátrányai, Transact-SQL: kurzor, eljárás, függvény, trigger
* 2. hét (Imre Gábor): az előző hét folytatása; [[Média:Hatter ea3 2023.pdf|szerveroldali programozás]]: előnyei és hátrányai, Transact-SQL: kurzor, eljárás, függvény, trigger
* [[Media:hatter_ea4_2023.pdf | 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
* [[Média:Hatter ea4 2023.pdf|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
* [[Media:hatter_ea5_2023.pdf | 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
* [[Média:Hatter ea5 2023.pdf|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
* [[Media:hatter_ea_06_20240311_JPA.pdf | 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)
* [[Média:Hatter ea 06 20240311 JPA.pdf|5. hét]][[Média:Hatter ea5 2023.pdf| (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ó (<code>flush()</code>, <code>setFlushMode()</code>), lekérdezések (<code>setParameter</code>, <code>setMaxResult</code>, <code>setFirstResult</code>, <code>getSingleResult</code>, <code>getResultList</code>, <code>executeUpdate</code>), Criteria API, natív lekérdezések, öröklés (<code>extends</code>, <code>@Entity</code>, <code>@Id</code>, <code>@Inheritance(strategy)</code>, <code>@DiscriminatorColumn</code>, <code>@DiscriminatorValue</code>, <code>@MappedSuperClass</code>), kapcsolatok (<code>@OneToOne</code>, <code>@OneToMany</code>, <code>@ManyToOne</code>, <code>@ManyToMany</code>, <code>@JoinColumn</code>, <code>@JoinTable</code>, <code>@OrderBy</code>, <code>@MapKey</code>)
* 6. hét: az előző hét folytatása: kapcsolatok (@ElementCollection, cascade, fetch), entitásgráfok (@NamedEntityGraph, EntityGraph, Properties); [[Media:hatter_ea7a_2023.pdf | 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
* 6. hét (Simon Gábor): az előző hét folytatása: kapcsolatok (<code>@ElementCollection</code>, <code>cascade</code>, <code>fetch</code>), entitásgráfok (<code>@NamedEntityGraph</code>, <code>EntityGraph</code>, <code>Properties</code>); [[Média:Hatter ea7a 2023.pdf|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; [[Media:hatter_ea7b_2023.pdf | félig strukturált adatok]]: XML: XSD, pull / push parsing, DOM, XSLT, feldolgozása, API-k; JSON: API-k; [[Media:hatter_ea_07_20240325_WebAlapok_SpringMVC.pdf | Spring MVC]]: webes architektúrák, kliens- / szerveroldali renderelés; J2EE: servlet, JSP; Spring MVC: Spring Boot, RESTful, OpenAPI, DTO, hibakezelés, lapozás
* 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; [[Média:Hatter ea7b 2023.pdf|félig strukturált adatok]]: XML: XSD, pull / push parsing, DOM, XSLT, feldolgozása, API-k; JSON: API-k; [[Média:Hatter ea 07 20240325 WebAlapok SpringMVC.pdf|Spring MVC]]: webes architektúrák, kliens- / szerveroldali renderelés; J2EE: servlet, JSP; Spring MVC: Spring Boot, RESTful, OpenAPI, DTO, hibakezelés, lapozás


* [[Media:hatter_ea8_2023.pdf | REST jellegű APIk fejlesztése ASP.NET Coreban]]
* [[Média:Hatter ea8 2023.pdf|REST jellegű APIk fejlesztése ASP.NET Coreban]]
* [[Media:hatter_ea9_2023.pdf | Webes felület szerver oldali generálása]]
* [[Média:Hatter ea9 2023.pdf|Webes felület szerver oldali generálása]]
* [[Media:hatter_ea10_2023.pdf | A számítási felhő alapfogalmai]]
* [[Média:Hatter ea10 2023.pdf|A számítási felhő alapfogalmai]]
* [[Media:hatter_ea11_2023.pdf | Azure alapú webhosting]]
* [[Média:Hatter ea11 2023.pdf|Azure alapú webhosting]]
* [[Media:hatter_ea12_2023.pdf | NoSQL adatbázisok]]
* [[Média:Hatter ea12 2023.pdf|NoSQL adatbázisok]]
* [[Media:hatter_ea13_2023.pdf | Microservices]]
* [[Média:Hatter ea13 2023.pdf|Microservices]]


=== Laborok ===
=== Laborok ===
* [https://github.com/BMEVIAUBB04/gyakorlat-sql-alapok 1. hét]: select, join, insert, @@IDENTITY, update, group by, having
* [https://github.com/BMEVIAUBB04/gyakorlat-sql-alapok 1. hét]: <code>select</code>, <code>join</code>, <code>insert</code>, <code>@@IDENTITY</code>, <code>update</code>, <code>group by</code>, <code>having</code>
* [https://github.com/BMEVIAUBB04/gyakorlat-tranzakciok 2. hét]: párhuzamos tranzakciók, read committed, rollback, serializable, XLOCK, TABLOCKX
* [https://github.com/BMEVIAUBB04/gyakorlat-tranzakciok 2. hét]: párhuzamos tranzakciók, read committed, rollback, serializable, <code>XLOCK</code>, <code>TABLOCKX</code>
* [https://github.com/BMEVIAUBB04/gyakorlat-mssql 3. hét]: procedure, exec, trigger, cursor
* [https://github.com/BMEVIAUBB04/gyakorlat-mssql 3. hét]: procedure, exec, trigger, cursor
* [https://github.com/BMEVIAUBB04/gyakorlat-jdbc 4. hét]: JDBC: ...
* [https://github.com/BMEVIAUBB04/gyakorlat-jdbc 4. hét]: JDBC: ...
* [https://bmeviaubb04.github.io/gyakorlat-ef/ 5. hét]: ...
* [https://github.com/BMEVIAUBB04/gyakorlat-jpa 6. hét]: ...
* [https://github.com/BMEVIAUBB04/gyakorlat-rest-spring-mvc 7. hét]: ...
* [https://github.com/BMEVIAUBB04/gyakorlat-rest-web-api 8. hét]: ...
* 9. hét: ''az 1. házi bemutatása''
* [https://github.com/BMEVIAUBB04/gyakorlat-server-side-rendering 10. hét]: ...
* [https://github.com/BMEVIAUBB04/gyakorlat-azure 11. hét]: ...
* 12. hét: ''a 2. házi bemutatása''


== Házi feladatok ==
== 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.
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
* [[Média:Hatter 1. Házi feladat 2024.pdf|1. házi]]: [[Média:Hatter 1-hazi-feladat-net--main 2024.zip|EF Core]] vagy [[Média:Hatter 1-hazi-feladat-java--main 2024.zip|JPA]] használata
* 2. házi: REST API készítése .NET Web API vagy Spring használatával
* [[Média:Hatter 2. Házi feladat 2024.pdf|2. házi]]: REST API készítése [[Média:Hatter 2-hazi-feladat-dotnet--main 2024.zip|.NET Web API]] vagy [[Média:Hatter 2-hazi-feladat-java--main 2024.zip|Spring]] használatával


== Vizsga ==
== Vizsga ==
* Írásbeli vizsga, maximum 60 pont.
*2022. tavasz
** minimum 30 pont
**1., 2. vagy 4. vizsga
** 60 perc
*** Egy általános (6 pont) és egy Azure-os (4 pont) párosítós feladat
** Igaz-hamis, felelet választós, kifejtős, kódolós
** [[Média:Hatteralkalmazasok vizsga3 2022.pdf|3. vizsga]]
*2022 Tavasz
* 2024. tavasz
** Igaz/Hamis rész, rossz válasz -1 pont, 15 pont
** 2. vagy 4. vizsga
** Feleletválasztós több helyes válasszal, rossz válasz pontlevonás, 15 pont
*** 5. feladat: a 2022. tavaszi 3. vizsgáéval megegyező
** Egy általános és egy Azure-os párba állító feladat, 6 és 4 pont
*** Több kifejtős feladat is volt a ''microservices'' részből
** Kifejtős feladat, 10 pont
** 3. vizsga
** T-SQL programozás feladat, 10 pont
*** 1–3. feladatok: a 2022. tavaszi 3. vizsgáéval megegyezőek
** [[Media:Hatteralkalmazasok_vizsga3_2022.pdf |Vizsga 3]]


{{Lábléc_-_Üzemmérnök-informatikus_alapszak}}
{{Lábléc_-_Üzemmérnök-informatikus_alapszak}}

A lap jelenlegi, 2024. június 27., 16:56-kori változata

Háttéralkalmazások
Tárgykód
VIAUBB04
Általános infók
Szak
üzemmérnök
Kredit
5
Ajánlott félév
4
Keresztfélév
nincs
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

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

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
    • 1., 2. vagy 4. vizsga
      • Egy általános (6 pont) és egy Azure-os (4 pont) párosítós feladat
    • 3. vizsga
  • 2024. tavasz
    • 2. vagy 4. vizsga
      • 5. feladat: a 2022. tavaszi 3. vizsgáéval megegyező
      • Több kifejtős feladat is volt a microservices részből
    • 3. vizsga
      • 1–3. feladatok: a 2022. tavaszi 3. vizsgáéval megegyezőek


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