Szczegóły ebooka

REST. Najlepsze praktyki i wzorce w języku Java

REST. Najlepsze praktyki i wzorce w języku Java

Bhakti Mehta

Ebook

Usprawnij wymianę danych z usługą REST!

Postępująca cyfryzacja współczesnego świata wymaga coraz większej integracji przeróżnych systemów informatycznych. Nierzadko są to systemy znajdujące się w odległych lokalizacjach, napisane z wykorzystaniem różnych języków programowania i technologii. Jak zapewnić możliwość wymiany informacji między nimi? Usługi typu REST to jeden z najwygodniejszych sposobów!

Co to jest REST? Jak przygotować usługę tego typu? Jak ustrzec się przed błędami? Na te i wiele innych pytań odpowiada ta książka. Znajdziesz w niej najlepsze praktyki tworzenia usług REST z wykorzystaniem języka Java. Sięgnij po nią i dowiedz się, jak projektować zasoby i zapewniać im bezpieczeństwo oraz w jaki sposób przygotowywać usługi REST dla różnych wersji językowych. Odkryj, jak testować udostępnione zasoby i zagwarantować ich najwyższą wydajność oraz jaka przyszłość czeka usługi tego typu. Sprawdź też, jak wygląda API takich usług, jak GitHub, Twitter i Facebook (API Graph). Ta książka jest doskonałą lekturą dla wszystkich programistów chcących bezproblemowo tworzyć wydajne usługi typu REST.

Tematy opisane w książce:
  • Tworzenie usług typu RESTful przy użyciu API JAX-RS 2.0
  • Zaawansowane techniki wykorzystania protokołu OAuth i zabezpieczeń w usługach typu RESTful
  • Metody buforowania, weryfikacji danych, ograniczania liczby żądań, asynchronicznego wykonywania działań oraz najlepsze praktyki pozwalające zwiększyć interaktywność aplikacji
  • Najlepsze metody stronicowania, dokumentowania i testowania usług typu RESTful
  • HATEOAS i architektura mikrousługowa w budowanie aplikacji wykorzystujących usługi typu RESTful
  • Przyszłość technologii REST, nowe standardy i sposób ich wykorzystania przez różne przedsiębiorstwa
  • Porównanie technologii WebHook, WebSocket oraz Server-Sent Events umożliwiających dostarczanie informacji klientom na bieżąco

Wydajne usługi REST w Twoim zasięgu!

  • O autorce (7)
  • Podziękowania (8)
  • O recenzentach (9)
  • Wstęp (11)

Rozdział 1. Podstawy REST (15)

  • Wprowadzenie do REST (16)
  • REST i bezstanowość (16)
  • Model dojrzałości Richardsona (16)
    • Poziom 0 - zdalne wywoływanie procedur (17)
    • Poziom 1 - zasoby REST (17)
    • Poziom 2 - dodatkowe czasowniki HTTP (17)
    • Poziom 3 - HATEOAS (18)
  • Bezpieczeństwo i idempotentność (18)
    • Bezpieczeństwo metod (18)
    • Idempotentność metod (18)
  • Zasady projektowe dotyczące budowy usług typu RESTful (19)
    • Wyznaczenie identyfikatorów URI zasobów (19)
    • Identyfikacja metod obsługiwanych przez zasób (20)
    • Czasowniki HTTP w REST (21)
    • PUT czy POST (22)
  • Identyfikacja różnych reprezentacji zasobu (22)
  • Implementowanie API (23)
    • API Javy dla usług RESTful (JAX-RS) (23)
  • Wdrażanie usług typu RESTful (25)
  • Testowanie usług typu RESTful (25)
    • API klienta w JAX-RS 2.0 (25)
    • Uzyskiwanie dostępu do zasobów RESTful (27)
    • Inne narzędzia (29)
  • Najlepsze praktyki projektowania zasobów (29)
  • Zalecana lektura (30)
  • Podsumowanie (30)

Rozdział 2. Projektowanie zasobów (31)

  • Rodzaje odpowiedzi REST (31)
  • Negocjacja treści (32)
    • Negocjacja treści przy użyciu nagłówków HTTP (32)
    • Negocjacja treści poprzez adres URL (35)
  • Dostawcy jednostek i różne reprezentacje (35)
    • StreamingOutput (36)
    • ChunkedOutput (37)
    • Jersey i JSON (38)
  • Wersjonowanie API (40)
    • Określanie wersji w identyfikatorze URI (40)
    • Numer wersji w parametrze zapytaniowym żądania (41)
    • Określanie numeru wersji w nagłówku Accept (41)
  • Kody odpowiedzi i wzorce REST (42)
  • Zalecana lektura (43)
  • Podsumowanie (44)

