Beautiful Architecture and over one million other books are available for Amazon Kindle. Learn more

Vous voulez voir cette page en français ? Cliquez ici.


or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
More Buying Choices
Have one to sell? Sell yours here
Start reading Beautiful Architecture on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design [Paperback]

Diomidis Spinellis , Georgios Gousios

Price: CDN$ 44.99 & FREE Shipping. Details
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 1 left in stock (more on the way).
Ships from and sold by Amazon.ca. Gift-wrap available.
Want it delivered Wednesday, September 24? Choose One-Day Shipping at checkout.

Formats

Amazon Price New from Used from
Kindle Edition CDN $21.57  
Paperback CDN $44.99  
Save Up to 90% on Textbooks
Hit the books in Amazon.ca's Textbook Store and save up to 90% on used textbooks and 35% on new textbooks. Learn more.
Join Amazon Student in Canada


Book Description

Jan. 30 2009

What are the ingredients of robust, elegant, flexible, and maintainable software architecture? Beautiful Architecture answers this question through a collection of intriguing essays from more than a dozen of today's leading software designers and architects. In each essay, contributors present a notable software architecture, and analyze what makes it innovative and ideal for its purpose.

Some of the engineers in this book reveal how they developed a specific project, including decisions they faced and tradeoffs they made. Others take a step back to investigate how certain architectural aspects have influenced computing as a whole. With this book, you'll discover:

  • How Facebook's architecture is the basis for a data-centric application ecosystem
  • The effect of Xen's well-designed architecture on the way operating systems evolve
  • How community processes within the KDE project help software architectures evolve from rough sketches to beautiful systems
  • How creeping featurism has helped GNU Emacs gain unanticipated functionality
  • The magic behind the Jikes RVM self-optimizable, self-hosting runtime
  • Design choices and building blocks that made Tandem the choice platform in high-availability environments for over two decades
  • Differences and similarities between object-oriented and functional architectural views
  • How architectures can affect the software's evolution and the developers' engagement

Go behind the scenes to learn what it takes to design elegant software architecture, and how it can shape the way you approach your own projects, with Beautiful Architecture.


Customers Who Bought This Item Also Bought


Product Details


Product Description

About the Author

Diomidis Spinellis is an Associate Professor in the Department of Management Science and Technology at the Athens University of Economics and Business, Greece. His research interests include software engineering, programming languages, internet information systems, computer security, and intelligent optimization methods. He holds an MEng in Software Engineering and a PhD in Computer Science both from Imperial College London.

Spinellis is a FreeBSD committer and the author of many open-source software packages, libraries, and tools. His implementation of the Unix sed stream editor is part of all BSD Unix distributions and Apple's Mac OS X. Other tools he has developed include the UMLGraph declarative UML drawing engine, the ckjm tool for calculating Chidamber and Kemerer object-oriented metrics in large Java programs, the Outwit suite for integrating Windows features with command-line tools, the fileprune backup file management facility, and the socketpipe network plumbing utility. In 2004 he adopted and has since been maintaining and enhancing the popular bib2xhtml BibTeX bibliography format to HTML converter. Currently he is also serving as the scientific coordinator of the EU-funded SQO-OSS cooperative research project, a software quality observatory for open-source software.

Spinellis has published two books in Addison-Wesley's "Effective Programming Series": in 2004 Code Reading: the Open Source Perspective, which received a Software Development Productivity Award in 2004 and has been translated into six other languages, and in 2006 Code Quality: the Open Source Perspective, which also received a Software Development Productivity Award in 2007. Both books use hundreds of examples from large open source systems, like the BSD Unix operating system, the Apache Web server, and the HSQLDB Java database engine, to demonstrate how developers can comprehend, maintain, and evaluate existing software code. Spinellis has also published more than 100 technical papers in journals and refereed conference proceedings. The article "A Survey of Peer-to-Peer Content Distribution Technologies" he co-authored in 2004 appeared in the list of ACM's most downloaded digital library articles throughout 2005 and 2006. He is a member of the editorial board of IEEE Software, authoring the regular "Tools of the Trade" column, and Springer's Journal in Computer Virology.

Spinellis is a member of the ACM, the IEEE, the Usenix Association, the Greek Computer Society, the Technical Chamber of Greece, a founding member of the Greek Internet User's Society, and an active Wikipedian. He is four times winner of the International Obfuscated C Code Contest and a member of the crew listed in the Usenix Association 1993 Lifetime Achievement Award.

Georgios Gousios is a researcher by profession, a software engineer by education and a software enthusiast by passion. Currently, he is working on his PhD thesis at the Athens University of Economics and Business, Greece. His research interests include virtual machines, operating systems, software engineering and software quality. He holds an MSc with distinction from the University of Manchester, UK.

Gousios has contributed code to various OSS projects and also worked in various R&D projects in both academic and commercial settings. He is currently the project manager, design authority and core development team member for SQO-OSS, a multinational EU-funded research project, expanding in 5 countries, being developed by 40 people and consisting of 65k lines of code. The project investigates novel ways for evaluating software quality.

In his academic life, Gousios has published 10 technical papers in referred conferences and journals. One of those, the article "A comparison of dynamic web content technologies of the Apache web server" won the best paper award at the 2002 System Administration and Networking Conference, being the first comprehensive study in its field.

Gousios is a member of the ACM, the IEEE, the Usenix Association and the Technical Chamber of Greece.


Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

Customer Reviews

