Kategoria: Java
Usługi sieciowe typu REST (REST-ful services) są naturalnym zastosowaniem protokołu HTTP, gdzie zamiast plików mówi się o przesyłaniu bardziej ogólnych „zasobów”. Mimo swej prostoty, a poniekąd właśnie dzięki niej, REST jest dominującym obecnie sposobem zautomatyzowanego udostępniania danych i usług. Wśród jego zastosowań wymienić należy przede wszystkim integrację serwerowego backendu z webowym frontendem tworzonym w oparciu a JavaScript i AJAX oraz analogicznie komunikację z serwerami aplikacji mobilnych. Bardzo często jednak REST bywa stosowany tam, gdzie jeszcze kilka lat temu dominowały usługi typu SOAP, a więc w usługach udostępnianych przez jednych partnerów biznesowych innym – publicznie dostępne usługi REST nazywa się często Web API.
Platforma Java jest jedną z kilku najbardziej popularnych platform, w których tworzy się usługi typu REST. Oparty o adnotacje interfejs programistyczny JAX-RS jest częścią Java Enterprise Edition, istnieje dla niego kilka pełnowartościowych implementacji. Aplikacje JAX-RS można przygotowywać m.in. w klasycznej konfiguracji Java EE do wdrożenia na serwer aplikacji i w oparciu o Spring.
Czas trwania
4 dni
Program
- Wprowadzenie do REST
- Usługi sieciowe, koncepcja SOA (Service Oriented Architecture).
- Pomysł usług typu REST i pojęcia z nim związane: zasób i jego reprezentacja.
- Protokół HTTP w usługach REST.
- Przypomnienie mechanizmu działania serwletów w Javie.
- Podstawy obsługi w Javie formatów XML i JSON.
- Interfejs programistyczny JAX-RS
- Klasy zasobów i mapowanie URL do klasy.
- Obsługa parametrów zapytań:
- tradycyjne parametry URL, parametry „matrix”, parametry formularzy,
- mapowanie fragmentów ścieżki,
- dostęp do nagłówków i ciasteczek.
- Obsługa różnych metod HTTP. Zastosowania PUT i POST.
- Treści przychodzące i wychodzące:
- negocjacja typu zawartości,
- obsługiwane typy obiektów i formaty danych,
- mapowanie struktur obiektowych na XML i JSON; rola adnotacji JAXB.
- Klasa Response i dynamiczne ustalanie szczegółów odpowiedzi.
- Strategie dzielenia projektu na klasy, technika podzasobów.
- Rozszerzenia JAX-RS
- Odbieranie i tworzenie danych binarnych.
- Własne konwertery treści.
- Automatyczne mapowanie wyjątków.
- Interceptory.
- Rola klasy Application. Strategie „per-request” i „singleton”.
- Klasa zasobu jako bezstanowe EJB.
- Klient REST
- Możliwości tworzenia klienta HTTP w Javie.
- Tworzenie klienta zgodnie z JAX-RS.
- Automatyczne mapowanie danych obiektowych.
- Klient typu proxy za pomocą rozszerzeń dostawców.
- Wykorzystanie wspólnych klas przez serwer i klienta w wielomodułowym projekcie Maven.
- Przykładowa konfiguracja klienta JavaScript z serwerem Java.
- Przykładowa konfiguracja serwera w oparciu o Spring Boot.
- Przykładowa konfiguracja bezpieczeństwa usługi REST.
W/w punkty opisują zakres szkolenia, ale kolejność trakcie zajęć może być inna.
Szkolenie ukierunkowane jest na tworzenie działających przykładów,
a podstawy teoretyczne są wprowadzane w miarę potrzeb w dogodnym momencie.
Training also available in English.
Przeznaczenie i wymagania
Szkolenie przeznaczone jest dla programistów Java, przy czym osoby na co dzień programujące w nieodległych językach (m.in. C#, C++, PHP), ale znające już podstawy składni Javy, też powinny sobie poradzić.
Certyfikaty
Uczestnicy szkolenia otrzymują imienne certyfikaty sygnowane przez ALX.