Идеальная архитектура, Ведущие специалисты о красоте программных архитектур, Спинеллис Д., Гусиос Г., 2010.
Из каких компонентов строятся надежные, элегантные, гибкие, удобные в сопровождении программные архитектуры? Книга отвечает на этот вопрос серией очерков, написанных ведущими программными архитекторами и проектировщиками современности. В каждом очерке авторы представляют какую-либо выдающую программную архитектуру, анализируют ее отличия от других архитектур и объясняют, почему она идеально подходит для своей цели.
Из книги вы узнаете, как на основе архитектуры Facebook была построена экосистема приложений, ориентированных на работу с данными; как новаторская архитектура Хеn повлияла на будущее операционных систем; как процессы в сообществе проекта KDE способствовали превращению программной архитектуры из предварительного проекта в элегантную систему; как «ползучая функциональность» помогла GNU Emacs выйти за пределы изначально запланированных возможностей; как устроена высокооптимизированная виртуальная машина Jikes RVM; какие сходства и различия существуют между объектно-ориентированными и функциональными архитектурными школами; как архитектуры влияют на эволюцию программных продуктов и труд разработчиков.

Что такое архитектура?
Термин «архитектура» используют строители, музыканты, писатели, проектировщики компьютеров и сетей, программисты (и не только они; когда-нибудь слышали о «кулинарных архитекторах»?) - но с разными результатами. Здание совершенно не похоже на симфонию, но у того и другого есть архитектура. Кроме того, все архитекторы непременно упоминают о красоте своей работы и ее результатов. Строитель скажет, что здание должно создавать хорошие условия для жизни или работы и что оно должно быть красивым. Музыкант скажет, что музыка должна быть хорошо исполнена, в ней должна четко прослеживаться тема и она должна быть красивой. Программный архитектор скажет, что система должна быть дружественной к пользователю и быстро реагировать на его действия, быть простой в установке и сопровождении, надежной и свободной от критических ошибок; кроме того, система должна стандартно взаимодействовать с другими системами и - тоже должна быть красивой.
В этой книге приводятся подробно описанные примеры красивых архитектур из области компьютеризированных систем. Поскольку наша дисциплина относительно молода, у нас меньше образцов для подражания, чем в таких областях, как строительство, музыка или литература, а потому потребность в них еще сильнее. Книга призвана заполнить этот пробел.
ОГЛАВЛЕНИЕ.
Вступление.
I. Об архитектуре.
1. Что такое архитектура?.
Введение.
Создание программной архитектуры.
Архитектурные структуры.
Хорошие архитектуры.
Красивые архитектуры.
Благодарности.
Библиография.
2. Повесть о двух системах: сказка для современных программистов.
Беспорядочный мегаполис.
Архитектурный городок.
Что дальше?.
Ваш ход.
Библиография.
II. Архитектура корпоративных приложений.
3. Масштабирование.
Введение.
Контекст.
Архитектура.
Размышления об архитектуре.
4. Фото на память.
Возможности и ограничения.
Технологический процесс.
Архитектурные грани.
Реакция пользователей.
Заключение.
Библиография.
5. Ресурсно-ориентированные архитектуры, жизнь в WWW.
Введение.
Традиционные веб-службы.
WWW.
Ресурсно-ориентированные архитектуры.
Приложения, управляемые данными.
Практическое применение ресурсно-ориентированных архитектур.
Заключение.
6. Архитектура Facebook Platform.
Введение.
Создание социальной веб-службы.
Создание социальной службы запросов данных.
Создание социального веб-портала: FBML.
Поддержка функциональности системы.
Итоги.
III. Системная архитектура.
7. Xen и красота виртуализации.
Введение.
Xenoservers.
Проблемы виртуализации.
Паравиртуализация.
Изменяющаяся конфигурация Xen.
Изменения в оборудовании - изменения в Xen.
Уроки Xen.
Библиография.
8. Guardian: отказоустойчивая операционная система.
Tandem/16: когда-нибудь все компьютеры будут такими.
Оборудование.
Механическое строение.
Архитектура процессора.
Межпроцессорная шина.
Ввод/вывод.
Структура процессов.
Система сообщений.
Файловая система.
Фольклор.
Недостатки.
Последующие поколения.
Библиография.
9. JPC: эмулятор х86 PC на языке Java.
Введение.
Проверка концепции.
Архитектура PC.
Быстродействие в Java.
Накладные расходы.
Опасности защищенного режима.
Безнадежное дело.
Берем JVM под контроль.
Максимальная гибкость.
Максимальная безопасность.
Переработка архитектуры.
10. Метациклические виртуальные машины: Jikes RVM.
Предыстория.
Мифы, связанные со средами времени выполнения.
Краткая история Jikes RVM.
Инициализация самодостаточной среды времени выполнения.
Компоненты времени выполнения.
Выводы.
Библиография.
IV. Архитектуры пользовательских приложений.
11. GNU Emacs: сила ползучей функциональности.
Emacs в работе.
Архитектура Emacs.
Ползучая функциональность.
Две другие архитектуры.
12. Когда базар строит собор.
Введение.
История и структура проекта KDE.
Akonadi.
Thread Weaver.
V. Языки и архитектура.
13. Программные архитектуры: объектно-ориентированные и функциональные.
Обзор.
Примеры.
Оценка модульности функциональных решений.
Объектно-ориентированное представление.
Оценка и улучшение модульности в объектно-ориентированных архитектурах.
Агенты: упаковка операций в объектах.
Благодарности.
Библиография.
14. Перечитывая классику.
Объекты и только объекты.
Неявное определение типов.
Проблемы.
Архитектура в камне.
Библиография.
Послесловие.
Соавторы.
Алфавитный указатель.
Купить .
Теги: учебник по программированию :: программирование :: Спинеллис :: Гусиос :: архитектура








