|
Kod Szkolenia: J/WEB2 Tytuł Szkolenia: Nowoczesne aplikacje internetowe oparte na Seam, JSF, EJB3, JPA, AJAX
Adresaci szkolenia: Szkolenie adresowane jest do programistów aplikacji internetowych na platformie JEE, pragnących uzupełnić swoje kwalifikacje o najnowsze technologie, a także dla osób znających język Java i pragnących rozpocząć swoją przygodę z aplikacjami internetowymi od najnowszych technologii. Cel szkolenia: Uczestnicy dowiedzą się jak projektować i implementować aplikacje na platformie JEE z wykorzystaniem technologii będących treścią szkolenia. Celem szkolenia jest zdobycie umiejętności tworzenia skalowanych aplikacji, zgodnie z arkanami sztuki: od komponentów biznesowych po wysoce ergonomiczne i funkcjonalne interfejsy wpisujące się w nurt WEB 2.0. W szczególności: Uczestnicy szczegółowo poznają technologię prezentacji JSF w oparciu o JSP i facelets, włącznie z tworzeniem własnych walidatorów, konwerterów czy komponentów. Zaznajomią się z popularnymi, bogatymi bibliotekami komponentów, takimi jak RichFaces, IceFaces. Nauczą się projektować i implementować warstwę logiki biznesowej w oparciu EJB 3.0, w połączeniu z mechanizmem mapowania relacyjno-obiektowego JPA (Hibernate). Poznają framework Seam, obecnie jeden z najpopularniejszych frameworków, adresujących aplikacje oparte na JPA EJB i JSF. Dowiedzą się jak Seam przyspiesza prace nad tworzeniem aplikacji WWW, jak rozwiązuje typowe problemy aplikacji WWW, jak poprawia ergonomie i wydajność aplikacji, z jakimi technologiami integruje się Seam jaka wartość do aplikacji mogą one wnieść. Wymagania: Od uczestników szkolenia wymagana jest umiejętność programowania w języku Java (do poznania na kursie J/JP), podstawy relacyjnych baz danych i SQL. Zalecana jest również umiejętność tworzenia aplikacji webowych w technologiach Servlet/JSP (do poznania na kursie J/WEB1). Mocne strony szkolenia: Program obejmuje całościowo i wyczerpująco zagadnienia tworzenia aplikacji internetowych. W przeciwieństwie do większości szkoleń, szkolenie to nie koncentruje się na jednej technologii, lecz zawiera najważniejsze zagadnienia z wybranych technologii. Dzięki temu, uczestnicy po skończeniu szkolenia, będą mogli tworzyć samodzielnie kompletne aplikacje WWW, uzupełniając już we własnym zakresie wiedzę o pojawiające się nowe potrzeby. Program jest ciągle uaktualniany, tak, by uwzględniać nowo powstające trendy. Parametry szkolenia: 5*7 godzin wykładów i warsztatów w proporcji 1/3. W trakcie warsztatów, oprócz prostych ćwiczeń, projektowana i implementowana jest prosta kompleksowa aplikacja. Wielkość grupy: maks. 8-10 osób. Polecane szkolenia poprzedzające: J /Web1, J/JP Program Szkolenia: 1. Wstęp • Wprowadzenie do platformy Java Enterprise Edition • Omówienie komponentów i specyfikacji JEE w tym JNDI, JMS, RMI, Servlet, JSP, EJB, webserwisy, • Zagadnienia projektowania aplikacji na platformie JEE, doboru technologii, bezpieczeństwa etc. 2. Warstwa logiki biznesowej – komponenty EJB • Komponenty EJB 3.0 – rodzaje i zasada działania: i. Zasada działania ii. Rodzaje komponentów • Komponenty sesyjne: i. Stanowe ii. Bezstanowe iii. cykl życia i nasłuchiwanie cyklu życia iv. Dostęp lokalny i zdalny, • Inversion of Control w odwoływaniu do zasobów • Interceptory • Model wyjątków • Komponenty Sterowane Wiadomością: i. Zasada działania ii. Rodzaje komunikacji iii. Konfiguracja i deployment • Bezpieczeństwo komponentów • Transakcje zarządzane przez kontener i aplikację • Testowanie komponentów EJB • Usługi czasowe (TimerService) • Usługi webservice w kontekście EJB i. Podstawy webservice ii. JAX-WS a EJB 3. Java Persistence API (przy użyciu Hibernate): • Mapowanie relacyjno-obiektowe • Klasy Encyjne i. klasy proste ii. klasy zagnieżdżone iii. Zmiana domyślnych mapowań • Asocjacje – z uwzględnieniem krotności i kierunkowości • Klucze i. Proste ii. Złożone iii. Automatyczne generowanie kluczy • Kontekst trwałości (PersistentContext): i. Zarządzany przez kontener i zarządzany przez aplikację ii. Transakcyjny(Transaction) i rozszerzony(Extended) cykl życia • Operacje utrwalające • Tworzenie zapytań w EJB-QL • Metody nasłuchiwania cyklu życia • Modele i implementacja dziedziczenia, • Konfiguracja i deployment • Zagadnienia spójności danych, optimistic i pesimistic locking • Cache drugiego poziomu (hibernate) • Testowanie komponentów wykrozystujących JPA • Korzystanie z JPA w warstwie Webowej i aplikacji typu “desktop” 4. Interfejs Webowy • Wprowadzenie do JSF i. Typowe problemy aplikacji Webowej ii. Wprowadzenie do modelu komponentowo-zdarzeniowego • Cykl przetwarzania żądania • Fazy cyklu • Zagadnienia obejmujące kilka faz • Komponentowy model interfejsu • Model konwersji i. Konwertery wbudowane ii. Tworzenie konwerterów • Model walidacji i. Walidatory wbudowane ii. Tworzenie walidatorów • Model zdarzeń • Główne klasy i interfejsy • Przegląd dostępnych komponentów standardowych • Model zarządzania beanami logiki • Expression Language • Model nawigacji • Główne składowe aplikacji JSF i internacjonalizacja • Zarządzanie cyklem żądania • JSF w opraciu o JSP i. Podstawy JSP ii. Biblioteka HTML iii. Biblioteka Core • JSF w oparciu o facelets i. Korzyści wynikające z technologii ii. Instalacja i konfiguracja iii. Mechanizmy templatowania iv. Tagi wbudowane v. Tworzenie własnych Tagów • Typowe problemy przy tworzeniu interfejsu min i. Formularz w postaci tabelki ii. „Inteligentna” paginacja iii. Master-Detail, LOV • Tworzenie własnych komponentów i. Tworzenie komponentów ii. Tworzenie rendererów iii. Tworzenie Tagów • Testowanie interfejsu zbudowanego na JSF 5. Tworzenie aplikacji WWW z użyciem technologii AJAX • Koncepcja AJAX i modele komunikacji • Przegląd podejść do tworzenia aplikacji AJAX(warstwowe – JSF, klient-serwer – GWT, …) • Tworzenie aplikacji AJAX „od zera” (XMLHttpRequest) • Podstawy bibliotek Prototype i Jquery w kontekście manipulacji drzewem DOM i komunikacji AJAX i. Ajax4JSF ii. Wady i zalety podejścia iii. Architektura silnika – zasada działania iv. Przegląd możliwości v. Zagadnienia związane z wydajnością (kolejkowanie, opóźnianie, unieważnianie żądań, zmniejszanie wielkości żądania) vi. Wpływanie na cykl życia JSF vii. Ajax4JSF a JSON • Richfaces i. Przegląd możliwości Richfaces ii. Konfiguracja wyglądu (skórki) iii. Walidacja iv. RF a jquery, script.aculo.us 6. Przegląd innych bibliotek JSF • IceFaces • myFaces • Tomahawk • Woodstock • I inne 7. Seam • Wstęp do Seam i. Zadania Seam ii. Architektura aplikacji opartych na Seam • Model komponentowy Seam i. Komponenty Seam 1. typy 2. sposoby definiowania 3. role 4. cykl życia 5. przegląd komponentów wbudowanych ii. Konteksty Seam 1. rodzaje kontekstów 2. dostęp do kontekstów a współbieżność 3. komunikacja między-kontekstowa iii. Bijekcja iv. Metody fabrykujące i zarządzające • Praca z projektem i. Generacja szkieletu aplikacji – Scaffolding ii. Narzędzia wspierające implementacje w Seam w tym JBOSS Tools/ Redhat developer studio iii. Debugowanie aplikacji Seam • Seam jako framework MVC do tworzenia aplikacji internetowych i. Model nawigacji 1. pages.xml 2. jPDL pageflow 3. nawigacja a MVC a. pull-MVC vs push-MVC, b. akcje ii. Seam a REST iii. Obsługa wyjątków 1. antotacje 2. pages.xml 3. wyjątki a transakcje iv. Konwersja i Walidacja 1. Komponenty Seam jako konwertery i walidatory JSF 2. Hibernate Validators a walidacja 3. Dekoracje i ajax4jsf v. Internacjonalizacja i Personalizacja Aplikacji 1. Lokalizacja 2. Strefy czasowe 3. Skiny vi. Konwersacje 1. Cykl życia konwersacji 2. Propagacja konwersacji 3. Workspace i BreadCrumb 4. Konwersacje z SFSB i optymalizacja styku aplikacja -> baza danych vii. Seam application framework viii. Zarządzanie transakcjami i trwałością przez Seam ix. Interfejs oparty o Gogle Web Toolkit (GWT) • Seam a intergracja i. integracja z silnikiem procesów biznesowych jBPM ii. integracja z silnikiem reguł Drools iii. integracja ze Spring iv. iText/PDF v. Email • Przegląd annotacji i komponentów Seam • Metody asynchroniczne i JMS • Zagadnienia wdrażania i. Konfiguracja i pakowanie aplikacji ii. Model bezpieczeństwa • Testowanie Aplikacji Seam i. Testy jednostkowe ii. Testy integracyjne • Zagadnienia wydajności i. Cache JPA ii. Cache stron • Zagadnienia związane z architekturą aplikacji webowej w kontekście Seam (pull-MVC,push-MVC, REST) • Narzędzia wspierające implementacje w Seam w tym JBOSS IDE / Redhat developer studio |






























































