Kurs Java EE + AngularJS

javaee angularjs jetbranis

Kurs tworzenia dynamicznych aplikacji webowych z wykorzystaniem technologii Java EE 7 oraz AngularJS pozwoli Ci na zbudowanie wydajnych, nowoczesnych i responsywnych stron WWW.

Kupując ten kurs otrzymasz gratis 4 miesięczną licencję na środowisko IntelliJ IDEA Ultimate (szczegóły).

W kursie omawiane są m.in. takie technologie jak:

  • JPA 2.x + Hibernate (Java Persistance API) jako standard mapowania obiektowo relacyjnego
  • EJB 3.x (Enterprise Java Beans) jako warstwa usług z uwzględnieniem kolejek JMS i obsługi transakcji (JTA)
  • CDI 1.x (Context and Dependency Injection) jako standard wstrzykiwania zależności w kontenerach Javy EE
  • JAX-RS (RESTful Web Services) jako warstwa udostępniająca API oparte o REST
  • JMS (Java Message Service) czyli asynchroniczna komunikacja komponentów oparta o komunikaty
  • Bean Validation - walidacja i integracja z JPA oraz JAX-RS
  • Batch API 1.x - przetwarzanie wsadowe dużej liczby danych
  • JavaScript - wprowadzenie dla programistów Java
  • AngularJS + Bootstrap3 + HTML5 jako warstwa prezentacji
  • Narzędzia JS - Node Package Manager, Bower, Brackets, Firefox developer tools
  • Wildfly/JBoss jako serwer aplikacyjny i Jenkins jako narzędzie ciągłej integracji

Nauczysz się także administrować najnowszą dystrybucją serwera Wildfly(JBoss) w wersji 9.x, który dostarcza implementację powyższych technologii w postaci bibliotek takich jak Hibernate, Weld, RESTeasy, HornetQ, JBeret. Dowiesz się jak definiować źródła danych, analizować statystyki serwera, czy uruchamiać go w różnych trybach.

Podstawowym IDE, które wykorzystujemy w kursie jest Eclipse w wersji EE. W kursie będziemy wykorzystywali również narzędzie Maven, jednak nie musisz mieć żadnej wcześniejszej wiedzy na jego temat.

Ponieważ tak jak zawsze stawiamy przede wszystkim na praktykę, w trakcie kursu wiele mini aplikacji, które będziesz mógł uruchomić na zewnętrznym serwerze. Pokażemy Ci jak skonfigurować tani serwer VPS oraz jak wdrożyć proces ciągłej integracji(Continuous Integration) korzystając z GITa i Jenkinsa.

W kursie wymagana jest bardzo dobra znajomość programowania w języku Java SE i podstawowa wiedza dotycząca tworzenia aplikacji webowych w Javy EE, m.in.:

  • podstawy HTML i CSS
  • rozumienie podstaw protokołu HTTP
  • umiejętność tworzenia podstawowych zapytań SQL i pracy z relacyjnymi bazami danych(JDBC)
  • rozumienie roli serwera aplikacji, kontenera serwletów, podstawowej administracji(np. Tomcat), technologii JSP
  • rozumienie istoty wzorca MVC

Nie jest natomiast wymagana żadna wcześniejsza wiedza dotycząca zagadnień omawianych w kursie, ani języka Javascript. Jeżeli nigdy wcześniej nie tworzyłeś aplikacji webowych w Javie zalecamy wcześniejsze ukończenie kursu Wprowadzenie do JavyEE.

FAQ

Jakie środowisko IDE wykorzystujecie w kursie?

  • W kursie głównym środowiskiem jest eclipse, ale pokazujemy również jak skonfigurować i uruchomić IntelliJ IDEA Ultimate.

Dlaczego nie omawiamy w kursach technologii JSF(Java Server Faces)?

  • W kursach staramy się przedstawiać rozwiązania, z których sami korzystamy na co dzień. Podejście oparte o REST i frameworki Javascriptowe jest naszym zdaniem bardziej przyszłościowe.

Czy po ukończeniu tego kursu znajdę/dostanę pracę?

  • Nie jesteśmy w stanie tego zagwarantować, jednak mając solidne podstawy programowania w Javie, po przyswojeniu informacji z tego kursu powinieneś być w stanie co najmniej samodzielnie określić, czy Twoja wiedza jest już wystarczająca do podjęcia pracy.

