Facebook - konwersja
  • promocja

Nowoczesne API. Ewoluujące aplikacje sieciowe w technologii ASP.NET - ebook

Wydawnictwo:
Data wydania:
26 czerwca 2016
Format ebooka:
EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.

Nowoczesne API. Ewoluujące aplikacje sieciowe w technologii ASP.NET - ebook

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!


Glenn Block — jeden z twórców ASP.NET, odpowiedzialny za przygotowanie jednej z poprzednich wersji ASP.NET Web API.
Pablo Cibraro — od czternastu lat projektuje i implementuje ogromne systemy rozproszone w centrach Microsoft Technologies.
Pedro Felix — naukowiec i inżynier oprogramowania, specjalizuje się w problematyce infrastruktury środowiska uruchomieniowego, w zarządzaniu tożsamością i w kwestiach związanych z kontrolą dostępu do danych.
Howard Dierking — menedżer programu w zespole WCF Web API w firmie Microsoft, obecnie kieruje pracami nad menedżerem pakietów NuGet i pracuje nad projektem Katana.
Darrel Miller — współzałożyciel Tavis Software, specjalizuje się w stosowaniu stylu architekturalnego REST w aplikacjach biznesowych.

Spis treści

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)

Kategoria: Webmaster
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-2392-6
Rozmiar pliku: 10 MB

BESTSELLERY

Kategorie: