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
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
ASP.NET MVC 5 with Bootstrap and Knockout.js
Designing Evolvable Web APIs with ASP.NET
Programming Microsoft ASP.NET MVC, 3rd Edition
SignalR Programming in Microsoft ASP.NET
ASP.NET Web Forms. Kompletny przewodnik dla programistów interaktywnych aplikacji internetowych w Visual Studio
ASP.NET MVC. Kompletny przewodnik dla programistów interaktywnych aplikacji internetowych w Visual Studio
Więcej produktów