Powrót do katalogu
Terminy szkolenia otwartego:
  • Potwierdzone
  • Planowane
  • Sugerowane
2017-10-26 1 400 / 2 dni Zgłoś chęć udziału
2017-11-14 1 400 / 2 dni Zgłoś chęć udziału
Pobierz program
Nie znalazłeś pasującego terminu?
Zaproponuj własny termin. Postaramy się uruchomić nowy specjalnie dla Ciebie.
Szukasz programu "skrojonego na miarę"?
Zapytaj o szkolenie dedykowane lub napisz nam o swoich preferencjach.
Chcesz się uczyć w trybie weekendowym?

Czekamy na kontakt od Ciebie.

Inżynieria oprogramowania > Języki programowania > Web Services

Szkolenie: Usługi sieciowe REST (RESTful services) na platformie Java (JAX-RS)
[J-REST]

Wprowadzenie

Upowszechnienie dostępu do sieci powoduje, że współczesne aplikacje korzystają ze zdalnych zasobów i usług, a te, które nie wykorzystują tej możliwości, tracą na funkcjonalności i stają się mało atrakcyjne.

Chociaż istnieje wiele sposobów, aby dać aplikacjom dostęp do zdalnych usług i danych, w ostatnich latach największą popularność uzyskał REST (od Representational State Transfer), czyli prosty koncepcyjnie pomysł na bezpośrednie wykorzystanie w tym celu protokołu HTTP.

REST jest powszechnie używany do wiązania strony klienckiej ze stroną serwera w aplikacjach webowych opartych o JavaScript oraz w aplikacjach mobilnych, ale można go także spotkać w aplikacjach typu "desktop" i przy integracji komponentów w rozbudowanych systemach. Wiele popularnych usług dzisiejszego internetu jest dostępnych dla aplikacji poprzez tzw. „REST API”.

O ile aplikacje strony klienta korzystające z REST tworzy się najczęściej w technologiach odpowiadających specyfice środowiska klienckiego (JavaScript, Android, iOS), to tworząc stronę serwera możemy chcieć skorzystać z dojrzałego, pewnego i bogatego w możliwości środowiska jakim jest np. Java. Okazuje się, że implementacja usług REST w Javie jest bardzo wygodna dzięki istnieniu interfejsu programistycznego JAX-RS, w którym zwykłe klasy i metody Javy mogą dzięki odpowiednim adnotacjom stać się implementacją serwera REST.

Charakterystyczne cechy REST, takie jak hierarchiczna struktura URL, obsługa różnych metod HTTP i parametrów zapytań, różne typy zawartości, znajdują swoje odzwierciedlenie w adnotacjach JAX-RS. W razie potrzeby można zejść na niższy poziom abstrakcji i mieć bezpośredni dostęp do nagłówków, komunikatów czy strumieni danych.

W razie takiej potrzeby JAX-RS 2.0 oferuje także wsparcie w implementacji w Javie strony klienta.

Cel szkolenia

  • Zrozumienie głównych założeń architektury REST
  • Zapoznanie ze standardem JAX-RS
  • Nabycie umiejętności pozwalających na publikowanie / konsumowanie usług typu REST

Adresaci szkolenia

Adresatami szkolenia są programiści Java, pragnący posiąść umiejętności tworzenia usług sieciowych REST na platformie Java.

Wymagania wstępne

  • umiejętność programowania w Javie (kurs J-PD).

Dodatkowa wiedza i umiejętności, które pozwolą lepiej zrozumieć niektóre elementy szkolenia i spojrzeć na zagadnienia w szerszej perspektywie:

  • protokół HTTP,
  • AJAX,
  • formaty XML i JSON,
  • obsługa XML w Javie (DOM, JAXB, SAX, StAX) (kurs J-XML),
  • klasyczne usługi sieciowe (SOAP, WSDL) (kurs J-WS),
  • serwlety i inne technologie Java EE (J-EE).

Czas i forma szkolenia

14 godzin (2 dni x 7 godzin), w tym wykłady i warsztaty praktyczne.

Plan szkolenia

  1. Architektura REST
    1. Pochodzenie
    2. Założenia
    3. Protokół HTTP w kontekście REST
    4. Projektowanie interfejsu usług
    5. Wsparcie z poziomu Javy
  2. Standard JAX RS
    1. Implementacje
    2. Budowa, wdrażanie i konfigurowanie usług
    3. Mapowanie zasobów
    4. Wyrażenia URI
    5. Kontekst żądania
    6. Wstrzykiwanie parametrów i konwersja typu
    7. Obsługa nagłówków i ciasteczek
    8. Dynamiczne generowanie podzasobów
    9. Statusy odpowiedzi i mapowanie wyjątków
    10. Budowa aplikacji klienckich (java.net.URL, rozszerzenia Jersey lub RestEasy)
  3. Negocjacja i przetwarzanie treści
    1. Negocjacja treści na poziomie protokołu i aplikacji
    2. Mapowanie obiektów z użyciem JAXB
    3. Przegląd wbudowanych konwerterów, obsługa JSON
    4. Implementacja konwerterów niestandardowych
    5. Niskopoziomowy dostęp do treści
  4. Bezpieczeństwo i skalowalność
    1. Aspekty bezpieczeństwa
    2. Deklaratywne i programowe zabezpieczanie usług
    3. Dostęp do usług chronionych
    4. Skalowanie usług REST
    5. Integracja z Java EE

Opinie uczestników