Powrót do katalogu
Termin sugerowany
2017-12-21
Warszawa

Zapisz się jako pierwszy!

1 400 / 2 dni
Zgłoś chęć udziału
Termin sugerowany
2018-01-08
Warszawa

Zapisz się jako pierwszy!

1 400 / 2 dni
Zgłoś chęć udziału
Zaproponuj własny termin
Postaramy się uruchomić nowy termin dla Ciebie
Zgłoś chęć udziału

Inżynieria oprogramowania > Aplikacje internetowe

Szkolenie: Usługi sieciowe REST API w technologii Spring
[J-SPR-REST]
Pobierz program

Wprowadzenie

Od kilku lat mamy okazję obserwować trend, w którym odchodzi się od tradycyjnych webserwisów na rzecz serwisów opartych na wzorcu architektonicznym REST (REpresentation State Transfer).

Sam REST ma wiele przewag nad WS-* ale też kilka wad dlatego warto poznać te różnice, żeby architektura naszego systemu spełniała jak dzisiejsze ale też jutrzejsze wymagania.

Dzisiaj wiele firm dynamicznie tworzy usługi oparte na tej architekturze, ale wiele z nich nie koniecznie robi to dobrze. Okazuje się, że nie wystarczy tylko serwować JSON'a aby można było takie podejście nazwać pełnoprawnie REST'em. To jest trochę smutne...ale prawdziwe, więc zmieńmy to na lepsze. Tak aby nasze API było naprawdę solidne i długowieczne. Aby zbliżyć się do tego standardu wymagana będzie np. znajomość modelu Richardsona.

Społeczność Javy posiada szeroki wachlarz frameworków wspierających usługi typu REST. Możemy użyć np Apache CXF, Apache Camel, Jersey, Restlet czy w końcu Spring. Na szkoleniu skupiamy się na tym ostatnim czyli Spring, a nawet idąc bardziej w szczegóły Spring Boot.

Dzięki temu uzyskujemy możliwość szybkiego tworzenia systemu gotowego do wdrożenia produkcyjnego.

Zbudowanie dowolnego pełnowartościowego serwisu opartego na REST współpracującego z dowolną bazą zarówno relacyjną jak i typu NoSql, zabezpieczonego przed potencjalnymi intruzami lub niepowołanym dostępem zajmie Ci chwilę.

Cel szkolenia

Celem szkolenia jest nabycie praktycznych umiejętności tworzenia serwisów REST bazujących na Spring Boot. Uczestnicy zdobędą wiedzę oraz umiejętności ultra szybkiego wytwarzania tego typów serwisów.

Serwisy te będą charakteryzowały się pełnym modelem Richardsona, skalowalnością, przenośnością, buforowaniem. W razie potrzeby będą odpowiednio wersjonowane oraz zabezpieczone pod kontem szeroko pojętego bezpieczeństwa (spełniające kluczowe dla aplikacji REST kryteria OWASP Top Ten)

Dzięki takiej wiedzy będziemy mogli w przyszłości budować usługi na architekturze mikroserwisów podążając śladami Netflixa, Amazona czy Ebay'a

Adresaci dostaną też niepowtarzalną możliwość poszerzenia swojej wiedzy na temat samego Springa, Spring Boot, Spring Security oraz poznania wzorców architektonicznych REST.

Adresaci szkolenia

Adresatami szkolenia są programiści Java znający technologię Springa. Podczas szkolenia omówimy sobie zasady i wzorce budowy serwisów REST :

Założenia :

uczestnik zna język obiektowy java

uczestnik zna przynajmniej podstawy Springa

Czas i forma szkolenia

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

Plan szkolenia

  1. Wprowadzenie do wzorca architektonicznego REST
  2. Omówienie zalet REST
  3. Omówienie wad REST
  4. Zestawienie REST z tradycyjnym WS-*
  5. Jak to robią najlepsi ? czyli REST API na przykładzie Twitter, Facebook, LinkedIn
  6. Omówienie modelu Richardsona
  7. Metody bezpieczne a idempotentne
  8. Ultra szybkie tworzenie modelu CRUD dzięki zastosowaniu Spring Data REST
  9. Hateoas (Hypermedia as the Engine of Application State)
  10. Kody nagłówków w komunikacji REST
  11. Wersjonowanie
  12. Content negotiation - czyli wybór prezentacji wyniku
  13. Logowanie
  14. Walidacja
  15. Obsługa błędów
  16. Wydajność
    • buforowanie
    • kompresja
    • ograniczanie do znaczących treści
    • etag
    • nagłówki HTTP
    • omówienie opcji skalowalności
  17. Rate limitter
  18. Asynchroniczność i procesy o długim czasie wykonywania.
  19. Autoryzacja i uwierzytelnianie (Spring Security)
    • SSL / HTTPS
    • HTTP basic
    • HTTP basic digest
    • Oauth2
    • SSO
    • JWT
  20. Testowanie serwisów REST
    • mocking
    • testy integracyjne
    • testy integracyjne w symbiozie Spring Boot'a
    • testy bezpieczeństwa
  21. Klienci REST
  22. Najlepsze praktyki

Opinie uczestników