Szczegóły ebooka

Mikrousługi w Javie. Poradnik eksperta

Mikrousługi w Javie. Poradnik eksperta

Sourabh Sharma

Ebook

Chmury obliczeniowe otworzyły nowe możliwości projektowania aplikacji korporacyjnych. Obecnie konstruuje się je z małych, lekkich i zorientowanych na proces komponentów, nazywanych mikrousługami. Tworzone w ten sposób aplikacje są skalowalne i łatwe do zarządzania, a przy tym niezwykle elastyczne i wykorzystujące dostępne zasoby w wyjątkowo efektywny sposób. Jak łatwo się przekonać, projektowanie i implementacja mikrousług otwierają przed programistami Javy bardzo obiecujące perspektywy!

Niniejsza książka jest przeznaczona dla programistów Javy, którzy znają podstawowe pojęcia dotyczące mikrousług i chcą tworzyć funkcjonalne aplikacje biznesowe w tej technologii. Przedstawiono tu najważniejsze zasady realizacji dużych projektów, zaprezentowano ważne szczegóły dotyczące konfiguracji środowiska programistycznego i ciągłej integracji, które ułatwią wdrażanie mikrousług. Opisano zalety i sposoby wykorzystania biblioteki Spring Security. Przedstawiono dobre praktyki projektowania mikrousług, a także techniki ich debugowania, tak aby bez problemu można było zaprojektować i wdrożyć aplikację w środowisku korporacyjnym.

Niektóre zagadnienia omówione w książce:

  • środowiska programistyczne i narzędzia do projektowania mikrousług
  • różne technologie wdrażania mikrousług
  • zabezpieczanie mikrousług, w tym uwierzytelnianie i autoryzacja
  • testowanie mikrousług za pomocą klientów REST
  • tworzenie interfejsów użytkownika w technologii Angular JS
  • typowe problemy związane z projektowaniem mikrousług i ich rozwiązywanie

Mikrousługi — sprytne rozwiązania biznesowe dla dużych korporacji!


Sourabh Sharma tworzy aplikacje od ponad 10 lat. Jest cenionym ekspertem w dziedzinie tworzenia, wdrażania i testowania wielowarstwowych aplikacji internetowych. Opracował i wdrożył wiele rozwiązań samodzielnych i chmurowych dla klientów z listy Fortune 500. Jest autorem wielu systemów opartych na mikrousługach. Sharma jest pasjonatem Javy. Uwielbia analizowanie skomplikowanych problemów i poszukiwanie niestandardowych rozwiązań.

O autorach (9)

O recenzencie (10)

Przedmowa (11)

Rozdział 1. Koncepcja rozwiązania (15)

  • Rozwój mikrousług (16)
  • Omówienie architektury monolitycznej (17)
  • Problemy architektury monolitycznej i ich rozwiązania w mikrousługach (17)
    • Jednowymiarowa skalowalność (20)
    • Wycofanie wersji produkcyjnej w razie problemów (21)
    • Problemy związane z wdrażaniem nowych technologii (21)
    • Mikrousługi a metodyki zwinne (22)
    • Łatwość tworzenia oprogramowania - da się lepiej! (23)
    • Budowanie mikrousług - kolejność wykonywania działań (24)
    • Wdrażanie mikrousług w kontenerach na przykładzie Dockera (25)
  • Podsumowanie (28)

Rozdział 2. Konfiguracja środowiska programistycznego (29)

  • Konfiguracja Spring Boot (30)
    • Omówienie technologii Spring Boot (30)
    • Dodajemy Spring Boot do przykładowego projektu (31)
    • Dodajemy wbudowany serwer Jetty (33)
  • Przykładowa aplikacja typu REST (34)
    • Piszemy klasę kontrolera REST (35)
    • Uruchamianie przykładowej aplikacji (38)
  • Konfiguracja procesu budowania aplikacji (39)
    • Uruchomienie narzędzia Maven (39)
    • Wykonywanie polecenia w terminalu (40)
  • Testowanie API za pomocą rozszerzenia Postman (40)
    • Prawidłowe przypadki testowe (43)
    • Nieprawidłowe przypadki testowe (44)
  • Instalacja i konfiguracja środowiska NetBeans (45)
  • Źródła (48)
  • Podsumowanie (49)

