Zdjęcie Złożone zagadnienia architektury oprogramowania. Jak analizować kompromisy i podejmować trudne decyzje - Piła

Złożone zagadnienia architektury oprogramowania. Jak analizować kompromisy i podejmować trudne decyzje Piła

W epoce infrastruktur chmurowych, mikrousług czy wysublimowanych wzorców projektowych architekt oprogramowania musi sobie radzić z trudnym zadaniem, jakim jest wybór odpowiednich rozwiązań. Będą one potem szczegółowo testowane podczas pracy w środowisku produkcyjnym, a także przy późniejszym …

Ostatnia znana cena: 54,75 zł Najbliżej: brak

Liczba ofert: 0

Opis

W epoce infrastruktur chmurowych, mikrousług czy wysublimowanych wzorców projektowych architekt oprogramowania musi sobie radzić z trudnym zadaniem, jakim jest wybór odpowiednich rozwiązań. Będą one potem szczegółowo testowane podczas pracy w środowisku produkcyjnym, a także przy późniejszym dostosowywaniu i rozbudowywaniu oprogramowania. Tymczasem w wypadku architektury złożonych systemów nie ma łatwych kompromisów. Konieczne jest bardzo wnikliwe i krytyczne przemyślenie każdej decyzji projektowej, i to na możliwie najwcześniejszym etapie pracy. Ta książka powinna zostać przestudiowana przez każdego architekta nowoczesnych systemów rozproszonych. Jej celem jest pokazanie sposobów rozwiązywania trudnych problemów związanych z projektowaniem takiego oprogramowania. W krytyczny i wszechstronny sposób omówiono w niej najważniejsze problemy utrudniające podejmowanie dobrych decyzji projektowych. Zaprezentowano najskuteczniejsze strategie doboru optymalnej architektury. Na jasnych przykładach pokazano, w jaki sposób należy przystąpić do analizy założeń projektowych ... począwszy od określenia "ziarnistości" usług, przepływów informacji i orkiestracji, poprzez eliminację sprzężenia kontraktów i określenie nadzoru nad transakcjami rozproszonymi, a skończywszy na metodach optymalizowania właściwości operacyjnych, takich jak skalowalność, elastyczność i wydajność. Najciekawsze zagadnienia: analiza kompromisów i dokumentowanie decyzji podejmowanie decyzji dotyczących "ziarnistości" usług złożoność procesu przekształcania aplikacji monolitycznych eliminacja sprzężeń kontraktów wiążących usługi obsługa danych w architekturze o dużym stopniu rozproszenia wzorce zarządzania przepływami informacji i transakcjami Architekt musi być prorokiem... Frank Lloyd Wright Spis treści: Przedmowa Rozdział 1. Co się dzieje przy braku "najlepszych praktyk"? Skąd określenie "trudne kwestie"? Ponadczasowa rada dotycząca architektury oprogramowania Ważność danych w architekturze Rekord decyzji dotyczących architektury Funkcje dopasowania architektury Zastosowanie funkcji dopasowania Architektura a projekt: utrzymywanie definicji w prostej postaci Wprowadzenie do sagi zespołu operatorów systemu Przepływ informacji bez zgłoszeń Przepływ informacji ze zgłoszeniami Zły scenariusz Komponenty architektury aplikacji zespołu operatorów systemu Model danych aplikacji zespołu operatorów systemu Część I. Rozdzielanie wszystkiego Rozdział 2. Rozpoznawanie sprzężenia w architekturze oprogramowania Kwant (kwanty) architektury Możliwość niezależnego wdrażania Wysoki stopień spójności funkcjonalnej Wysoki poziom sprzężenia statycznego Dynamiczne sprzężenie kwantu Saga zespołu operatorów systemu: zrozumienie kwantów Rozdział 3. Modułowość architektury Czynniki modułowości Możliwość utrzymania Możliwość testowania Możliwość wdrażania Skalowalność Dostępność i odporność na błędy Saga zespołu operatorów systemu: zapewnianie uzasadnienia biznesowego Rozdział 4. Dekompozycja architektury Czy baza kodu umożliwia dekompozycję? Sprzężenie dośrodkowe i odśrodkowe Abstrakcyjność i niestabilność Odległość od ciągu głównego Dekompozycja komponentowa Rozdzielanie taktyczne Kompromisy Saga zespołu operatorów systemu: wybór metody dekompozycji Rozdział 5. Wzorce dekompozycji komponentowej Wzorzec Identyfikowanie komponentów i określanie ich wielkości Opis wzorca Funkcje dopasowania służące do zarządzania Saga zespołu operatorów systemu: określanie wielkości komponentów Wzorzec Gromadzenie wspólnych komponentów domeny Opis wzorca Funkcje dopasowania służące do zarządzania Saga zespołu operatorów systemu: gromadzenie wspólnych komponentów Wzorzec Wyrównywanie komponentów Opis wzorca Funkcje dopasowania służące do zarządzania Saga zespołu operatorów systemu: wyrównywanie komponentów Wzorzec Określanie zależności komponentów Opis wzorca Funkcje dopasowania służące do zarządzania Saga zespołu operatorów systemu: określanie zależności komponentów Wzorzec Tworzenie domen komponentów Opis wzorca Funkcje dopasowania służące do zarządzania Saga zespołu operatorów systemu: tworzenie domen komponentów Wzorzec Tworzenie usług domenowych Opis wzorca Funkcje dopasowania służące do zarządzania Saga zespołu operatorów systemu: tworzenie usług domenowych Podsumowanie Rozdział 6. Rozdzielanie danych operacyjnych Czynniki przemawiające za dekompozycją danych Elementy dezintegracji danych Elementy integracji danych Saga zespołu operatorów systemu: uzasadnianie dekompozycji bazy danych Dekompozycja danych monolitycznych Krok 1: analizowanie bazy danych i tworzenie domen danych Krok 2: przypisanie tabel do domen danych Krok 3: rozdzielenie połączeń z bazą danych między domenami danych Krok 4: przeniesienie schematów na osobne serwery baz danych Krok 5: przełączenie na niezależne serwery baz danych Wybieranie typu bazy danych Relacyjne bazy danych Bazy danych z parami klucz-wartość Bazy danych dokumentów Kolumnowe bazy danych Grafowe bazy danych Bazy danych NewSQL Bazy danych przeznaczone dla usług w chmurze Bazy danych szeregów czasowych Saga zespołu operatorów systemu: różnorodne bazy danych Rozdział 7. Ziarnistość usług Elementy dezintegracji ziarnistości Zasięg i przeznaczenie usługi Ulotność kodu Skalowalność i przepustowość Odporność na błędy Bezpieczeństwo Rozszerzalność Elementy integracji ziarnistości Transakcje bazy danych Przepływ informacji i choreografia Kod współużytkowany Relacje między danymi Określanie właściwej równowagi Saga zespołu operatorów systemu: ziarnistość usługi przydzielania zgłoszenia Saga zespołu operatorów systemu: ziarnistość usługi rejestrowania klienta Część II. Ponowne łączenie wszystkiego ze sobą Rozdział 8. Wzorce ponownego wykorzystania Replikowanie kodu Kiedy używać? Biblioteka współużytkowana Zarządzanie zależnościami i kontrola zmian Strategie numeracji wersji Kiedy używać? Usługa współużytkowana Ryzyko zmian Wydajność Skalowalność Odporność na błędy Kiedy używać? "Przyczepy" i siatka usług Kiedy używać? Saga zespołu operatorów systemu: wspólna logika infrastruktury Ponowne wykorzystanie kodu: kiedy zapewnia to dodatkową wartość? Ponowne wykorzystanie za pośrednictwem platform Saga zespołu operatorów systemu: wspólna funkcjonalność domeny Rozdział 9. Własność danych i transakcje rozproszone Przypisywanie prawa własności danych Scenariusz pojedynczej własności Scenariusz ogólnej własności Scenariusz współwłasności Technika podziału tabeli Technika domeny danych Technika delegowania Technika konsolidowania usług Podsumowanie kwestii własności danych Transakcje rozproszone Wzorce ostatecznej spójności Wzorzec synchronizacji w tle Wzorzec oparty na żądaniach z orkiestracją Wzorzec oparty na zdarzeniach Saga zespołu operatorów systemu: własność danych przy przetwarzaniu zgłoszeń Rozdział 10. Dostęp do danych rozproszonych Wzorzec komunikacji między usługami Wzorzec replikacji schematu kolumnowego Wzorzec buforu replikowanego Wzorzec domeny danych Saga zespołu operatorów systemu: dostęp do danych na potrzeby przydzielania zgłoszeń Rozdział 11. Zarządzanie rozproszonymi przepływami informacji Wariant komunikacji z orkiestracją Wariant komunikacji z choreografią Zarządzanie stanem przepływu informacji Kompromisy przy porównaniu orkiestracji z choreografią Właściciel stanu i sprzężenie Saga zespołu operatorów systemu: zarządzanie przepływami informacji Rozdział 12. Sagi transakcyjne Wzorce sag transakcyjnych Wzorzec Saga HeroizmuWzorzec Saga Głuchego TelefonuWzorzec Saga BaśniWzorzec Saga Podróży w CzasieWzorzec Saga FantastykiWzorzec Saga GrozyWzorzec Saga RównoległościWzorzec Saga AntologiiZarządzanie stanem i spójność ostateczna Maszyny stanów sagi Techniki zarządzania sagami Saga zespołu operatorów systemu: transakcje atomowe i aktualizacje kompensujące Rozdział 13. Kontrakty Porównanie kontraktów ścisłych i luźnych Kompromisy towarzyszące ścisłym i luźnym kontraktom Kontrakty w mikrousługach Sprzężenie struktur danych Przesadne sprzężenie w wyniku użycia sprzężenia struktur danych Przepustowość Użycie sprzężenia struktur danych do zarządzania przepływem informacji Saga zespołu operatorów systemu: zarządzanie kontraktami obsługi zgłoszeń Rozdział 14. Zarządzanie danymi analitycznymi Dotychczasowe rozwiązania Hurtownia danych Jezioro danych Siatka danych Definicja siatki danych Kwant produktu danych Siatka danych, sprzężenie i kwant architektury Kiedy korzystać z siatki danych? Saga zespołu operatorów systemu: siatka danych Rozdział 15. Tworzenie własnej analizy kompromisów Określanie powiązanych ze sobą wymiarów Sprzężenie Analizowanie punktów sprzężenia Ocena kompromisów Techniki kompromisów Porównanie analizy jakościowej i ilościowej Listy zasady MECE Pułapka wyjścia poza kontekst Modelowanie odpowiednich przypadków domenowych Preferowanie konkluzji nad dowód z nadmiarem informacji Unikanie panaceum i żarliwego zapału Saga zespołu operatorów systemu: epilog Dodatek A. Odwołania do terminów i pojęć Dodatek B. Odwołania do rekordów decyzji dotyczących architektury Dodatek C. Zestawienie kompromisów Skorowidz

Specyfikacja

Podstawowe informacje

Autor
  • Mark Richards|Neal Ford|Pramod Sadalage|Zhamak Dehghani
Wybrani autorzy
  • Opracowanie zbiorowe
Wybrane wydawnictwa
  • Helion
Okładka
  • Miękka
Format
  • 16.5 x 23.5 cm
Rok wydania
  • 2023
Ilość stron
  • 408
Tematyka
  • Programowanie
ISBN
  • 9788328395275