Rozdział 3. Bezpieczeństwo i wykrywalność (45)

  • Rejestrowanie informacji w API REST (46)
    • Najlepsze praktyki rejestrowania informacji w API REST (47)
  • Sprawdzanie poprawności usług REST (49)
    • Obsługa wyjątków i kodów odpowiedzi związanych z weryfikacją poprawności danych (50)
  • Obsługa błędów w usługach typu RESTful (51)
  • Uwierzytelnianie i autoryzacja (52)
    • Co to jest uwierzytelnianie (53)
    • Co to jest autoryzacja (54)
    • Różnice między OAuth 2.0 i OAuth 1.0 (57)
    • Tokeny odświeżania a tokeny dostępu (57)
    • Najlepsze praktyki przy implementacji OAuth w API REST (58)
    • OpenID Connect (59)
  • Elementy architektury REST (59)
  • Zalecana lektura (61)
  • Podsumowanie (62)

Rozdział 4. Projektowanie wydajnych rozwiązań (63)

  • Zasady buforowania (64)
    • Szczegóły buforowania (64)
    • Typy nagłówków buforowania (64)
    • Nagłówek Cache-Control i dyrektywy (65)
    • Nagłówek Cache-Control i API REST (66)
    • Znaczniki ETag (67)
    • API REST Facebooka i nagłówki ETag (69)
  • Asynchroniczne i długotrwałe operacje w REST (70)
    • Asynchroniczne przetwarzanie żądań i odpowiedzi (70)
  • Najlepsze praktyki pracy z zasobami asynchronicznymi (73)
    • Wysyłanie kodu statusu 202 Accepted (73)
    • Ustawianie terminu wygaśnięcia dla obiektów w kolejce (74)
    • Asynchroniczne obsługiwanie zadań przy użyciu kolejek wiadomości (74)
  • Metoda HTTP PATCH i częściowe aktualizacje (74)
  • JSON Patch (76)
  • Zalecana lektura (77)
  • Podsumowanie (77)

Rozdział 5. Zaawansowane zasady projektowania (79)

  • Techniki ograniczania liczby żądań (80)
    • Układ projektu (81)
    • Szczegółowa analiza przykładu ograniczania liczby żądań (82)
    • Najlepsze praktyki pozwalające uniknąć przekroczenia limitu żądań przez klienty (86)
  • Stronicowanie odpowiedzi (87)
    • Rodzaje stronicowania (88)
    • Układ projektu (90)
  • Internacjonalizacja i lokalizacja (91)
  • Różne tematy (92)
    • HATEOAS (92)
    • API REST portalu PayPal i HATEOAS (93)
    • REST i rozszerzalność (94)
    • Inne tematy związane z API REST (94)
    • Testowanie usług typu RESTful (95)
  • Zalecana lektura (96)
  • Podsumowanie (96)

Rozdział 6. Nowe standardy i przyszłość technologii REST (97)

  • API reagujące na bieżąco (98)
  • Sondowanie (98)
    • Model PuSH - PubSubHubbub (99)
    • Model strumieniowania (100)
  • Uchwyty sieciowe (103)
    • Gniazda sieciowe (104)
  • Inne API i technologie do komunikacji na bieżąco (106)
    • XMPP (106)
    • BOSH poprzez XMPP (107)
  • Porównanie uchwytów sieciowych, gniazd sieciowych i zdarzeń wysyłanych przez serwer (107)
  • REST i mikrousługi (108)
    • Prostota (108)
    • Wyodrębnienie problemów (108)
    • Skalowalność (109)
    • Wyraźny podział funkcjonalności (109)
    • Niezależność od języka programowania (109)
  • Zalecana lektura (109)
  • Podsumowanie (110)

Dodatek A (111)

  • Przegląd API REST portalu GitHub (111)
    • Pobieranie informacji z portalu GitHub (112)
    • Czasowniki i akcje zasobów (113)
    • Wersjonowanie (113)
    • Obsługa błędów (113)
    • Ograniczanie liczby żądań (114)
  • Przegląd API Graph portalu Facebook (114)
    • Czasowniki i czynności zasobów (116)
    • Wersjonowanie (116)
    • Obsługa błędów (116)
    • Ograniczanie liczby żądań (117)
  • Przegląd API portalu Twitter (117)
    • Czasowniki i działania na zasobach (118)
    • Wersjonowanie (119)
    • Obsługa błędów (119)
  • Zalecana lektura (119)
  • Podsumowanie (119)

Skorowidz (121)

  • Tytuł: REST. Najlepsze praktyki i wzorce w języku Java
  • Autor: Bhakti Mehta
  • Tytuł oryginału: RESTful Java Patterns and Best Practices
  • Tłumaczenie: Łukasz Piwko
  • ISBN: 978-83-283-0647-9, 9788328306479
  • Data wydania: 2015-06-16
  • Format: Ebook
  • Identyfikator pozycji: restja
  • Wydawca: Helion