Essential Software Architecture
"Architecture is something of a black art in the IT world. Architects learn on the job, bringing years of experience in design and technology to the business problems they tackle. It’s not an easy task to impart architecture knowledge.
So when Ian first spoke to me about the idea of writing this book, I thought “Great! Finally there will be a book that I can recommend to the many developers and students who approach me asking what they have to do to become an IT architect”. I knew that from reading the book they would discover many of the essential ingredients of being a good practicing IT architect.
In the years that I have known Ian, he has been an inspirational educator, a pragmatic and decisive software architect, and an idealistic software architecture researcher. On top of all that, he is an excellent communicator, who articulates advanced computing concepts clearly and succinctly irrespective of his audience – the novice or the experienced. Ian is also full of great life stories to tell – all told with a great sense of humor (especially after a few glasses of good wine!).
It is not until Ian handed me drafts of the various chapters that I realized that this is a must have book for the experienced IT architects too. As consulting enterprise architects, we are usually working inside an enterprise’s boundary, trying to influence the IT directions of the various departments within the enterprise, and designing the next evolution of IT architecture that breaks down the silos within the organization. We are often lone spirits, making important technology acquisition and design decisions without having a reference to look upon for validation of what we are doing. Now, for practicing architects, Ian’s book serves this precise purpose – it brings a sense of relief knowing that we are not alone, and that there are many others who also face similar architecture challenges. Ian’s book, although by no means a silver bullet to all of our IT architecture challenges, certainly helps us head in the right direction through the various techniques and approaches presented.
So here it is, an essential guide to computer science students as well as practicing developers and IT professionals who aspire to become an IT architect. For the experienced architects, it serves as a reference, a good validation of our thinking, and provides a summary of emerging technologies and practices that will be important in the not-too-distant future.
I hope you will enjoy the read as much as I have."