Adresaci Szkolenia:

Szkolenie adresowane jest do programistów Java pragnących zapoznać się z technologią GWT (dawne Google Web Toolkit), pozwalającą na tworzenie bogatych aplikacji internetowych (RIA), biblioteką Guice, zapewniającą realizację koncepcji wstrzykiwania zależności oraz JPA, służącą do zaimplementowania warstwy trwałości aplikacji.

Cel szkolenia:

Uczestnicy dowiedzą się, jakie współczesne technologie wspierają tworzenie bogatych aplikacji internetowych i jakie miejsce wśród nich zajmuje GWT. Uczestnicy nauczą się tworzyć atrakcyjną warstwę interfejsu przy pomocy GWT, w tym zasady tworzenia własnych komponentów. Omówiona zostanie koncepcja komunikacji warstwy interfejsu z warstwą logiki, wstrzykiwania zależności, a także możliwość integracji z biblioteką Google Guice, GIN i z JPA. Zaprezentowany zostanie proces tworzenia kompletnej aplikacji internetowej z wykorzystaniem GWT, wraz z aspektami internacjonalizacji, walidacji danych wprowadzanych przez użytkownika, bezpieczeństwa, architektury i testowania. Przedstawiona zostanie również gama dodatkowych bibliotek wspierających tworzenie aplikacji w GWT.

Mocne strony szkolenia:

Szkolenie nie tylko przekazuje arkana tworzenia w GWT, lecz również umiejscawia technologię na tle innych możliwych rozwiązań, zwracając również uwagę na zagadnienia integracji. Takie podejście pozwala na świadome korzystanie z technologii i podejmowanie decyzji dotyczących doboru technologii.

Wymagania:

Od uczestników szkolenia wymagana jest umiejętność programowania w języku Java (polecamy kurs J/JP).

Dodatkowo znajomość zagadnień tworzenia aplikacji internetowych w Java Enterprise Edition ułatwiłaby postrzeganie omawianej technologii na tle większego zagadnienia, jakim są RIA.

Parametry szkolenia:

5*8 godzin (5*7 godzin netto) wykładów i warsztatów (z wyraźną przewagą warsztatów). W trakcie warsztatów, oprócz prostych ćwiczeń, projektowana i implementowana jest aplikacja obejmująca zasięgiem wszystkie omawiane aspekty GWT i technologie dodatkowe.

Wielkość grupy: maks. 8-10 osób.

