Używamy cookies, aby ułatwić korzystanie z Portalu. Możesz określić warunki przechowywania, dostępu do plików cookies w Twojej przeglądarce. Dowiedz się więcej.
strona główna Strona główna | Nowości | Promocje | Zapowiedzi Twoje konto | Zarejestruj | Schowek | Kontakt | Pomoc
mapa działów
Szukaj: szukanie zaawansowane
Koszyk
Książki \ Programowanie \ ASP, ADO

Nowoczesne API. Ewoluujące aplikacje sieciowe w technologii ASP.NET Język: 1

978-83-283-2391-9

Cena Brutto: 79.00

Cena netto: 75.24

Ilość:
Wersja: Drukowana
Autor Glenn Block, Pablo Cibraro, Pedro Felix, Howard Dierking, Darrel Miller
Liczba_stron 488
Wydawnictwo Helion
Oprawa miękka
Data_Wydania 2016-06-26
Nowoczesne API. Ewoluujące aplikacje sieciowe w technologii

ASP.NET



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

Wprowadzenie (13) Wstęp (17)
  • Dlaczego należy przeczytać tę książkę? (17)
  • Co trzeba wiedzieć, aby jak najwięcej skorzystać z tej książki? (18)
  • Jakie informacje zawiera ta książka? (19)
    • Część I. Podstawy (19)
    • Część II. Praktyczne programowanie API (20)
    • Część III. Podstawowe zasady Web API (20)
  • Konwencje zastosowane w książce (20)
  • Użycie przykładowych kodów (21)
  • Podziękowania (22)
Rozdział 1. Internet, World Wide Web i HTTP (23)
  • Architektura sieci (24)
    • Zasób (25)
    • URI (25)
    • Cool URI (26)
    • Reprezentacja (26)
    • Typ danych (27)
  • HTTP (29)
    • Wykraczamy poza HTTP 1.1 (29)
    • Wymiana komunikatów HTTP (30)
    • Pośredniki (32)
    • Rodzaje pośredników (33)
    • Metody HTTP (33)
    • Nagłówki (36)
    • Kody stanu HTTP (37)
    • Negocjacja treści (38)
    • Buforowanie (38)
    • Uwierzytelnianie (42)
    • Schematy uwierzytelniania (42)
    • Dodatkowe schematy uwierzytelniania (43)
  • Podsumowanie (44)
Rozdział 2. Web API (45)
  • Co to jest Web API? (45)
  • Co w kwestii usług sieciowych SOAP? (45)
  • Korzenie Web API (46)
  • Początek rewolucji Web API (46)
  • Zwrócenie uwagi na sieć (47)
  • Wskazówki dla Web API (47)
  • Typy danych charakterystyczne dla domeny (48)
  • Profile typów danych (49)
  • Wiele reprezentacji (50)
  • Style API (51)
    • Model dojrzałości Richardsona (52)
    • RPC (poziom 0 w modelu dojrzałości Richardsona) (52)
    • Zasoby (poziom 1 w modelu dojrzałości Richardsona) (54)
    • Metody HTTP (poziom 2 w modelu dojrzałości Richardsona) (56)
    • Pokonanie przepaści na drodze ku API zorientowanemu na zasoby (58)
    • Hipermedia (poziom 3 w modelu dojrzałości Richardsona) (58)
    • REST (63)
    • Ograniczenia REST (63)
  • Podsumowanie (65)
Rozdział 3. Podstawy ASP.NET Web API (67)
  • Najczęściej spotykane scenariusze (67)
    • Pierwsza klasa programowania HTTP (68)
    • Jednakowe możliwości podczas programowania po stronie klienta i serwera (69)
    • Elastyczna obsługa różnych formatów (70)
    • Nigdy więcej "tworzenia kodu z nawiasami ostrymi" (70)
    • Możliwość stosowania testów jednostkowych (70)
    • Wiele opcji w zakresie hostingu (71)
  • Rozpoczęcie pracy z ASP.NET Web API (72)
  • Nowy projekt Web API (75)
    • Plik WebApiConfig.cs (76)
    • Plik ValuesController.cs (78)
  • "Witaj, Web API!" (79)
    • Utworzenie usługi (79)
    • Klient (86)
    • Host (86)
  • Podsumowanie (87)
Rozdział 4. Architektura przetwarzania (89)
  • Warstwa hostingu (91)
  • Warstwa potoku procedur obsługi komunikatów (93)
    • Obsługa tras (95)
  • Warstwa obsługi kontrolera (96)
    • Klasa bazowa ApiController (97)
  • Podsumowanie (103)