Jak długo będę mieć dostęp do materiałów i ile trwa kurs?

  • Przerobienie całego materiału zawartego w kursie powinno zająć do 2 miesięcy czasu, przy założeniu poświęcania na niego codziennie przynajmniej 2 godzin. Dostęp do materiałów przydzielany jest na okres roku od daty zakupu. W tym czasie będziesz mieć także dostęp do wszystkich aktualizacji.

Pełna lista zagadnień w kursie.

Wprowadzenie i konfiguracja

  • Wildfly
  • Eclipse
  • MySQL
  • Maven

Maven

  • Wprowadzenie
  • Zarządzanie zależnościami
  • Zależności tranzytywne
  • Pluginy
  • Effective pom i fazy wykonania
  • Zasięgi (scopes)
  • Integracja z Eclipse

CDI - Wprowadzenie

  • Wstrzykiwanie zależności
  • CDI w Javie SE
  • CDI w Javie EE

CDI - Wstrzykiwanie zależności

  • Wstrzykiwanie przez pole, konstruktor i seter
  • Kwalifikatory
  • Producenci
  • Alternatywy
  • Zasięgi (scopes)

CDI - Aspekty i cykl życia

  • Interceptory
  • Cykl życia ziaren CDI

JPA - Wprowadzenie

  • Wprowadzenie do JPA
  • JPA w Javie SE
  • JPA w Javie EE

JPA - Podstawy

  • Definiowanie encji
  • Definiowanie kluczy
  • Konfiguracja mapowania
  • CRUD
  • Cykl życia obiektu encji

JPA - Relacje

  • One to One
  • One to many i Many to one
  • Many to many
  • Operacje kaskadowe i leniwe ładowanie

JPA - Zapytania

  • JPQL i CRUD
  • Zapytania dynamiczne
  • Zapytania statyczne
  • Parametry zapytań

JPA - Uzupełnienie

  • Integracja JPA i CDI
  • JTA i wzorzec DAO
  • Transakcje w Javie EE 7

EJB - Wprowadzenie

  • Wprowadzenie do EJB
  • Ziarna sesyjne
  • Ziarna bezstanowe (Stateless)
  • Ziarna stanowe (Stateful)
  • Ziarna singleton
  • JMS - konfiguracja serwera
  • Ziarna sterowane komunikatami (MDB)

EJB - Uzupełnienie

  • Timery

REST / JAXRS

  • Wprowadzenie do REST
  • Podstawy JAX-RS
  • Adresy URL i parametry
  • Negocjacja reprezentacji zasobu i JAXB
  • Odbieranie danych przychodzących
  • JAXRS - uzupełnienie
  • JAXRS z EJB i JPA

Bean Validation

  • Wprowadzenie i konfiguracja
  • Wbudowane ograniczenia
  • Ograniczenia i walidatory
  • Wiadomości
  • Grupy
  • Integracja z JPA
  • Integracja z JaxRS

Batch API (przetwarzanie wsadowe)

  • Batch wprowadzenie
  • Batchlety
  • Chunk jobs
  • Sterowanie przepływem
  • Monitorowanie zadań

Security

  • BASIC i FORM Authentication
  • Bezpieczeństwo z użyciem adnotacji
  • Bezpieczeństwo z wykorzystaniem bazy danych

Javascript dla programistów Javy

  • Wprowadzenie do JS
  • Mozilla developer tools
  • Brackets
  • Pierwsze kroki
  • Zmienne, typy danych i operatory
  • Funkcje
  • Tablice
  • Sterowanie i pętle
  • Programowanie obiektowe
  • Prototypy i dziedziczenie
  • Obiekt globalny i wynoszenie
  • Manipulacja dokumentem HTML

AngularJS

  • NodeJS i Bower
  • Bower - konfiguracja
  • Angular - wprowadzenie
  • MVC i $scope
  • Zdarzenia
  • Przegląd dyrektyw
  • Usługi i wstrzykiwanie zależności
  • Komunikacja z backendem $http
  • REST i $resource
  • Routing

Administracja Serwerem i ciągła integracja

  • Instalacja i konfiguracja serwera VPS
  • Deployment aplikacji
  • Git
  • Jenkins i Maven - konfiguracja
  • Jenkins i ciągła integracja
100zł

Przedłużenie dostępu 25zł*
*Przedłużenie o rok kosztuje 25% ceny kursu. Promocyjna cena przedłużenia dostępna jest tylko dopóki dostęp do kursu całowicie nie wygaśnie.

null