Kategorie
Ebooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komputer w biurze
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Multimedialne szkolenia
- Nieruchomości
- Perswazja i NLP
- Podatki
- Polityka społeczna
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Raporty, analizy
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
E-prasa
- Architektura i wnętrza
- Biznes i Ekonomia
- Dom i ogród
- E-Biznes
- Finanse
- Finanse osobiste
- Firma
- Fotografia
- Informatyka
- Kadry i płace
- Komputery, Excel
- Księgowość
- Kultura i literatura
- Naukowe i akademickie
- Ochrona środowiska
- Opiniotwórcze
- Oświata
- Podatki
- Podróże
- Psychologia
- Religia
- Rolnictwo
- Rynek książki i prasy
- Transport i Spedycja
- Zdrowie i uroda
-
Historia
-
Informatyka
- Aplikacje biurowe
- Bazy danych
- Bioinformatyka
- Biznes IT
- CAD/CAM
- Digital Lifestyle
- DTP
- Elektronika
- Fotografia cyfrowa
- Grafika komputerowa
- Gry
- Hacking
- Hardware
- IT w ekonomii
- Pakiety naukowe
- Podręczniki szkolne
- Podstawy komputera
- Programowanie
- Programowanie mobilne
- Serwery internetowe
- Sieci komputerowe
- Start-up
- Systemy operacyjne
- Sztuczna inteligencja
- Technologia dla dzieci
- Webmasterstwo
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poemat
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Podręczniki szkolne
-
Popularnonaukowe i akademickie
- Archeologia
- Bibliotekoznawstwo
- Filmoznawstwo
- Filologia
- Filologia polska
- Filozofia
- Finanse i bankowość
- Geografia
- Gospodarka
- Handel. Gospodarka światowa
- Historia i archeologia
- Historia sztuki i architektury
- Kulturoznawstwo
- Lingwistyka
- Literaturoznawstwo
- Logistyka
- Matematyka
- Medycyna
- Nauki humanistyczne
- Pedagogika
- Pomoce naukowe
- Popularnonaukowa
- Pozostałe
- Psychologia
- Socjologia
- Teatrologia
- Teologia
- Teorie i nauki ekonomiczne
- Transport i spedycja
- Wychowanie fizyczne
- Zarządzanie i marketing
-
Poradniki
-
Poradniki do gier
-
Poradniki zawodowe i specjalistyczne
-
Prawo
- BHP
- Historia
- Kodeks drogowy. Prawo jazdy
- Nauki prawne
- Ochrona zdrowia
- Ogólne, kompendium wiedzy
- Podręczniki akademickie
- Pozostałe
- Prawo budowlane i lokalowe
- Prawo cywilne
- Prawo finansowe
- Prawo gospodarcze
- Prawo gospodarcze i handlowe
- Prawo karne
- Prawo karne. Przestępstwa karne. Kryminologia
- Prawo międzynarodowe
- Prawo międzynarodowe i zagraniczne
- Prawo ochrony zdrowia
- Prawo oświatowe
- Prawo podatkowe
- Prawo pracy i ubezpieczeń społecznych
- Prawo publiczne, konstytucyjne i administracyjne
- Prawo rodzinne i opiekuńcze
- Prawo rolne
- Prawo socjalne, prawo pracy
- Prawo Unii Europejskiej
- Przemysł
- Rolne i ochrona środowiska
- Słowniki i encyklopedie
- Zamówienia publiczne
- Zarządzanie
-
Przewodniki i podróże
- Afryka
- Albumy
- Ameryka Południowa
- Ameryka Środkowa i Północna
- Australia, Nowa Zelandia, Oceania
- Austria
- Azja
- Bałkany
- Bliski Wschód
- Bułgaria
- Chiny
- Chorwacja
- Czechy
- Dania
- Egipt
- Estonia
- Europa
- Francja
- Góry
- Grecja
- Hiszpania
- Holandia
- Islandia
- Litwa
- Łotwa
- Mapy, Plany miast, Atlasy
- Miniprzewodniki
- Niemcy
- Norwegia
- Podróże aktywne
- Polska
- Portugalia
- Pozostałe
- Rosja
- Rumunia
- Słowacja
- Słowenia
- Szwajcaria
- Szwecja
- Świat
- Turcja
- Ukraina
- Węgry
- Wielka Brytania
- Włochy
-
Psychologia
- Filozofie życiowe
- Kompetencje psychospołeczne
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Audiobooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Nieruchomości
- Perswazja i NLP
- Podatki
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
Historia
-
Informatyka
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Popularnonaukowe i akademickie
-
Poradniki
-
Poradniki zawodowe i specjalistyczne
-
Prawo
-
Przewodniki i podróże
-
Psychologia
- Filozofie życiowe
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Kursy video
-
Bazy danych
-
Big Data
-
Biznes, ekonomia i marketing
-
Cyberbezpieczeństwo
-
Data Science
-
DevOps
-
Dla dzieci
-
Elektronika
-
Grafika/Wideo/CAX
-
Gry
-
Microsoft Office
-
Narzędzia programistyczne
-
Programowanie
-
Rozwój osobisty
-
Sieci komputerowe
-
Systemy operacyjne
-
Testowanie oprogramowania
-
Urządzenia mobilne
-
UX/UI
-
Web development
-
Zarządzanie
Podcasty
- Ebooki
- Programowanie
- Inne - Programowanie
- Złożone zagadnienia architektury oprogramowania. Jak analizować kompromisy i podejmować trudne decyzje
Szczegóły ebooka
Złożone zagadnienia architektury oprogramowania. Jak analizować kompromisy i podejmować trudne decyzje
Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani
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
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 Heroizmu
- Wzorzec Saga Głuchego Telefonu
- Wzorzec Saga Baśni
- Wzorzec Saga Podróży w Czasie
- Wzorzec Saga Fantastyki
- Wzorzec Saga Grozy
- Wzorzec Saga Równoległości
- Wzorzec Saga Antologii
- Zarzą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
- Tytuł: Złożone zagadnienia architektury oprogramowania. Jak analizować kompromisy i podejmować trudne decyzje
- Autor: Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani
- Tytuł oryginału: Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures
- Tłumaczenie: Piotr Pilch
- ISBN: 978-83-283-9528-2, 9788328395282
- Data wydania: 2023-01-03
- Format: Ebook
- Identyfikator pozycji: zlozag
- Wydawca: Helion