Rozdział 3. Projektowanie sterowane modelem dziedziny (51)

  • Podstawy projektowania sterowanego modelem dziedziny (52)
  • Pojęcia, terminy, definicje (53)
    • Wszechobecne słownictwo (53)
    • Wielowarstwowa architektura (54)
    • Artefakty związane z projektowaniem sterowanym modelem dziedziny (55)
  • Projektowanie strategiczne i jego założenia (63)
    • Ograniczony kontekst (64)
    • Integracja ciągła (64)
    • Mapa kontekstu (65)
  • Przykładowa usługa dziedziny (68)
    • Implementacja encji (69)
    • Implementacja repozytorium (70)
    • Implementacja usługi (72)
  • Podsumowanie (73)

Rozdział 4. Implementujemy mikrousługę (75)

  • Omówienie systemu OTRS (76)
  • Opracowywanie i implementacja mikrousług (77)
    • Mikrousługa Restaurant (78)
    • Usługi użytkowników i rezerwacji (87)
    • Rejestracja i wykrywanie usług (usługa Eureka) (87)
    • Wykonanie (88)
  • Testowanie (88)
  • Źródła (91)
  • Podsumowanie (91)

Rozdział 5. Wdrażanie i testowanie (93)

  • Podstawy architektury mikrousług w Netflix OSS (93)
  • Równoważenie obciążenia (95)
    • Równoważenie obciążenia po stronie klienta (95)
    • Równoważenie obciążenia po stronie serwera (98)
  • Wyłącznik automatyczny a monitorowanie (101)
    • Stosowanie metod awaryjnych aplikacji Hystrix (101)
    • Monitorowanie usług (102)
    • Konfiguracja pulpitu Hystrix (103)
    • Konfiguracja aplikacji Turbine (105)
  • Wdrażanie mikrousług za pomocą kontenerów (106)
    • Instalacja i konfiguracja (106)
  • Źródła (115)
  • Podsumowanie (116)

Rozdział 6. Mikrousługi a bezpieczeństwo (117)

  • Dodanie obsługi protokołu SSL (117)
  • Uwierzytelnianie i autoryzacja (120)
    • OAuth 2.0 (121)
    • Specyfikacja OAuth 2.0 - krótko i na temat (122)
  • Implementacja OAuth z wykorzystaniem Spring Security (138)
  • Źródła (147)
  • Podsumowanie (148)

Rozdział 7. Użytkowanie mikrousług za pomocą aplikacji webowej (149)

  • Ogólne założenia frameworka AngularJS (150)
    • MVC (150)
    • MVVM (150)
    • Moduły (151)
    • Dostawcy i usługi (152)
    • Zakresy (153)
    • Kontrolery (153)
    • Filtry (153)
    • Dyrektywy (154)
    • Router interfejsu użytkownika - UI-Router (154)
  • Implementacja funkcji systemu OTRS (155)
    • Lista restauracji/strona domowa (155)
    • Wyszukiwanie restauracji (167)
    • Widok szczegółów restauracji z opcją rezerwacji (168)
    • Strona logowania (169)
    • Potwierdzenie rezerwacji (172)
  • Konfiguracja aplikacji webowej (172)
  • Źródła (183)
  • Podsumowanie (184)

Rozdział 8. Dobre praktyki i istotne reguły tworzenia mikrousług (185)

  • Właściwy sposób myślenia (185)
  • Dobre praktyki i przydatne reguły (187)
    • Nanousługa (niezalecana), rozmiar i monolityczność (187)
    • Ciągła integracja i wdrażanie (188)
    • Automatyzacja testów end-to-end (189)
    • Automonitorowanie i logowanie (190)
    • Oddzielny magazyn danych dla każdej mikrousługi (191)
    • Granice transakcji (192)
  • Narzędzia i frameworki do tworzenia mikrousług (193)
    • Netflix Open Source Software (OSS) (193)
  • Źródła (199)
  • Podsumowanie (199)

Rozdział 9. Rozwiązywanie problemów (201)

  • Obsługa logów i stos ELK (201)
    • Krótkie wprowadzenie (202)
    • Konfiguracja stosu ELK (204)
  • Zastosowanie skorelowanych ID dla wywołań usług (207)
    • Jak rozwiązać ten problem? (207)
  • Zależności i wersje (207)
    • Zależności cykliczne i ich wpływ (207)
    • Zarządzanie różnymi wersjami (208)
    • Dowiedz się więcej (208)
  • Źródła (209)
  • Podsumowanie (209)

Skorowidz (211)

  • Tytuł: Mikrousługi w Javie. Poradnik eksperta
  • Autor: Sourabh Sharma
  • Tytuł oryginału: Mastering Microservices with Java
  • Tłumaczenie: Krzysztof Rychlicki-Kicior
  • ISBN: 978-83-283-3219-5, 9788328332195
  • Data wydania: 2017-05-12
  • Format: Ebook
  • Identyfikator pozycji: mikjav
  • Wydawca: Helion