«Идеальная архитектура. Ведущие специалисты о красоте программных архитектур», Диомидис Спинеллис, Георгиос Гусиос и другие авторы, O`Reilly, Символ 2010, ISBN 978-5-93286-175-2.
Книга с довольно многообещающим названием обещала рассказать о внутреннем устройстве различных известных программных продуктов и сервисов (Facebook, XEN, Emacs и т.д.). На самом деле всё оказалось попроще. Книга разбита на главы, каждая глава написана отдельным автором и рассказывает об отдельном продукте. Поэтому и отзыв напишу по главам:
- Общий рассказ о том, что такое архитектура, красивые и выдающиеся архитектуры (процессор A-7E, коммутатор Lucent 5ESS, WWW, UNIX).
- Одна из самых интересных глав, на абстрактных примерах архитектуры города рассказывает о том, как должно быть и как не должно.
- Архитектура MMO-игры Darkstar. Интересно про реализацию шардинга для обработки игрового мира и коммуникацию между отдельными шардами.
- Архитектура сложной клиент-серверной программы Creation Center для работы сети фотостудий Lifetouch Portrait Studios. Программа работает на нескольких уровнях и берет на себя работы от подбора рамочек для фото до печати в удаленном принт-центре. Проектирование отказоустойчивости, децентрализованности и дистрибуции. Интересно.
- Рассказ о том, чем плох SOAP и WDSL для управления информацией, почему нужно использовать REST и рекламируя PURL. Мне было интересно, но тоже не очень по теме.
- «Архитектура Facebook Platform». На самом деле больше похоже на описание API фейсбука и как нужно писать приложения для него используя FQL и FBML. Зачем это в книге?
- Архитектура виртуализатора XEN и как получилось заставить его быстро работать. В принципе интересно, но не особо по теме книги.
- Guardian. Рассказ про отказоустойчивую ОС двадцатилетней давности. Можно было и получше написать. Или вообще не писать.
- JPC. Глава про эмулятор x86, работающий в JVM. Если бы я был жабистом, совсем бы понравилось.
- Ещё про один эмулятор, теперь для запуска джавы на джаве - Jikes RVM и используемого в нем инструмента управления памяти MMTk. Глава перегружена техническими подробностями, поэтому для интереса читать сложно и скучно.
- GNU Emacs. Небольшой рассказ про архитектуру и как просто писать под него свои расширения. Для себя ничего ценного не нашел.
- Про ThreadWeaver и Arkonadi. Библиотеки из состава KDE для многопоточности и службы хранения данных соответственно. Не смог продраться через кучу малозначимой информации и что-то узнать полезное.
- Сравнение ООП и функционального подхода. Пролистал, скучно.
- Заключительная каша из кода на java и smalltalk. Пролистал.
В общем книга не очень оправдала ожидания, отдельные главы интересны, но не более того.