Rozdział 5. Aplikacja (105)
  • Dlaczego ewolucja? (106)
    • Bariery na drodze ewolucji (107)
    • Jaki jest koszt zmiany? (108)
    • Dlaczego po prostu nie wersja? (110)
    • Przystępujemy do pracy (113)
  • Cele aplikacji (113)
    • Cele (113)
    • Możliwości (114)
  • Model informacji (114)
    • Subdomeny (115)
    • Powiązane zasoby (116)
    • Grupy atrybutów (117)
    • Kolekcje grup atrybutów (117)
    • Model informacji kontra typ danych (118)
    • Kolekcje zgłoszeń błędów (119)
  • Modele zasobów (119)
    • Zasób główny (119)
    • Zasoby wyszukiwania danych (120)
    • Kolekcja zasobów (120)
    • Zasób elementu (120)
  • Podsumowanie (123)
Rozdział 6. Projekt i wybór typu danych (125)
  • Samoopisywanie się (125)
  • Rodzaje kontraktów (126)
  • Typy danych (126)
    • Proste formaty (126)
    • Popularne formaty (128)
    • Nowe formaty (129)
    • Typy hipermediów (131)
    • Eksplozja typów danych (132)
    • Ogólne typy danych i profile (132)
    • Inne typy hipermediów (136)
  • Typy relacji łączy (137)
    • Semantyka (137)
    • Zastąpienie osadzonych zasobów (139)
    • Warstwa pośrednia (139)
    • Dane odwołania (140)
    • Przepływ zdarzeń w aplikacji (141)
    • Składnia (142)
    • Doskonałe połączenie (145)
  • Opracowanie kontraktu nowego typu danych (145)
    • Wybór formatu (145)
    • Włączenie obsługi hipermediów (146)
    • Opcjonalne, obowiązkowe, pominięte, stosowalne (147)
    • Metadane osadzone kontra zewnętrzne (148)
    • Rozszerzalność (148)
    • Rejestracja typu danych (150)
  • Opracowanie nowych relacji łączy (151)
    • Standardowe relacje łącza (151)
    • Rozszerzenia relacji łączy (152)
    • Osadzone relacje łączy (152)
    • Rejestracja relacji łącza (153)
  • Typy danych w domenie monitorowania zgłoszeń błędów (153)
    • Lista zasobów (153)
    • Zasób elementu (155)
    • Zasób wykrycia (156)
    • Zasób wyszukiwania (157)
  • Podsumowanie (157)
Rozdział 7. Tworzenie API (159)
  • Projekt (159)
  • Pobranie kodu źródłowego (160)
  • Przygotowanie implementacji w stylu BDD (160)
  • Nawigacja po rozwiązaniu (161)
  • Pakiety i biblioteki (161)
  • Samohostowanie (162)
  • Modele i usługi (163)
    • Zgłoszenie błędu i magazyn dla zgłoszeń błędów (163)
    • Klasa IssueState (164)
    • Klasa IssuesState (164)
    • Klasa Link (166)
    • Klasa IssueStateFactory (166)
    • Klasa LinkFactory (167)
    • Klasa IssueLinkFactory (168)
  • Kryteria akceptacji (169)
  • Funkcjonalność: pobieranie zgłoszeń błędów (172)
    • Pobieranie zgłoszenia błędu (174)
    • Pobieranie otwartych i zamkniętych zgłoszeń błędów (177)
    • Pobieranie nieistniejącego zgłoszenia błędu (179)
    • Pobieranie wszystkich zgłoszeń błędów (179)
    • Pobieranie wszystkich zgłoszeń błędów jako danych w formacie Collection+Json (182)
    • Zasoby wyszukiwania (184)
  • Funkcjonalność: tworzenie zgłoszenia błędu (186)
  • Funkcjonalność: uaktualnianie zgłoszenia błędu (188)
    • Uaktualnianie zgłoszenia błędu (188)
    • Uaktualnianie nieistniejącego zgłoszenia błędu (190)
  • Funkcjonalność: usuwanie zgłoszenia błędu (191)
    • Usuwanie zgłoszenia błędu (191)
    • Usuwanie nieistniejącego zgłoszenia błędu (192)
  • Funkcjonalność: przetwarzanie zgłoszenia błędu (193)
    • Testy (193)
    • Implementacja (194)
  • Podsumowanie (195)
Rozdział 8. Usprawnianie API (197)
  • Kryteria akceptacji dla nowych funkcjonalności (197)
  • Implementacja obsługi buforowania danych wyjściowych (198)
  • Dodanie testów do sprawdzenia buforowania danych wyjściowych (200)
  • Implementacja ponownego pobierania buforowanych danych (202)
  • Implementacja warunkowych żądań GET do obsługi ponownego pobierania buforowanych danych (203)
  • Wykrywanie konfliktów (206)
  • Implementacja wykrywania konfliktów (206)
  • Audyt zmiany (209)
  • Implementacja audytu zmian za pomocą uwierzytelniania Hawk (210)
  • Monitorowanie (213)
  • Implementacja monitorowania (214)
  • Podsumowanie (216)
Rozdział 9. Tworzenie klienta (217)
  • Biblioteki klienta (218)
    • Biblioteki opakowujące (218)
    • Łącza jako funkcje (222)
  • Przebieg działania aplikacji (227)
    • Warto wiedzieć (228)
    • Klienty z misją (232)
    • Stan klienta (234)
  • Podsumowanie (235)
Rozdział 10. Model programowania HTTP (237)
  • Komunikaty (238)
  • Nagłówki (242)
  • Zawartość komunikatu (247)
    • Wykorzystanie zawartości komunikatu (248)
    • Tworzenie zawartości komunikatu (250)
  • Podsumowanie (257)
Rozdział 11. Hosting (259)
  • Hosting WWW (260)
    • Infrastruktura ASP.NET (260)
    • Routing ASP.NET (262)
    • Routing Web API (264)
    • Konfiguracja globalna (266)
    • Procedura obsługi Web API ASP.NET (268)
  • Samohostowanie (270)
    • Architektura WCF (271)
    • Klasa HttpSelfHostServer (272)
    • Klasa SelfHostConfiguration (273)
    • Rezerwacja adresu URL i kontrola dostępu (275)
  • Hosting Web API z użyciem OWIN i Katana (275)
    • OWIN (276)
    • Projekt Katana (277)
    • Konfiguracja Web API (280)
    • Oprogramowanie pośredniczące Web API (281)
    • Środowisko OWIN (283)
  • Hosting w pamięci (284)
  • Hosting Azure Service Bus (284)
  • Podsumowanie (290)
Rozdział 12. Kontrolery i routing (291)
  • Ogólny opis przepływu komunikatów HTTP (291)
  • Potok procedur obsługi komunikatów (292)
    • Dyspozytor (296)
    • HttpControllerDispatcher (297)
    • Wybór kontrolera (297)
    • Aktywacja kontrolera (301)
  • Potok kontrolera (302)
    • ApiController (302)
    • Model przetwarzania ApiController (302)
  • Podsumowanie (314)
Rozdział 13. Formatery i dołączanie modelu (315)
  • Waga modeli w ASP.NET Web API (315)
  • Jak działa dołączanie modelu? (316)
  • Wbudowane bindery modelu (319)
    • Implementacja ModelBindingParameterBinder (320)
    • Dostawcy wartości (320)
    • Bindery modelu (323)
    • Dołączanie modelu tylko dla adresu URI (325)
    • Implementacja FormatterParameterBinder (326)
    • Domyślny wybór HttpParameterBinding (331)
  • Sprawdzanie poprawności modelu (331)
    • Zastosowanie w modelu atrybutów adnotacji danych (331)
    • Przeglądanie wyników operacji sprawdzania poprawności (332)
  • Podsumowanie (334)
Rozdział 14. HttpClient (335)
  • Klasa HttpClient (335)
    • Cykl życiowy (335)
    • Opakowanie (336)
    • Wiele egzemplarzy (336)
    • Bezpieczeństwo wątków (337)
    • Metody pomocnicze (337)
    • Zagłębiamy się w kolejne warstwy (337)
    • Ukończone żądania nie zgłaszają wyjątków (338)
    • Zawartość jest wszystkim (338)
    • Przerwanie na żądanie (339)
    • Metoda SendAsync() (340)
  • Procedury obsługi komunikatów klienta (341)
    • Proxy dla procedur obsługi (342)
    • Nieprawdziwe procedury obsługi odpowiedzi (343)
    • Tworzenie wielokrotnego użytku procedur obsługi odpowiedzi (344)
  • Podsumowanie (346)