There are no customer reviews yet on Amazon.ca
5 star
4 star
3 star
2 star
1 star
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 3.2 out of 5 stars  8 reviews
29 of 33 people found the following review helpful
3.0 out of 5 stars Interesting idea, poor execution...too many cooks spoiled the broth March 19 2009
By Amrit Tiwana - Published on Amazon.com
Format:Paperback|Verified Purchase
The book suffers from a "too many cooks" problem; it is a very timely book but lacks cohesion across chapters. I agree with the other reviewer that it has way too many pages about nothing. This is simply a good example of where each chapter is written by an "authority" on architecture but the chapters are disjointed and lack a consistent message. I loved the title, and idea behind the book, but it overpromises and underdelivers. But there are some redeeming features.

However, three chapters are excellent and make up for about a third of the forty dollars that I spent on this book. First, the preface and its discussion of architectural principles and properties is one of the best discussions of those topics. I have not seen that elsewhere. Chapter 1 ("what is architecture") and chapter 2 (a contrast between a system with a messy architecture with another with a thoughtfully designed one) are excellent. Unfortunately, all this interesting content stops on page 43 and very little worth the time reading the remaining 374 pages!

I hope that the publisher would come out with a shrunk down 72 pager condensed version of this book that is more like the substance I've come to expect from O'Rielly books.

This book is best checked out at your local library. I would instead recommend buying Jan Bosch's older but still unbeatable "Design and Use of Software Architectures" book.
11 of 13 people found the following review helpful
3.0 out of 5 stars Good topics, Half baked March 11 2009
By Lior Bar-On - Published on Amazon.com
Format:Paperback|Verified Purchase
Beautiful Architecture is a collection of articles about architecture.
The books starts with a "What is architecture" article (AMAZING! almost any book about architecture has that! can't we finally agree and deprecate this discussion?!)
Other articles arrange by topics: enterprise (server) architecture, client architecture, etc...

What really annoyed me while reading this book, and lowered two stars for it, is the repeating rhythm of the articles:
They start slow and punctuality (That's ok), getting warmer, getting into a really interesting point and puff - suddenly the article ends.
It's like making many preparations (warming the oven, preparing raw materials), putting the cake in, but closing it over before the cake is done. Shame!

Overall I would buy this book to get leads to new areas, not to really cover it.
4 of 4 people found the following review helpful
3.0 out of 5 stars Great idea, poor execution... July 15 2009
By Alejandro Espinoza - Published on Amazon.com
Format:Paperback
The book's idea is great, but the content is not really focused. For me Architecture is not about coding. Coding is about architecture. But some of the chapters focus too much on technicalities, making it, not only out of topic, but tedious. Not all the chapters are like that, but still it makes the book a bit unfocused and too technical for the average reader.

In order to really grasp the full experience from the book you will have to have very deep and low level of knowledge of several disciplines which is unlikely (but not impossible) for the majority of the readers.

In my overall opinion the book is a worthy read, the insight from experience is great and the introduction to some very important Open Source Projects can really prove useful.
3 of 3 people found the following review helpful
5.0 out of 5 stars Excellent book, Very useful reference Oct. 5 2010
By Ionel Condor - Published on Amazon.com
Format:Paperback
Excellent book, Very useful reference

Rather than being a boring book , Beautiful Architecture, is a well-written and very informative collection of interesting example from real life that should be known by anyone with interest in this field. Even if the systems presented in the book are on different platforms, using totally different technologies, and developed in different periods of time, all share some important aspects related to the architecture.

The book is divided in five parts. The first part is a general presentation on what is an architecture and an example of two software systems, very similar from many aspects like size, appliance, programming language, operating system and even so, one was aborted and one is used in our days. The first one was abandoned mainly because the lake of the design from the binging, hard to add new features, and the amount of effort required to rework, refactor, and correct the problems with the code structure had become prohibitive. The second one, is still in production, still being extended and changed daily. The actual architecture for the second one it is remarkably similar to the original design, with a few notable changes, and a lot more experience to prove the design was right.

The second part is about the "Enterprise Application Architecture". In this part is 4 systems are presented: the scaling problem faced in case of a massively multiplayer online games, the grow of a system for image storage and retrieval for retail offerings of portraits, an example resource-oriented system in which is presented the importance of Web Services in an enterprise application, and in the last chapter the Facebook application system is presented, and how the Facebook Platform was created.

Part three is about System Architecture. It starts by presenting the Xen virtualization platform that has grown from an academic research effort to major open source project. A large part of its success is due to it being released as open source. Then a fault tolerance system is presented, by reviewing the Tandem Operating System designed between 1974 and 1976 and shipped between 1976 and 1982. Chapter nine presents JPC, an x86 PC Emulator in Pure Java. Another Java implementation is presented in chapter ten: Jikes RVM is a successful research virtual machine, providing performance close to the state-of-the-art in a flexible and easy-to-extend manner.

In the fourth part, the End-User Application Architectures are presented. The GNU Emacs text editor architecture is described, and also a comparison with other software like Eclipse and Firefox is provided. Then the KDE project, one of the biggest Free Software, is presented in chapter twelve.

Languages and Architecture are presented in the last part of the book. This parts starts with a comparison between functional and object-oriented programming, continue with some examples of object-oriented programming and ends with some thoughts on beautiful buildings with problems.

From the beginning of a project is very important to have a clear view of the architecture and technologies used, because after some iterations is really hard, or in some situation impossible, to change the entire architectures and in some cases ignoring the architecture can lead to a project fail. A good conclusion for the book would be that: "An architecture influences almost everything that comes into contact with it, determining the health of the codebase and also the health of the surrounding areas."
3.0 out of 5 stars Good book ..not sufficiently practical Aug. 4 2013
By A Reviewer - Published on Amazon.com
Format:Paperback|Verified Purchase
It is not the kind of book you use but reading it gives you an idea of what to consider in designing systems. More real world examples using real world projects including both successes and failures will make the book more useful

Look for similar items by category


Feedback