"Beautiful Architecture", Diomidis Spinellis/Georgios Gousios, 2009,
%E Diomidis Spinellis
%E Georgios Gousios
%C 103 Morris Street, Suite A, Sebastopol, CA 95472
%G 978-0-596-51798-4 0-596-51798-X
%I O'Reilly & Associates, Inc.
%O U$44.99/C$44.99 800-998-9938 707-829-0515 nuts@...
%O Audience s- Tech 2 Writing 1 (see revfaq.htm for explanation)
%P 404 p.
%T "Beautiful Architecture"
It is difficult to define what architecture is. Many times
architecture is defined in terms of what it is not. Architects do not
build buildings: they derive the plans from which buildings are made.
As design is not the structure, but the organization which drives the
structure, so architecture is not design, but is a layer of
abstraction above, and informing, design. As I read the foreword of
this book, which presented a number of "universal principles" of
architecture, the maxims sounded high and fine, and yet my reaction to
each was, "Yes, but ..."
The preface states that for this work, the editors followed a model
used in a prior work about programming code: contacting people who had
been involved in well-known or highly innovative projects, and asking
them to write essays.
Part one is about architecture, starting with chapter one, which asks
"What Is Architecture?" Unfortunately, while the authors of the piece
collect a number of definitions, they are less successful in getting
those delineations to work together, beyond noting that architecture
is a set of decisions that are used in the process of design, and that
proper architecture has an important bearing on the final outcome.
(It's a case of "I know good architecture when I see it.") Chapter
two compares two systems and says one with a bad architecture is worse
than one with a good architecture.
Part two is about Enterprise application architecture. Chapter three
examines scaling for growth in the context of online role-playing game
systems. A system for image storage and retrieval for retail
offerings of portraits is described in chapter four. The concept of
the intranet is revisited in chapter five, noting how Web technology
can be used for information systems within a company. This piece is
more about the technology than architecture. Similarly, chapter six
looks at the Facebook application system.
Part three moves to system architecture. Some interesting ideas about
virtualization architecture are implemented in the Xen system, which
is the topic of chapter seven. Some aspects of fault tolerance are
addressed in chapter eight's review of the Tandem Guardian system.
Chapter nine describes JPC, a software emulation of the hardware of
the x86 computer within Java. Virtualization and emulation are both
involved in the Jikes RVM that, as chapter ten shows, has Java
End-user application architectures are considered in part four. Emacs
is an astoundingly extended text editor: it has been used as a
development environment, among other things. However, chapter eleven
shows that it is based on a fundamentally simple architecture,
ensuring that it remains consistent as it grows. The K Desktop
Environment (KDE) and a couple of extensions are examined in chapter
Part five looks at languages and architecture. A comparison between
functional and object-oriented programming is made in chapter
thirteen. Chapter fourteen closes off with some more thoughts on
object-oriented programming, and then some thoughts on beautiful
buildings with problems.
There are some interesting ideas presented in some of the essays in
this book. It is, however, difficult to say how far it extends the
field of software architecture.
copyright Robert M. Slade, 2009 BKBEARCH.RVW 20090228
====================== (quote inserted randomly by Pegasus Mailer)
rslade@... slade@... rslade@...
ASCII to ASCII, DOS to DOS.