Rozdział 15. Bezpieczeństwo (347)
  • Zapewnienie bezpieczeństwa transportu (347)
  • Użycie TLS w ASP.NET Web API (349)
    • Użycie TLS z hostingiem IIS (349)
    • Użycie TLS z samohostowaniem (351)
  • Uwierzytelnianie (351)
    • Model oświadczeń (352)
    • Pobieranie i przypisywanie aktualnego zleceniodawcy (356)
    • Uwierzytelnienie oparte na transporcie (357)
    • Uwierzytelnienie serwera (357)
    • Uwierzytelnienie klienta (361)
    • Framework uwierzytelniania HTTP (367)
    • Implementacja uwierzytelniania opartego na HTTP (369)
    • Katana, czyli oprogramowanie pośredniczące do uwierzytelniania (370)
    • Aktywne i pasywne oprogramowanie pośredniczące odpowiedzialne za uwierzytelnianie (374)
    • Filtry uwierzytelniania w Web API (375)
    • Uwierzytelnianie oparte na tokenie (378)
    • Schemat uwierzytelniania Hawk (385)
  • Autoryzacja (386)
    • Egzekwowanie autoryzacji (388)
    • Współdzielenie zasobów między serwerami w różnych domenach (391)
    • Obsługa mechanizmu CORS na platformie ASP.NET Web API (393)
  • Podsumowanie (396)
Rozdział 16. OAuth 2.0, czyli framework uwierzytelniania (397)
  • Aplikacje klienta (399)
  • Uzyskanie dostępu do chronionych zasobów (401)
  • Pobranie tokenu dostępu (402)
  • Uprawnienia kodu autoryzacji (404)
  • Zakres (406)
  • Kanał oficjalny kontra kanał nieoficjalny (407)
  • Token refresh (409)
  • Serwer zasobów i serwer autoryzacji (410)
  • Przetwarzanie tokenów dostępu w ASP.NET Web API (411)
  • OAuth 2.0 i uwierzytelnianie (413)
  • Autoryzacja na podstawie zakresu (416)
  • Podsumowanie (417)
Rozdział 17. Testowanie (419)
  • Testy jednostkowe (419)
    • Frameworki testów jednostkowych (420)
    • Rozpoczęcie pracy z testami jednostkowymi w Visual Studio (420)
    • xUnit.NET (422)
    • Rola testów jednostkowych w programowaniu TDD (423)
  • Testy jednostkowe implementacji ASP.NET Web API (427)
    • Testy jednostkowe ApiController (427)
    • Testy jednostkowe MediaTypeFormatter (433)
    • Testy jednostkowe HttpMessageHandler (436)
    • Testy jednostkowe ActionFilterAttribute (437)
  • Testy jednostkowe tras (440)
  • Testy integracji w ASP.NET Web API (442)
  • Podsumowanie (443)
Dodatek A. Typy danych (445) Dodatek B. Nagłówki HTTP (447) Dodatek C. Negocjacja treści (451)
  • Negocjacja proaktywna (451)
  • Negocjacja reaktywna (452)
Dodatek D. Buforowanie w działaniu (455) Dodatek E. Przepływ zdarzeń podczas uwierzytelniania (459) Dodatek F. Specyfikacja typu danych dla application/issue+json (463)
  • Konwencje nazw (463)
  • Dokument zgłoszenia błędu (463)
  • Kwestie bezpieczeństwa (464)
  • Kwestie interoperacyjności (464)
  • Kwestie związane z IANA (464)
Dodatek G. Certyfikaty i kryptografia klucza publicznego (465)
  • Cofnięcie certyfikatu (471)
  • Tworzenie testowych kluczy i certyfikatów (471)
Skorowidz (475)
powrót
 
Produkty Podobne
Programowanie w ASP.NET Core
Programming ASP.NET Core
ASP.NET Core MVC 2. Zaawansowane programowanie. Wydanie VII
Zestaw 2 książek z serii Tajniki (C# i .NET Framework + ASP.NET Core 2.0)
Tajniki ASP.NET Core 2.0. Wzorzec MVC, konfiguracja, routing, wdrażanie i jeszcze więcej
ASP.NET Core in 24 Hours, Sams Teach Yourself
ASP.NET Core Application Development: Building an application in four sprints
Nowoczesne API. Ewoluujące aplikacje sieciowe w technologii ASP.NET
ASP.NET MVC 5, Bootstrap i Knockout.js. Tworzenie dynamicznych i elastycznych aplikacji internetowych
ASP.NET MVC 5. Zaawansowane programowanie
Więcej produktów