Architektura ewolucyjna. Projektowanie oprogramowania i wsparcie zmian. Wydanie II - Helion
Autor: Neal Ford, Rebecca Parsons, Patrick Kua, Pramod Sadalage
Tytuł oryginału: Building Evolutionary Architectures: Automated Software Governance, 2nd Edition
Tłumaczenie: Krzysztof Sawka
ISBN: 978-83-289-0066-0
stron: 240, Format: 165x235, okładka: mi
Księgarnia: Helion
Tytuł oryginału: Building Evolutionary Architectures: Automated Software Governance, 2nd Edition
Tłumaczenie: Krzysztof Sawka
ISBN: 978-83-289-0066-0
stron: 240, Format: 165x235, okładka: mi
Księgarnia: Helion
Książka będzie dostępna od sierpnia 2023
Jeszcze kilka lat temu koncepcja ewoluowania architektury by
Zobacz także:
- Superinteligencja. Scenariusze, strategie, zagro 66,67 zł, (14,00 zł -79%)
- Poradnik design thinking - czyli jak wykorzysta 48,28 zł, (14,00 zł -71%)
- Kosymulacja. Elastyczne projektowanie i symulacja wielodomenowa 38,39 zł, (11,90 zł -69%)
- F# 4.0 dla zaawansowanych. Wydanie IV 96,45 zł, (29,90 zł -69%)
- Systemy reaktywne. Wzorce projektowe i ich stosowanie 65,31 zł, (20,90 zł -68%)
Spis treści
Architektura ewolucyjna. Projektowanie oprogramowania i wsparcie zmian. Wydanie II -- spis treści
Przedmowa do wydania pierwszego
Przedmowa do wydania drugiego
Wprowadzenie
Część I. Mechanika
- 1. Ewoluowanie architektury oprogramowania
- Wyzwania związane z ewoluującą architekturą
- Architektura ewolucyjna
- Zmiana kierowana
- Wielowymiarowość architektury
- Jak można planować coś długoterminowo, gdy wszystko zmienia się bez przerwy?
- W jaki sposób możemy po stworzeniu architektury zabezpieczyć ją przed degradacją?
- Dlaczego ewolucyjna?
- Podsumowanie
- 2. Funkcje dopasowania
- Czym jest funkcja dopasowania?
- Kategorie
- Zakres: atomowe/holistyczne
- Miarowość: wywoływane/ciągłe/czasowe
- Analiza przypadku: wywoływane czy ciągłe?
- Rezultat: statyczne/dynamiczne
- Wywołanie: zautomatyzowane/ręczne
- Proaktywność: zamierzone/wyłaniające się
- Pokrycie: funkcje dopasowania specyficzne dla domeny?
- Kto pisze funkcje dopasowania?
- Gdzie znajduje się platforma testowania moich funkcji dopasowania?
- Rezultaty a implementacje
- Podsumowanie
- 3. Projektowanie zmian przyrostowych
- Zmiana przyrostowa
- Potoki wdrażania
- Analiza przypadku: dodawanie funkcji dopasowania do usługi fakturowania w firmie Kapitalne Patenty
- Analiza przypadku: sprawdzanie spójności API w automatycznych kompilacjach
- Podsumowanie
- Zmiana przyrostowa
- 4. Automatyzacja zarządzania architekturą
- Funkcje dopasowania w zarządzaniu architekturą
- Funkcje dopasowania na poziomie kodu
- Sprzężenie aferentne i eferentne
- Abstrakcyjność, niestabilność i odległość od głównej sekwencji
- Kierunkowość importowanych elementów
- Złożoność cyklomatyczna i zarządzanie przez kierowanie zespołami
- Kompletne narzędzia
- Legalność otwartych bibliotek
- A11y i inne obsługiwane parametry architektury
- ArchUnit
- Lintery do zarządzania kodem
- Analiza przypadku: funkcja dopasowania dostępności
- Analiza przypadku: testowanie obciążenia wraz z wydaniami kanarkowymi
- Architektura integracji
- Zarządzanie komunikacją w mikrousługach
- Analiza przypadku: wybór sposobu implementacji funkcji dopasowania
- DevOps
- Architektura korporacyjna
- Analiza przypadku: restrukturyzacja architektury podczas 60 wdrożeń dziennie
- Funkcje dopasowania wierności
- Funkcje dopasowania jako lista kontrolna, a nie kij samobij
- Dokumentowanie funkcji dopasowania
- Podsumowanie
Część II. Struktura
- 5. Topologie architektury ewolucyjnej
- Struktura architektury ewolucyjnej
- Splątanie
- Skrzyżowanie splątania z ograniczonym kontekstem
- Kwanty architektury i ziarnistość
- Niezależnie wdrażany
- Wysoce funkcjonalna spójność
- Znaczne sprzężenie statyczne
- Kontrakty
- Analiza przypadku: mikrousługi jako architektura ewolucyjna
- Wzorce wieloużywalności kodu
- Skuteczna wieloużywalność = abstrakcja + mała ulotność
- Przyczepy i siatka usług: ortogonalne sprzężenie operacyjne
- Siatka danych: sprzężenie ortogonalne danych
- Podsumowanie
- Struktura architektury ewolucyjnej
- 6. Dane ewolucyjne
- Projektowanie ewolucyjnej bazy danych
- Integracja współdzielonych baz danych
- Nieprawidłowe nakładanie się danych
- Zatwierdzanie dwufazowe transakcji
- Wiek i jakość danych
- Analiza przypadku: ewolucja trasowania w firmie Kapitalne Patenty
- Od funkcji natywnej do funkcji dopasowania
- Zgodność powiązań
- Duplikacja danych
- Zastępowanie wyzwalaczy i przechowywanych procedur
- Analiza przypadku: ewoluowanie od architektury relacyjnej do nierelacyjnej
- Podsumowanie
- Projektowanie ewolucyjnej bazy danych
Część III. Skutki
- 7. Tworzenie ewoluowalnych architektur
- Zasady architektury ewolucyjnej
- Ostatni odpowiedzialny moment
- Projektuj i twórz z myślą o ewoluowalności
- Prawo Postela
- Projektuj z myślą o testowalności
- Prawo Conwaya
- Mechanika
- Etap 1. Identyfikacja wymiarów podlegających ewolucji
- Etap 2. Definiowanie funkcji dopasowania dla każdego wymiaru
- Etap 3. Stosowanie potoku wdrażania do automatyzacji funkcji dopasowania
- Nowe projekty
- Modernizowanie istniejących architektur
- Prawidłowe sprzężenie i spójność
- Skutki stosowania modelu COTS
- Migrowanie architektur
- Etapy migracji
- Ewoluowanie oddziaływań pomiędzy modułami
- Wskazówki dotyczące tworzenia architektur ewolucyjnych
- Usuń niepotrzebną zmienność
- Zagwarantuj odwracalność decyzji
- Przedkładaj ewoluowalność nad przewidywalność
- Twórz warstwy przeciwdegradacyjne
- Tworzenie architektur ofiarniczych
- Minimalizuj wpływ zmian zewnętrznych
- Aktualizowanie bibliotek i szkieletów
- Wersjonuj usługi wewnętrznie
- Analiza przypadku: ewoluowanie systemu oceniania w firmie Kapitalne Patenty
- Architektura sterowana funkcjami dopasowania
- Podsumowanie
- Zasady architektury ewolucyjnej
- 8. Pułapki i antywzorce architektury ewolucyjnej
- Architektura techniczna
- Antywzorzec: pułapka ostatnich 10% i mało kodu/ brak kodu
- Analiza przypadku: wieloużywalność w firmie Kapitalne Patenty
- Antywzorzec: monopolista
- Pułapka: nieszczelne abstrakcje
- Pułapka: projektowanie zorientowane na CV
- Zmiany przyrostowe
- Antywzór: nieprawidłowe zarządzanie
- Analiza przypadku: zarządzanie "na styk" w firmie Kapitalne Patenty
- Pułapka: brak szybkości wydawania
- Kwestie biznesowe
- Pułapka: dostosowywanie produktu
- Antywzorzec: raportowanie na wierzchu systemu rekordów
- Pułapka: nadmiernie długie horyzonty planowania
- Podsumowanie
- Architektura techniczna
- 9. Stosowanie architektury ewolucyjnej w praktyce
- Czynniki organizacyjne
- Nie walcz z prawem Conwaya
- Parametry sprzężenia zespołów
- Kultura
- Kultura eksperymentowania
- Dyrektor finansowy i przygotowywanie budżetu
- Kwestia biznesowa
- Projektowanie zorientowane na hipotezy i dane
- Funkcje dopasowania jako media eksperymentalne
- Tworzenie korporacyjnych funkcji dopasowania
- Analiza przypadku: podatność zabezpieczeń na ataki dnia zerowego
- Wyznaczanie ograniczonych kontekstów w istniejącej architekturze integracji
- Od czego zacząć?
- Łatwo osiągalny cel
- Przede wszystkim największa wartość
- Testowanie
- Infrastruktura
- Analiza przypadku: architektura korporacyjna w firmie Kapitalne Patenty
- Stan przyszły?
- Testowanie generatywne
- Dlaczego (lub dlaczego nie)?
- Dlaczego firma powinna zdecydować o tworzeniu architektury ewolucyjnej?
- Dlaczego firma miałaby rezygnować z tworzenia architektury ewolucyjnej?
- Podsumowanie
- Czynniki organizacyjne