Architektura middleware 2
| Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
|---|---|---|---|---|
| ANI-AM2 | Z,ZK | 5 | 2P+1C | česky |
- Garant předmětu:
- Přednášející:
- Cvičící:
- Předmět zajišťuje:
- katedra softwarového inženýrství
- Anotace:
-
Studenti se seznámí s moderními architekturami webových aplikací jako je SPA a MPA. Získají přehled o modelu asynchronního I/O v JavaScriptu, síťové komunikaci v prohlížeči a technologiích jako XHR, FetchAPI, SSE, WebSockets a gRPC-Web. Předmět pokrývá také webovou bezpečnost, včetně Same-Origin Policy, CSRF, CORS, TLS, JWT a OAuth2, a ochranu proti útokům. Studenti se dále naučí rozdíly mezi REST a GraphQL a principy škálování distribuovaných aplikací. Součástí je i nasazení a monitoring webových aplikací v Kubernetes s využitím Prometheus a OpenTelemetry.
- Požadavky:
-
Znalosti softwarových architektur a webových technologií (HTTP, HTML, URI, XML), znalosti programování (Java, JavaScript) a počítačových sítí, znalosti základních algoritmů.
- Osnova přednášek:
-
1. Architektury webových aplikací, SPA vs MPA, server-side rendering (SSR) vs client-side rendering (CSR).
2. Model asynchronního I/O v JavaScriptu v prohlížeči a v Node.js
3. Architektura síťové komunikace v prohlížeči, XHR a FetchAPI.
4. Principy webové bezpečnosti, Same-Origin Policy, Cookies a CSRF ochrana
5. Útoky na Webu a ochrana proti nim, CORS, XSS, SQL Injection, Clickjacking, Content Security Policy.
6. Autentizace, autorizace a zabezpečení komunikace na Webu, TLS, HSTS, RBAC.
7. (2) JWT a moderní autentizační protokoly, Struktura JWT, OAuth2, OpenID Connect.
8. Streaming a realtime komunikace na Webu, protokoly SSE, WebSockets, gRPC-Web.
9. GraphQL a rozdíl oproti REST, API Gateway.
10. Distribuované systémy a škálování na Webu, Load balancing, CDN, caching, API rate limiting.
11. Architektura webové aplikace v Kubernetes.
12. Monitoring, observability a debugging Webových aplikací.
- Osnova cvičení:
-
bude doplněno
- Cíle studia:
-
Studenti se seznámí s moderními architekturami webových aplikací jako je SPA a MPA. Získají přehled o modelu asynchronního I/O v JavaScriptu, síťové komunikaci v prohlížeči a technologiích jako XHR, FetchAPI, SSE, WebSockets a gRPC-Web. Předmět pokrývá také webovou bezpečnost, včetně Same-Origin Policy, CSRF, CORS, TLS, JWT a OAuth2, a ochranu proti útokům. Studenti se dále naučí rozdíly mezi REST a GraphQL a principy škálování distribuovaných aplikací. Součástí je i nasazení a monitoring webových aplikací v Kubernetes s využitím Prometheus a OpenTelemetry.
- Studijní materiály:
-
1. Newman, S.: Building Microservices (2nd Edition). OReilly, 2019. ISBN 978-1492034025.
2. Pollard, B.: HTTP/2 in Action. Manning Publications, 2019. ISBN 978-1617295164.
3. Grigorik, I.: High Performance Browser Networking. O'Reilly Media, 2013. ISBN 9781449344757.
- Poznámka:
-
https://courses.fit.cvut.cz/NI-AM2/ The course is presented in Czech.
- Další informace:
- https://courses.fit.cvut.cz/NI-AM2/
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů:
-
- Kvantová informatika (volitelný předmět)
- Mgr. program Aplikovaná informatika (kód ANI) pro fázi studia bez specializace (VO)
- Mgr. specializace Embedded systémy (VO)
- Mgr. specializace Manažerská informatika, 2026 (VO)
- Mgr. specializace Softwarové inženýrství, program ANI (VO)
- Mgr. specializace Webové inženýrství (PS)
- Mgr. specializace Visual computing a Game design (VO)
- Mgr. specializace Počítačová bezpečnost, 2026 (volitelný předmět)
- Mgr. specializace Počítačové systémy a sítě, 2026 (volitelný předmět)
- Mgr. specializace Teoretická informatika, 2026 (volitelný předmět)
- Mgr. specializace Programovací jazyky, 2026 (volitelný předmět)
- Mgr. specializace Umělá inteligence, 2026 (volitelný předmět)
- Mgr. program, pro fázi studia bez specializace, ver. pro roky 2026 a vyšší (volitelný předmět)