Book description
Większość z najpopularniejszych dużych witryn internetowych zbudowano z użyciem technologii Web API. Może ona działać na podstawie protokołu HTTP — umożliwia wówczas łatwą pracę nad nowymi funkcjonalnościami aplikacji, kwestiami bezpieczeństwa, skalowalnością rozwiązań, obsługą nowych urządzeń lub aplikacji klienckich. W takim modelu aplikacji kluczowymi komponentami są typy danych i hipermedia. Wielu twórców API nie wykorzystuje jednak możliwości protokołu HTTP i wdraża API silnie powiązane z aplikacją klienta, co w zasadzie zamyka drogę do bezproblemowego ewoluowania systemu. Na dłuższą metę tego rodzaju rozwiązania są sprzeczne z podstawami internetu.
Niniejsza książka to wartościowy podręcznik dla projektantów, którzy chcą tworzyć API adaptujące się do zachodzących zmian. Autorzy zaprezentowali tu wszystkie narzędzia niezbędne do tworzenia ewoluujących systemów, a także przedstawili informacje dotyczące sieci i programowania Web API. Dokładnie omówili proces tworzenia nowego API za pomocą platformy ASP.NET Web API, z uwzględnieniem takich zagadnień, jak implementacja hipermediów z użyciem ASP.NET Web API oraz negocjowanie treści. Ten bardzo praktyczny podręcznik, pisany przez inżynierów oprogramowania, stanowi inspirację do projektowania najlepszych rozwiązań dla ewoluujących aplikacji internetowych.
W tej książce znajdziesz:
zwięzłe podstawy budowy sieci, protokołu HTTP, programowania API oraz platformy ASP.NET Web API
omówienie nowego modelu programowania HTTP na platformie .NET
objaśnienia dotyczące różnych modeli hostingu, w tym samohostowania, IIS i modelu OWIN
przedstawienie zasad działania routingu Web API i kontrolerów
praktyczną prezentację zagadnień bezpieczeństwa aplikacji
opis dobrych praktyk, takich jak testy akceptacji, programowanie TDD, techniki odwracania kontroli i wiele innych
Odkryj możliwości HTTP na nowo!
Table of contents
- Wprowadzenie
- Wstęp
- Rozdział 1. Internet, World Wide Web i HTTP
-
Rozdział 2. Web API
- Co to jest Web API?
- Co w kwestii usług sieciowych SOAP?
- Korzenie Web API
- Początek rewolucji Web API
- Zwrócenie uwagi na sieć
- Wskazówki dla Web API
- Typy danych charakterystyczne dla domeny
- Profile typów danych
- Wiele reprezentacji
-
Style API
- Model dojrzałości Richardsona
- RPC (poziom 0 w modelu dojrzałości Richardsona)
- Zasoby (poziom 1 w modelu dojrzałości Richardsona)
- Metody HTTP (poziom 2 w modelu dojrzałości Richardsona)
- Pokonanie przepaści na drodze ku API zorientowanemu na zasoby
- Hipermedia (poziom 3 w modelu dojrzałości Richardsona)
- REST
- Ograniczenia REST
- Podsumowanie
- Rozdział 3. Podstawy ASP.NET Web API
- Rozdział 4. rchitektura przetwarzania
- Rozdział 5. Aplikacja
- Rozdział 6. Projekt i wybór typu danych
-
Rozdział 7. Tworzenie API
- Projekt
- Pobranie kodu źródłowego
- Przygotowanie implementacji w stylu BDD
- Nawigacja po rozwiązaniu
- Pakiety i biblioteki
- Samohostowanie
- Modele i usługi
- Kryteria akceptacji
- Funkcjonalność: pobieranie zgłoszeń błędów
- Funkcjonalność: tworzenie zgłoszenia błędu
- Funkcjonalność: uaktualnianie zgłoszenia błędu
- Funkcjonalność: usuwanie zgłoszenia błędu
- Funkcjonalność: przetwarzanie zgłoszenia błędu
- Podsumowanie
-
Rozdział 8. Usprawnianie API
- Kryteria akceptacji dla nowych funkcjonalności
- Implementacja obsługi buforowania danych wyjściowych
- Dodanie testów do sprawdzenia buforowania danych wyjściowych
- Implementacja ponownego pobierania buforowanych danych
- Implementacja warunkowych żądań GET do obsługi ponownego pobierania buforowanych danych
- Wykrywanie konfliktów
- Implementacja wykrywania konfliktów
- Audyt zmiany
- Implementacja audytu zmian za pomocą uwierzytelniania Hawk
- Monitorowanie
- Implementacja monitorowania
- Podsumowanie
- Rozdział 9. Tworzenie klienta
- Rozdział 10. Model programowania HTTP
- Rozdział 11. Hosting
- Rozdział 12. Kontrolery i routing
- Rozdział 13. Formatery i dołączanie modelu
- Rozdział 14. HttpClient
-
Rozdział 15. Bezpieczeństwo
- Zapewnienie bezpieczeństwa transportu
- Użycie TLS w ASP.NET Web API
-
Uwierzytelnianie
- Model oświadczeń
- Pobieranie i przypisywanie aktualnego zleceniodawcy
- Uwierzytelnienie oparte na transporcie
- Uwierzytelnienie serwera
- Uwierzytelnienie klienta
- Framework uwierzytelniania HTTP
- Implementacja uwierzytelniania opartego na HTTP
- Katana, czyli oprogramowanie pośredniczące do uwierzytelniania
- Aktywne i pasywne oprogramowanie pośredniczące odpowiedzialne za uwierzytelnianie
- Filtry uwierzytelniania w Web API
- Uwierzytelnianie oparte na tokenie
- Schemat uwierzytelniania Hawk
- Autoryzacja
- Podsumowanie
-
Rozdział 16. OAuth 2.0, czyli framework uwierzytelniania
- Aplikacje klienta
- Uzyskanie dostępu do chronionych zasobów
- Pobranie tokenu dostępu
- Uprawnienia kodu autoryzacji
- Zakres
- Kanał oficjalny kontra kanał nieoficjalny
- Token refresh
- Serwer zasobów i serwer autoryzacji
- Przetwarzanie tokenów dostępu w ASP.NET Web API
- OAuth 2.0 i uwierzytelnianie
- Autoryzacja na podstawie zakresu
- Podsumowanie
- Rozdział 17. Testowanie
- Dodatek A Typy danych
- Dodatek B Nagłówki HTTP
- Dodatek C Negocjacja treści
- Dodatek D Buforowanie w działaniu
- Dodatek E Przepływ zdarzeń podczas uwierzytelniania
- Dodatek F Specyfikacja typu danych dla application/issue+json
- Dodatek G Certyfikaty i kryptografia klucza publicznego
Product information
- Title: Nowoczesne API
- Author(s):
- Release date: June 2016
- Publisher(s): Helion
- ISBN: 9788328323919
You might also like
book
API nowoczesnej strony WWW. Usługi sieciowe w PHP
Za sukcesem i siłą najpopularniejszych serwisów w sieci często stoi decyzja o szerokim udostępnieniu API (ang. …
book
Złożone zagadnienia architektury oprogramowania
W epoce infrastruktur chmurowych, mikrousług czy wysublimowanych wzorców projektowych architekt oprogramowania musi sobie radzić z trudnym …
book
Projektowanie systemów rozproszonych
Nowoczesne oprogramowanie musi sprostać wyśrubowanym kryteriom: ma cechować się określoną niezawodnością i skalowalnością, a przy tym …
book
Budowa prostych robotów. Niezwykłe projekty ze zwykłych materiałów
Roboty dla każdego, wykonane ze wszystkiego Co to jest robot? Gdyby zadać to pytanie przypadkowej osobie …