Kompleksowe tworzenie nowoczesnych aplikacji internetowych w oparciu o GWT, Guice i JPA

LICZBA DNI: 5 (40h)

KOD KURSU: GWT

# java

# web-services

# web

# google

# jpa

Autor szkolenia:
Łukasz Kobyliński

Szkolenie na zamówienie

Szkolenie dostosowane do potrzeb Twojego zespołu. Dostępne WYŁĄCZNIE na zamówienie.

  • Dostosowany program
  • Indywidualna wycena
  • Dowolny termin

Interesuje Cię ta tematyka i szukasz szkolenia tylko dla siebie?

O szkoleniu

DLA KOGO?

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.

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.

ZALETY

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.

Cele szkolenia

Dowiedzenie się, jakie współczesne technologie wspierają tworzenie bogatych aplikacji internetowych i jakie miejsce wśród nich zajmuje GWT.

Nauka tworzenia atrakcyjnej warstwy interfejsu przy pomocy GWT, w tym zasady tworzenia własnych komponentów.

Omówienie koncepcji komunikacji warstwy interfejsu z warstwą logiki, wstrzykiwania zależności, a także możliwość integracji z biblioteką Google Guice, GIN i z JPA.

Zaprezentowannie procesu tworzenia kompletnej aplikacji internetowej z wykorzystaniem GWT, wraz z aspektami internacjonalizacji, walidacji danych wprowadzanych przez użytkownika, bezpieczeństwa, architektury i testowania.

Przedstawienie gamy dodatkowych bibliotek wspierających tworzenie aplikacji w GWT.

Program

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

POLITYKA COOKIES:

Korzystamy z plików cookies, by móc jak najlepiej dostosować stronę do Twoich potrzeb oraz wyświetlać Ci przydatne i adekwatnych dla Ciebie reklamy w serwisie i poza nim. Możesz kontrolować ustawienia ciasteczek w swoich ustawieniach swojej przeglądarki. Odwiedzając tę stronę, wyrażasz zgodę na wykorzystywanie przez nas plików cookies.