ÚVOD / Studijní obory / Sylaby / Vývoj v Java EE

Vývoj v Java EE

Cílem předmětu je seznámit studenty se základními principy vývoje rozsáhlých podnikových aplikací při použití Java Platform, Enterprise Edition. Vymezení Java EE, historie, verze, základní pojmy, architektura. Komponenta, kontejner, struktura aplikace. Přehled API Java EE. Implementace prezentační vrstvy, servlety, JSP stránky, JavaServer Faces. Vytváření uživatelských vizuálních prvků, práce s formuláři, parametry, práce se session. Implementace business vrstvy, úvod do technologie EJB, typy a možnosti EJB, stateless a stateful beans, bean-managed persistence, container-managed persistence. Asynchronní zpracování zpráv, Java Message Service, message-driven beans. Contexts and Dependency Injection, deklarace závislostí mezi objekty, podpora konverzací, události a jejich zpracování. Webové služby, implementace SOAP v Java EE. Spring jako alternativa pro implementaci aplikační logiky.

Sylabus předmětu

  1. Úvod do Java EE - Základní informace o průběhu kurzu a probírané látce. Představení architektury Java EE. Vícevrstvé aplikace – popis prezentační, aplikační a business vrstvy a přehled používaných technologií. Co jsou to kontejnery a komponenty. Přehled Java EE serverů.
  2. Webové aplikace I - Princip servletů (rozhraní HttpServletRequest a HttpServletResponse) a JSP. Fáze zpracování HTTP požadavku v JSF. Použití Facelets pro popis stromu komponent. Základní JSF komponenty. Základy JSF EL.
  3. Webové aplikace II - Konverze a validace dat v JSF. Bean Validation. Standardní komponenty JSF. Knihovny komponent třetích stran.
  4. Webové aplikace III - Uživatelské komponenty a composite komponenty pomocí Facelets. Události v JSF 2.0Voláni obchodní logiky, Internacionalizace.
  5. Webové aplikace IV - Knihovna RichFaces, datové komponenty - tabulky a stromy, praktické použití AJAX. Conversation scope a anotace pro dependency injection, stavová navigace. Diskuze problémů webových aplikací
  6. Enterprise JavaBeans I - Distribuovaná obchodní logika a problematika s ní související. Stateless Session Bean a Stateful Session Bean, rozdíl mezi nimi, deklarace vzdáleného rozhraní, implementace, vyhledání přes JNDI, životní cyklus. Dependency injection při implementaci Session Beans. Nasazení na server.
  7. Enterprise JavaBeans II - Podpora transakcí. Zabezpečení v Java EE, autentizace, deklarativní autorizace a její omezení. Plánování úloh. Java Connector Architecture.
  8. Java Message Service - Zasílání a příjem zpráv v Java EE. Synchronní a asynchronní zasílání/příjem zpráv. Message-Driven Beans. Podmíněný příjem zpráv. Možnosti zpětné vazby odesílateli. Komunikační modely point-to-point a publish-subscribe.
  9. Contexts and Dependency Injection I  - Poznat možnosti propojení webových aplikací s obchodní logikou.
  10. Contexts and Dependency Injection II - Rozšířit si znalosti o dependency injection
  11. Web Services - Co jsou to webové služby a k čemu slouží. Srovnání SOAP a REST. Definice WSDL (Web Service Definition Language) a generování kódu z WSDL. Deployment deskriptor modulu s webovou službou. Registrace služby pomocí UDDI. Implementace webové služby, ošetření chyb, implementace pomocí SLSB.
  12. Spring Framework - Zobecnění dependency injection. Volné spojení objektů a služeb. Spring EL, Komponentový model. Spring Security - autentizace, autorizace. ACL pro doménové objekty, srovnání s JEE standardy.

Organizace výuky

Prezenční forma

Výuka probíhá ve 12 přednáškách a 12 seminářích po 1,5 hod.

Kombinovaná forma

Výuka probíhá ve 4 tutoriálech po 3 hod.

Doporučená literatura

Základní učební texty a pomůcky

  • Učební texty k předmětu Vývoj v Java EE (intranetová učební pomůcka), Unicorn College
  • GUPTA, A.: Java EE 6 Pocket Guide, O'Reilly Media, 2012

Doplňující a rozšiřující učební texty

  • BIEN, A.: Real World Java EE Patterns: Rethinking Best Practices, Lulu Press, 2009