REST. Najlepsze praktyki i wzorce w języku Java - ebook
REST. Najlepsze praktyki i wzorce w języku Java - 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!
Spis treści
- 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)
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-0647-9 |
Rozmiar pliku: | 3,7 MB |