Автор: Mark Richards
1
Eлектронна книга

Podstawy architektury oprogramowania dla inżynierów

Mark Richards, Neal Ford

Rola architekta oprogramowania się zmienia. Dziś jest on odpowiedzialny za wiele spraw, zarówno technicznych, jak i tych wynikających ze specyfiki organizacji, której ma służyć aplikacja. Co więcej, rola architekta nie kończy się na podjęciu decyzji projektowych na początku pracy. Nowoczesne style architektoniczne, takie jak mikrousługi, umożliwiają przyrostowe wprowadzanie zmian, co jednak wymusza ciągłe wypracowywanie kompromisów z innymi kwestiami. Obszar architektury wciąż się zmienia i wymaga podejmowania decyzji. Mało tego, architekt musi bezustannie analizować i aktualizować podstawy, które bierze pod uwagę przy tych decyzjach. Ważne są kontekst, perspektywy i wciąż zmieniający się ekosystem dostępnych technologii. Oto kompleksowy przewodnik po nowych aspektach architektury oprogramowania. Skorzysta z niego zarówno praktykujący architekt, chcący odświeżyć swoje podejście do tego zagadnienia, jak i programista aspirujący do roli architekta. W książce zaprezentowano szereg zagadnień, które mimo zmieniających się uwarunkowań pozostają podstawami, takich jak parametry architektury, wzorce architektoniczne, określanie składników, tworzenie diagramów, prezentowanie architektury, architektura ewolucyjna i wiele innych. Dokładnie wyjaśniono te zasady, które mogą być zastosowane do wszystkich zestawów rozwiązań technologicznych. Przedstawiono niezwykle ważną kwestię analizy kompromisów, która pozwala na obiektywną ocenę rozwiązań technologicznych. Duży nacisk położono na konieczność uwzględniania wszystkich innowacji ostatniej dekady. Najciekawsze zagadnienia: wzorce architektoniczne etapy pracy przy projektowaniu nowoczesnej architektury umiejętności miękkie pomocne w pracy architekta nowe praktyki w projektowaniu architektury oprogramowania architektura oprogramowania jako dziedzina inżynierii W architekturze chodzi o ważne rzeczy (czymkolwiek to jest). Ralph Johnson

2
Eлектронна книга

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