Zaproszenie do udziału w szkoleniu

“Tworzenie aplikacji Java EE 6
(Java Enterprise Edition)”

Cel szkolenia

Java EE jest obecnie najpowszechniej wykorzystywaną technologią do tworzenia złożonych, rozproszonych aplikacji, które wymagają dostępu z poziomu różnego rodzaju klientów (aplikacje desktopowe, przeglądarka stron WWW, usługa sieciowa).

Technologia ta, mimo niekwestionowanej niezawodności i elastyczności, była często oskarżana o niepotrzebną złożoność i bycie trudną do opanowania w krótkim czasie. Wersja szósta Java EE, której będziemy używać w czasie szkolenia, usuwa niepotrzebne przeszkody, jakie natrafiali programiści i architekci aplikacji.

W czasie szkolenia zajmiemy się strukturą Java EE, podstawami tworzenia architektury aplikacji przy wykorzystaniu odpowiednich wzorców architektonicznych i przede wszystkim późniejszej jej implementacji z zastosowaniem odpowiednich wzorców projektowych. Konsekwencją wyboru konkretnej architektury będzie odpowiedni model wdrożeniowy.

Java EE 6 pozwala na znacznie większą elastyczność projektowania aplikacji ze względu na wykorzystanie nowoczesnego patrzenia na architekturę aplikacji: modularność, wykorzystanie „czystych” klas Java (POJO), zastosowanie wstrzykiwania zależności.
Zajmiemy się także problemem testowania aplikacji Java EE, poznamy wbudowane w standard mechanizmy, które nam to umożliwią.

Zakres szkolenia obejmuje najważniejsze technologie wchodzące w skład Java EE:

    • Technologie WWW: Serwlety (Java Servlets), JSP (Java Server Pages) oraz JSF (Java Server Faces).
    • Komponenty EJB i technologia Java Persistence API
    • Podstawy usług sieciowych (Web Services) JAX-WS i JAX-RS (**)

Oprócz samej technologii poznamy także narzędzia przyspieszające pracę: platformę Eclipse wraz z wtyczkami wspomagającymi tworzenia aplikacji Java EE (*).

W czasie szkolenia będziemy używali serwera aplikacji GlassFish lub JBoss (*).

Uczestnicy

Szkolenie jest przeznaczone dla osób znających podstawy języka Java, które chcą nauczyć się tworzenia aplikacji Java EE.

 

Korzyści z udziału w szkoleniu

Uczestnicy szkolenia posiądą następujące umiejętności:

  • Poznanie najważniejszych technologii służących do tworzenia aplikacji WWW: Java Servlets, JSP i JSF (Java Server Faces)
  • Poznanie Java Persistence API oraz komponentów EJB 3.X
  • Poznanie standardów do tworzenia usług sieciowych
  • Poznanie środowiska programistycznego ułatwiającego tworzenie aplikacji Java EE oraz pracy z serwerem aplikacyjnym