Program szkolenia

  1. Wprowadzenie do RIA
    1. Współczesne technologie RIA
    2. Podstawy technologiczne aplikacji RIA w tym AJAX
    3. GWT na tle innych technologii RIA w szczególności JSF/Richfaces
  2. Podstawy tworzenia aplikacji w GWT
    1. Idea i zasada działania aplikacji GWT
    2. Budowa aplikacji
    3. Kod kliencki
    4. Kod serwerowy
    5. Komunikacja
    6. Narzędzia developerskie
    7. Generacja szkieletu projektu
    8. Struktura aplikacji/moduły
    9. Kompilacja
    10. Wdrożenie
    11. Uruchamianie w trybach deweloperskim i produkcyjnym
    12. Debugowanie
  3. Tworzenie warstwy interfejsu w GWT
    1. Idea programowania komponentowo-zdarzeniowego
    2. Przegląd komponentów standardowych GWT
    3. Rozmieszczenie komponentów
      1. programowalne
      2. deklaratywne
    4. Dostosowanie wyglądu (style)
    5. Zdarzenia i słuchacze
    6. Formatowanie liczb, dat i ciągów
    7. Tworzenie własnych komponentów
    8. Zewnętrzne biblioteki komponentów
      1. Ext GWT (GXT)
      2. Smart GWT
      3. Vaadin
  4. Wykorzystanie zasobów zewnętrznych
    1. Zasoby binarne
    2. Zasoby graficzne
    3. Zasoby tekstowe
    4. Arkusze stylów
  5. Warstwa logiki i integracja z warstwą interfejsu
    1. Zasada komunikacji warstwy interfejsu z warstwą logiki
    2. Podstawy XML-RPC / GWT-RPC
    3. Tworzenie serwisów przy pomocy biblioteki GWT
    4. Wywoływanie serwisów
    5. Obsługa sytuacji wyjątkowych
  6. Internacjonalizacja
  7. Architektura aplikacji GWT
    1. Wzorzec Model-View-Presenter
    2. Event Bus
    3. Wzorzec Command
    4. Walidacja danych
    5. Data binding – Editors Framework
  8. Zagadnienia zaawansowane i dobre praktyki programistyczne
    1. Logowanie przebiegu działania aplikacji
    2. Tworzenie niskopoziomowego kodu przy pomocy JSNI
    3. Wykorzystanie zewnętrznych bibliotek JS w aplikacji GWT
    4. Komunikacja JSON i XML z serwisami zdalnymi
    5. Komunikacja z serwerem za pomocą RequestFactory
    6. Walidacja danych za pomocą BeanValidation (JSR 303)
  9. Bezpieczeństwo aplikacji
    1. Uwierzytelnianie użytkownika
    2. Kontrola dostępu do zasobów
    3. Obsługa sesji
    4. Zapobieganie atakom typu XSS
  10. Tworzenie rozwiązań portalowych z wykorzystaniem GWT
  11. Testowanie i optymalizacja działania aplikacji
    1. Testowanie logiki warstwy klienckiej aplikacji (mock testing)
    2. Testowanie interfejsu warstwy klienckiej aplikacji (automatyzacja testów w przeglądarce)
    3. Dzielenie aplikacji na fragmenty pobierane asynchronicznie
    4. Optymalizacja wielkości aplikacji oraz czasu kompilacji
    5. Optymalizacja wywołań RPC
    6. Wykrywanie „wąskich gardeł” aplikacji w warstwie klienckiej (analiza kodu Javascript i wykorzystanie SpeedTracer)
    7. Testowanie warstwy serwerowej aplikacji
  12. Realizacja paradygmatu wstrzykiwania zależności za pomocą Google GIN i Guice
    1. Omówienie koncepcji wstrzykiwania zależności
    2. Konfiguracja zależności
    3. Rodzaje wstrzykiwania zależności
    4. Dobre praktyki programistyczne
  13. Przechowywanie stanu aplikacji po stronie serwera z wykorzystaniem JPA
    1. Mapowanie relacyjno-obiektowe
    2. Klasy encyjne
      1. klasy proste
      2. klasy zagnieżdżone
      3. zmiana domyślnych mapowań
    3. Asocjacje – z uwzględnieniem krotności i kierunkowości
    4. Klucze
      1. proste
      2. złożone
      3. automatyczne generowanie kluczy
    5. Kontekst trwałości
      1. - zarządzany przez kontener i zarządzany przez aplikację
      2. - transakcyjny i rozszerzony cykl życia
    6. Operacje utrwalające
    7. Tworzenie zapytań w EJB-QL
    8. Metody nasłuchiwania cyklu życia
    9. Modele i implementacja dziedziczenia
    10. Konfiguracja i wdrożenie
    11. Zagadnienia spójności danych, optimistic i pessimistic locking
    12. Cache drugiego poziomu (hibernate)
    13. Testowanie komponentów wykorzystujących JPA
  14. Przegląd bibliotek dodatkowych:
    1. Przekazywanie obiektów klas encyjnych za pomocą Gilead
    2. Integracja ze Spring Framework za pomocą GWT-SL
    3. Zapewnienie komunikacji typu ajax-push za pomoca biblioteki gwt-comet
  15. GWT a narzędzia budowania aplikacji
    1. Ant
    2. Maven
  16. Przegląd możliwych integracji GWT z innymi technologiami
    1. Servlet + EJB
    2. Spring
    3. Seam
  17. Wdrożenie aplikacji w usłudze Google App Engine
    1. Konfiguracja Google GIN i Guice
    2. Koniguracja JPA
    3. Funkcjonalność nie wspierana przez Google App Engine
  18. Podsumowanie zaproponowanego sposobu tworzenia aplikacji internetowych

Pytania?

* Wymagane.
** Szczegóły promocji w Regulaminie.


Konsultant on-line
Skorzystaj z usług naszego konsultanta on-line.
Naciśnij przycisk ‘Skorzystaj’ aby przejść do okienka czatu
Kontakt
ul. Nowogrodzka 62c
02-002 Warszawa
Telefon +48 22 2035600
Fax +48 22 2035601
Email