„Háttéralkalmazások” változatai közötti eltérés
→Előadások: Óra anyagának hozzáadása |
|||
(21 közbenső módosítás, amit 3 másik szerkesztő végzett, nincs mutatva) | |||
6. sor: | 6. sor: | ||
| félév = 4 | | félév = 4 | ||
| tanszék = AUT | | tanszék = AUT | ||
| labor = 14 | | 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 | |||
}} | }} | ||
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 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<ref>Imre Gábor [https://teams.microsoft.com/l/message/19:Rou9i34ACNaJy77a2N1aL1WrR8L55Wx-72t5DL_p00Q1@thread.tacv2/1710155862819?tenantId=6a3548ab-7570-4271-91a8-58da00697029&groupId=ab9a3761-4679-47af-bfc6-96ae8ca8c751&parentMessageId=1709550674314&teamName=H%C3%A1tt%C3%A9ralkalmaz%C3%A1sok%20-%20BMEVIAUBB04-HU&channelName=General&createdTime=1710155862819 kommentje] a 2023/24-es tanév kurzusának Teams-csoportjában 2024. 03. 11. 12:17-kor</ref> === | |||
{{Jegykonvertálás|0 – 49|50 – 61|62 – 74|75 – 86|87 – 100 | |||
}} | |||
== Tematika == | |||
=== Előadások === | |||
* 1. hét (Imre Gábor): [[Média:Hatter ea 01 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 (Imre Gábor): az előző hét folytatása; [[Média:Hatter ea 03 Microsoft SQL Server programozása.pdf|szerveroldali programozás]]: előnyei és hátrányai, Transact-SQL: kurzor, eljárás, függvény, trigger | |||
* [[Média:Hatter ea4 2023.pdf|3. hét (Imre Gábor)]]: adatelérési könyvtárak: .NET, JBDC; SQL injection; ORM: shadow-információk, öröklés, leképezések, kapcsolatok, rekurzió, osztályszintű tulajdonságok | |||
* [[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 | |||
* [[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 (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 (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; [[Média:Hatter ea8 2023.pdf|ASP.NET Core Web API]]: Kestrel, projektsablonok, konfiguráció, alapszolgáltatások, request–response pipeline, middlewares (developer exception page, routing, endpoint), controller API (<code>Controller</code>, <code>ControllerBase</code>, <code>ApiController</code>), konvenció / attribútum alapú routing, GET, POST, best practices (DTO) | |||
* [[Média:Hatter ea9 2023.pdf|Webes felület szerver oldali generálása]] | |||
* [[Média:Hatter ea10 2023.pdf|A számítási felhő alapfogalmai]] | |||
* [[Média:Hatter ea11 2023.pdf|Azure alapú webhosting]] | |||
* [[Média:Hatter ea12 2023.pdf|NoSQL adatbázisok]] | |||
* [[Média:Hatter ea13 2023.pdf|Microservices]] | |||
== | === Laborok === | ||
* [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, <code>XLOCK</code>, <code>TABLOCKX</code> | |||
* [https://github.com/BMEVIAUBB04/gyakorlat-mssql 3. hét]: procedure, exec, trigger, cursor | |||
* [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 == | == 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. | ||
* [[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 | |||
* [[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 | |||
* 2. házi: REST API készítése .NET Web API vagy Spring használatával | |||
== Vizsga == | == Vizsga == | ||
2022 | *2022. tavasz | ||
* | **1., 2. vagy 4. vizsga | ||
* | *** Egy általános (6 pont) és egy Azure-os (4 pont) párosítós feladat | ||
* Egy általános és egy Azure-os | ** [[Média:Hatteralkalmazasok vizsga3 2022.pdf|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 | |||
== Források == | |||
<references /> | |||
{{Lábléc_-_Üzemmérnök-informatikus_alapszak}} | {{Lábléc_-_Üzemmérnök-informatikus_alapszak}} | ||