PA165 Vývoj programových systémů v jazyce Java

Fakulta informatiky
podzim 2018
Rozsah
2/2. 4 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: z.
Vyučující
Bruno Rossi, PhD (přednášející), prof. RNDr. Tomáš Pitner, Ph.D. (zástupce)
prof. RNDr. Tomáš Pitner, Ph.D. (přednášející)
Ing. Petr Adámek (přednášející)
RNDr. Martin Kuba, Ph.D. (přednášející)
Bc. Martin Kotala (přednášející)
RNDr. Filip Nguyen (přednášející)
Mgr. Jiří Uhlíř (přednášející)
Mgr. Jakub Čecháček (cvičící)
Mgr. Ing. Petr Bartusek (pomocník)
Radovan Šinko (pomocník)
Garance
doc. RNDr. Eva Hladká, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Kontaktní osoba: Ing. Petr Adámek
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky
Rozvrh
Po 17. 9. až Po 10. 12. Po 14:00–15:50 D2
  • Rozvrh seminárních/paralelních skupin:
PA165/01: Po 17. 9. až Po 10. 12. Po 16:00–17:50 B130, P. Adámek
PA165/02: Po 17. 9. až Po 10. 12. Po 18:00–19:50 B130, P. Adámek
PA165/03: Út 12:00–13:50 B130, M. Kuba
PA165/04: Út 18:00–19:50 B130, F. Nguyen
PA165/05: Po 17. 9. až Po 10. 12. Po 8:00–9:50 B130, J. Čecháček
PA165/06: Pá 14:00–15:50 B130, M. Kotala, J. Uhlíř
Předpoklady
Znalosti na úrovni předmětu PB162 a PV168. Základní znalosti značkovacích jazyků (XML a HTML) a databázových systémů.
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Předmět si smí zapsat nejvýše 200 stud.
Momentální stav registrace a zápisu: zapsáno: 0/200, pouze zareg.: 0/200, pouze zareg. s předností (mateřské obory): 0/200
Mateřské obory/plány
předmět má 23 mateřských oborů, zobrazit
Cíle předmětu
Studenti pochopí vybrané oblasti pokročilého návrhu systémů založených na nástrojích v jazyce Java, včetně implementace. Studenti se naučí pracovat s nejdůležitějšími API v: Java SE, Spring Framework, Java EE a Javascript rámci pro uživatelské rozhraní. Dalším cílem předmětu je naučit studenty pracovat v týmu, který vyvíjí rozsáhlý informační systém a používá při tom návrhové vzory pro rozsáhlé systémy.
Výstupy z učení
Student bude po absolvování předmětu schopen:
- používat v reálném vývoji pokročilé vývojové nástroje enterprise vývoje;
- ve vlastních systémech aplikovat návrhové a implementační vzory enterprise aplikací;
- psát aplikace s využitím persistence/ORM;
- vytvářet internetové aplikace na bázi servletů, JSP, taglibs;
- nasadit základních bezpečnostní prvků aplikací (autentizace, autorizace), bude umět poznat základní typy útoků proti především webovým IS;
- vytvořit základní webové uživatelské rozhraní na bázi HTML, CSS, javascriptivých rámců;
- aplikovat Spring framework (AOP, dependency injection, security, transactions, Spring Boot);
- objasnit, co jsou a k čemu slouží webové služby (REST, WS-* standardy), rámce pro jejich tvorbu a bude umět je v jednoduchých systémech zavést;
- objasnit, k čemu jsou systémy řízení zpráv (Messaging Systems) na bázi JMS a umět je základních způsobem použít v praktických systémech.
Osnova
  • Úvod do rozsáhlých Java aplikací a systémů
  • Vývojové nástroje (Netbeans, Maven, Git)
  • Enterprise vzory (DTO, DAO)
  • Persistence/ORM (JPA/Hibernate)
  • Internetové aplikace (servlets, JSP, taglibs, Java web containers)
  • Web application layers, security (authentication, authorization, main attacks), Spring MVC, client-side javascript frameworks (AngularJS), HTML, CSS, DOM
  • Spring framework (AOP, dependency injection, security, transactions, Spring Boot)
  • Web services (REST, WS-* standards), Spring-WS, JAX-RS
  • Messaging Systems (JMS)
Literatura
    povinná literatura
  • Expert one-on-one J2EE development without EJB. Edited by Rod Johnson - Juergen Hoeller. Indianapolis, Ind.: Wiley Pub., 2004, xxiv, 552. ISBN 0764558315. info
  • ALUR, Deepak, Dan MALKS a John CRUPI. Core J2EE patterns : best practices and design strategies. 2nd ed. Upper Saddle River: Prentice Hall, 2003, xxx, 650. ISBN 0131422464. info
    doporučená literatura
  • BLOCH, Joshua. Effective Java. 2nd ed. Upper Saddle River, N.J.: Addison-Wesley, 2008, xxi, 346. ISBN 9780321356680. info
Výukové metody
Přednášky, praktické semináře u počítačů, skupinový projekt, projektová prezentace
Metody hodnocení
Pro úspěšné ukončení předmětu je vyžadováno nejméně 70 bodů ze 100. Až 55 bodů je uděleno za projekt včetně prezentace a až 35 bodů za závěrečnou zkoušku.
Navazující předměty
Další komentáře
Studijní materiály
Předmět je vyučován každoročně.
Nachází se v prerekvizitách jiných předmětů
Předmět je zařazen také v obdobích podzim 2004, podzim 2005, podzim 2006, podzim 2007, podzim 2008, podzim 2009, podzim 2010, podzim 2011, podzim 2012, podzim 2013, podzim 2014, podzim 2015, podzim 2016, podzim 2017, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.