This book begins by defining what software architecture is - a term that
can be mean different things to different people and different
organisations. It then explains all the avrious non-functional
requirements (performance, scalability, security etc) things that I
think everyone would agree are very important in software architecture.
It then explains various architectural approaches used in enterprise
systems. This includes web services, message orientated systems, model
driven architecture, aspect orientated architectures. There is also a
case study which shows how some of concepts described can be applied.
favourie part was on message orientated architectures. All the
fundamental and sophisticated aspects are very explained. These include:
the asychronous nature of message systems, the way you can cluster message ques and
brokers, the hierachial naming formats in publish subscribe message
topics and the different approaches to reliability (best effort,
persistent and transactional). There was also some really good
discussion regarding the background and importance of message brokers.
well as technical concepts there are also some interesting sections on
architectural processes, documentation and even my old favourite UML!
book serves as a very good reminder to the importance of software
architecture - especially in enterprise systems. Architectural
approaches don't just need to be properly understood, they need to be
compared with other approaches especially with respect to the
non-functional requirements that are important to your system.
Ian Gortan is a super writer. His style is very succint, concise and
erudite. It would be very interesting to hear his opinions on various
Big Data / NoSql options, the return of the fat client and explosion of
software architects. I would recommend this book to any developer,
architect or anybody with an interest in the key concepts of enterprise