Program

    1. Wstęp. Platforma Java EE. Technologie składające się na Java EE.
      • Komponenty EJB. Implementacja logiki biznesowej aplikacji.
          • Podstawowe informacje o EJB. Kiedy stosować i kiedy nie stosować EJB
          • Logika działania EJB. EJB jako warstwa pośrednia (middleware). Elementy składowe komponentu EJB (obowiązkowe i opcjonalne), wsteczna kompatybilność EJB.
          • Typy komponentów EJB
          • Komponenty sesyjne EJB – podstawy. Konfiguracja komponentów przy pomocy metadanych. Komponenty stanowe i bezstanowe. Problemy wydajnościowe. Pule obiektów, mechanizm usypiania i aktywacji
          • Tworzenie klientów dla komponentów EJB
          • Komponenty typu Singleton.
          • Wdrażanie komponentów EJB na serwerze jako archiwów JAR. Praca z serwerem aplikacyjnym (JBoss lub GlassFish)
      • Technologia Java Persistence API (JPA 1.0)
          • Java Persistence – most relacyjno obiektowy.
          • Encje JPA – podstawowe właściwości. Zapytania do bazy danych wykorzystujące JPA QL. Problem blokowania rekordów: blokowanie optymistyczne i pesymistyczne.
          • Interfejsy EntityManager i EntityManagerFactory. Zarządzanie obsługą bazy danych przez serwer aplikacji. Wstrzykiwanie zależności (ang. Dependency Injection).
          • Wykorzystanie relacji w ramach JPA. Operacje kaskadowe, praca z kolekcjami obiektów.
          • Tworzenie efektywnego modelu obiektowego za pomocą encji JPA: dziedziczenie, polimorfizm, kompozycja. Wybór strategii odzwierciedlenia dziedziczenia w bazie danych.
          • Praca z obiektami trwałymi (encjami), synchronizacja z bazą danych, problem unikalności i porównywania obiektów. Obiekty w stanie przejściowym, trwałym i odłączonym.
          • Przegląd możliwości języka zapytań JPA QL (JPA Query Language) oraz interfejsu Criteria.
      • Walidatory (Bean Validation). Spójny sposób przeprowadzania walidacji w całej aplikacji Java EE. Wykorzystywanie wbudowanych walidatorów i tworzenie własnych.
        • Działanie kontenera EJB w trybie wbudowanym. Testowanie komponentów EJB.
          • Komponenty sesyjne EJB – tematy zaawansowane
              • Współdziałanie komponentów
              • Interceptory
              • Metody asynchroniczne w komponentach sesyjnych
              • Transakcje. Obsługa transakcji zarządzana przez serwer aplikacji – Java Transaction API. Samodzielna obsługa transakcji.
          • Wstrzykiwanie zależności. Nowe możliwości Java EE 6, zastosowanie Contexts and Dependency Injection for the Java EE Platform (CDI). Wstrzykiwanie zasobów dowolnego typu. Konsekwencje architektoniczne. Tworzenie modularnych aplikacji wykorzystujących wstrzykiwanie zależności.
            • MOM (Message Oriented Middelware) – asynchroniczna komunikacja między komponentami EJB.
                • Kiedy używać MOM
                • Java Messaging Service (JMS)
                • EJB Message Driven Beans (MDB), czyli komponenty zorientowane na komunikaty. Typowe zastosowania MDB. Typy komunikatów.
            • Najlepsze praktyki tworzenia EJB. Kwestie wydajności.
              • Architektura aplikacji Java EE. Wzorce i antywzorce projektowe. Wzorzec Model-Widok-Kontroler (Model-View-Controller).
                • Podstawowe technologie tworzenia aplikacji WWW:
                    • Struktura aplikacji WWW
                    • Opis (deskryptor) aplikacji WWW, konfiguracja przy pomocy metadanych, Modularyzacja pliku web.xml; podział na „fragmenty”.
                    • Przygotowanie aplikacji do wdrożenia: pliki WAR (Web Archive).
                    • Serwlety (Java Servlets). Serwlet – centralny element aplikacji. Działaniem serwletów w środowisku wielowątkowym. Tworzenie sesji, śledzenie sesji, uwierzytelnianie użytkowników. Filtry Serwletów. Dynamiczne deklarowanie serwletów i filtrów serwletów. Asynchroniczne wywoływanie serwletów.
                    • Java Server Pages. Niepoprawne i poprawne wykorzystanie JSP. Przetwarzanie danych z formularzy HTML. Komunikacja poprzez komponenty JavaBeans. Łączenie Serwletów i JSP.
                    • Biblioteki znaczników (ang. taglibs). Biblioteka JSTL.
                    • Wykorzystanie komponentów EJB i technologii Java Persistence API w serwletach. Najlepsze praktyki.
                • Zabezpieczanie aplikacji Java EE. Deklaratywne i programowane sposoby zabezpieczania. Autoryzacja wykorzystująca role. Zabezpieczanie komponentów EJB. Uwierzytelnianie i autoryzacja klientów przy pomocy JAAS (Java Authentication and Authorization Service). Zabezpieczanie aplikacji WWW.
                  • Tworzenie aplikacji WWW przy pomocy JavaServer Faces
                      • Podstawy: koncepcja i zastosowania. Sterowanie przebiegiem działania aplikacji z poziomu JSF. JSF jako technologia komponentowa: obsługa zdarzeń.
                      • Facelets – optymalny sposób tworzenia stron JSF. Tworzenie szablonów i komponentów Facelets
                      • Obsługa formularzy, walidacja i konwersja danych
                      • Wykorzystywanie i tworzenie komponentów JSF. Biblioteki RichFaces i ICE Faces. Komponenty wykorzystujące technologię AJAX (Asynchronous JavaScript and XML), natywne wsparcie dla AJAX-a w JSF 2.X.
                      • Łączenie komponentów JSF z bazą danych przy pomocy JPA, wykorzystanie komponentów EJB.
                      • Internacjonalizacja (lokalizacja) aplikacji WWW. Zintegrowane zarządzanie zasobami aplikacji.
                  • Wdrażanie aplikacji Java EE. Archiwa EAR. Wdrażanie aplikacji wyłącznie przy wykorzystaniu archiwum WAR. Specyfikacja EJB Lite. Pliki konfiguracyjne versus metadane.
                    • Usługi sieciowe JAX-WS i REST – ogólny przegląd (**)
                        • Usługi sieciowe (web services) – informacje wstępne
                        • Kiedy warto i nie warto używać usług sieciowych
                        • Standardy usług sieciowych SOAP/WSDL oraz REST
                        • Technologie usług sieciowych dostępne w ramach JavaEE 6
                        • Praktyczne wykorzystanie usług sieciowych

                      (*) W przypadku szkoleń zamkniętych na życzenie klienta jest możliwe wykorzystanie zamiast Eclipse’a środowiska NetBeans IDE lub MyEclipse IDE firmy Genuitec lub IntelliJ IDEA. Podobnie zamiast serwera JBoss może być używany serwer GlassFish.
                      (**) Zagadnienia, które będą omawiane wtedy, gdy starczy na nie czasu.

                  Czas trwania

                  5 dni szkoleniowych

                  Koszt

                  3700 PLN + VAT

                  Metoda prowadzenia

                  Wykład i zajęcia praktyczne.

                  Wersja e-learningowa

                  Brak.

                  Do pobrania

                  Planowane realizacje

                  Subskrybuj nasz Newsletter

                  Otrzymasz dostęp do darmowych materiałów szkoleniowych
                  i nie przegapisz żadnej z istotnych naszych inicjatyw.