Adresaci szkolenia:

Szkolenie adresowane do programistów Java wykorzystujących platformę JEE, pragnących uporządkować posiadaną wiedzę i uzupełnić ją o najnowsze technologie związane z warstwą prezentacji.

Cel szkolenia:

Uczestnicy dowiedzą się jak projektować i tworzyć aplikacje na platformie JEE wykorzystujące framework AngularJS. Celem szkolenia jest zdobycie umiejętności tworzenia skalowanych aplikacji, zgodnie z arkanami sztuki: od komponentów biznesowych po ergonomiczne i funkcjonalne interfejsy wpisujące się w nurt WEB 2.0.

Mocne strony szkolenia:

Warsztatowy charakter szkolenia - w czasie zajęć uczestnicy wraz z prowadzącym realizują przez 5 dni jedną, dużą aplikację. Szkolenie nie koncentruje się na jednej technologii, ale demonstruje przekrojowo jak użyć całego stosu programistycznego w celu stworzenia realnego rozwiązania. Poruszane są życiowe problemy oraz dobre praktyki stosowane w kontekście integracji i wykorzystania poszczególnych technologii.

Wymagania:

Od uczestników wymagana jest podstawowa umiejętność programowania w języku Java oraz znajomość relacyjnych baz danych i języka SQL.

Parametry szkolenia:

5*7 godzin wykładów i warsztatów (z wyraźną przewagą warsztatów).

Program szkolenia

  1. Wprowadzenie
    • Platforma / specyfikacja Java Enterprise Edition
    • Model komponentowy
    • Serwery aplikacyjne
    • Klasyfikacja kontenerów i komponentów
    • Wdrażanie i uruchamianie aplikacji
  2. Enterprise JavaBeans
    • Klasyfikacja i charakterystyka poszczególnych komponentów
    • Cykl życia
    • Implementacja
    • Konfiguracja
    • Wykorzystanie (inne komponenty, aplikacje klienckie)
    • Wykorzystanie interceptorów
    • Komunikacja asynchroniczna
    • Inicjalizacja aplikacji przy starcie
    • Wstrzykiwanie zależności i zasobów
    • Testowanie
    • Usługa Timer Service
  3. Java Persistence API (JPA)
    • Specyfikacja JPA
    • Obiekty encyjne - tworzenie i konfiguracja
    • Encje zarządzane vs. niezarządzane
    • Jednostki utrwalania
    • Usługa EntityManager
    • Mapowanie encji (adnotacje, XML)
    • Klucze główne i strategie ich generowania
    • Mapowanie relacji
    • Propagacja kaskadowa
    • Odwzorowywanie dziedziczenia
    • Język JPA QL (składnia, operatory, klauzule, wyrażenia funkcjonalne)
    • Obsługa transakcji
  4. Context and Dependency Injection (CDI)
    • Standard JSR-299
    • Beany zarządzane
    • Inwersja kontroli i wstrzykiwanie zależności
    • Zasięgi i konteksty
    • Metody producentów (Producer methods)
    • Interceptory (Interceptors)
    • Dekoratory (Decorators)
    • Zdarzenia (Events)
    • Stereotypy (Stereotypes)
    • Alternatywy (Alternatives)
  5. Warstwa webowa
    • Aplikacje internetowe w Javie
    • Technologia Servletów
    • Facelets jako technologia widoku
    • Podstawy technologii JavaServer Faces
  6. Usługi sieciowe oparte o architekturę REST
    • Podstawowe założenia
    • Protokół HTTP w kontekście REST
    • Hypermedia
    • Projektowanie interfejsu usług
    • Wsparcie z poziomu Javy
    • Standard JAX-RS i jego implementacje
    • Budowa, wdrażanie i konfigurowanie usług
    • Mapowanie zasobów
    • Wyrażenia URI
    • Kontekst żądania
    • Wstrzykiwanie parametrów i konwersja typu
    • Obsługa nagłówków i ciasteczek
    • Statusy odpowiedzi i mapowanie wyjątków
    • Negocjacja treści i implementacja maperów
  7. Język JavaScript
    • Wprowadzenie i najważniejsze cechy języka
    • Typy danych
    • Instrukcje sterujące
    • Operatory
    • Konwersja typów
    • Funkcje - klasyfikacja , charakterystyka, wzorce użycia
    • Zasięg zmiennych oraz hoisting
    • Kontekst this i bindowanie
    • Closures
    • Programowanie obiektowe (założenia, prototyp obiektu , dziedziczenie)
    • Obsługa wyjątków
    • Zdarzenia czasowe
    • Praca z kodem asynchronicznym - callbacks, promises API, JavaScript Rx
    • Praca z przeglądarką
    • Wykorzystanie DOM API
    • Reużywanie kodu
    • Uzyskiwanie modularnych i bezpiecznych rozwiązań
    • Testowanie
    • Automatyzacja pracy i zarządzanie zależnościami (narzędzia bower, gulp)
  8. Wybrane nowości w JavaScript ES6
    • Interpolacja tekstu
    • Domyślne parametry funkcji
    • Operator spread
    • Arrow functions
    • Symbols
    • Mapy i zbiory
    • Iteratory i generatory
    • Klasy
    • Moduły
    • Przegląd mniejszych zmian
    • Narzędzia typu JavaScript transpiler / compiler na przykładzie Babel
  9. Wprowadzenie do AngularJS
    • Charakterystyka frameworku
    • Wzorce MVVM I MVM
    • Struktura aplikacji
    • Bindowanie modelu
    • Przegląd podstawowych komponentów
  10. Budowa aplikacji
    • Konfiguracja narzędzi deweloperskich
    • Tworzenie podstawowej struktury projektu
    • Dobre praktyki (AngularJS style guide)
    • Zarządzanie zależnościami projektu (Bower)
    • Moduły - rola, zasięg, konfiguracja
  11. Widoki
    • Budowanie i ładowanie widoków
    • Dyrektywy standardowe
    • Wyrażenia i filtry
    • Kontrolery
    • Obiekt $scope
    • Wstrzykiwanie zależności
    • Propagowanie i nasłuchiwanie zdarzeń
    • Budowa i walidacja formularzy
  12. Usługi
    • Rola, sposoby deklaracji, konfiguracja
    • Wybrane usługi wbudowane
    • Współdzielenie danych
    • Zarządzanie zależnościami
    • Komunikacja z serwerem
    • Promises API
  13. Dyrektywy
    • Klasyfikacja
    • Dyrektywy wbudowane
    • Tworzenie i konfiguracja
    • Zarządzanie zasięgiem
    • Przekazywanie i współdzielenie danych
    • Transkluzja
    • Zagnieżdżanie
  14. Routing
    • Zasada działania
    • Ładowanie szablonów
    • Porównanie ngRoute i UI Router
    • Przekazywanie informacji
  15. Testowanie
    • Konfiguracja i podstawy użycia bibliotek Jasmine i Karma
    • Testy jednostkowe na poziomie poszczególnych komponentów
    • Typowe problemy i dobre praktyki
    • Testy end-to-end z wykorzystaniem Protractor

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