Other obligations have quieted down over the past two months and I’ve been able to get back to some voracious reading. I thought I’d point out a few of the books that I’ve recently knocked out, and let you know what I think of them.
- SOA Governance. This is a book from Todd Biske and published by my book’s publisher, Packt. It follows a make-believe company through their efforts to establish SOA best practices at their organization. Now, that doesn’t mean that the book reads like a novel, but, this isn’t a “reference book” to me as much as an “ideas” book. When I finished it, I had a better sense of the behavioral changes, roles required and processes that I should consider when evangelizing SOA behavior in my own company. Todd does a good job identifying the underlying motivations of the people that will enable SOA to succeed or fail within a company. You’ll find some useful thinking around identifying the “right” services, versioning considerations, SLA definition, and even some useful checklists to verify if you’re asking the right questions at each phase of the service lifecycle. Whether you’re “doing SOA” or not, this is a easy read that can help you better digest the needs of stakeholders in an enterprise software solution.
- Mashup Patterns : Designs and Examples for the Modern Enterprise. I’ve been spending a fair amount of time digging into mashups lately, and it was great to see a book on the topic come out. The author breaks down the key aspects of designing a mashup (harvesting data, enriching data, assembling results and managing the deliverable). Each of the 30+ patterns is comprised of: (a) a problem statement that describes the issue at hand, (b) a conceptual solution to the problem, (c) a “fragility score” which indicates how brittle the solution is, (d) and finally 2 or more examples where this solution is applied to a very specific case. The examples for each pattern are where I found the most value. This helped drive home the problem being solved and provided a bit more meat on the conceptual solution being offered. That said, don’t expect this book to tell you WHAT can help you create these solutions. There is very much the tone of “we just need to get this data from here, combine it with this, and even our business analyst can do it!” However, nowhere does the author dig into how all this MAGIC really happens (e.g. products, tools, etc). That was the only weakness of the book to me. Otherwise, this was quite a well put together book that added a few things to my arsenal of options when architecting solutions.
- Thank You for Arguing: What Aristotle, Lincoln, and Homer Simpson Can Teach Us About the Art of Persuasion. I really enjoyed reading this. In essence, it’s a look at the lost art of rhetoric and covers a wide set of tools we can use to better frame an argument and win it. The author has a great sense of humor and I found myself actually taking notes while reading the book (which I never really do). There are a mix of common sense techniques for setting up your own case, but I also found the parts outlining how to spot a bad argument quite interesting. So, if you want to get noticeably better at persuading others and also become more effective at identifying when someone’s trying to bamboozle you, definitely pick this up.
- Leaving Microsoft to Change the World. A co-worker suggested this book to me. It’s the story of John Wood, a former Microsoft executive during the 90s glory days, who chucked his comfortable lifestyle and started a non-profit organization (Room to Read) with the mission of improving education in the poorest countries in the world. John’s epiphany came during a backpacking trip through Nepal and seeing the shocking lack of reading materials available to kids who desperately wanted to learn and lift themselves out of poverty. Even if the topic doesn’t move you, this book has a fascinating look at how to start up a global organization with a focused objective and a shoestring budget. This is one of those “perspective books” that I try and make sure I read from time to time.
- Microsoft .NET: Architecting Applications for the Enterprise. I actually had this book sent to me by a friend at Microsoft. Authored by Dino Esposito and Andrea Saltarello, this is an excellent look at software architecture. It starts off with a very clear summary of what architecture really is, and raised a point that struck home for me: architecture should be about the “hard decisions.” An architect isn’t going to typically get into the weeds on every project, but instead should be seeking out the trickiest or most critical parts of a proposed solution and focus their energies there. The book contains a good summary of core architecture patterns and spends much of the time digging into how to design a business layer, data access layer, service layer, and presentation layer. Clearly this book has a Microsoft bent, but, don’t discount it as a valid introduction to architecture for any technologist. They address a wide set of core principles that are technology agnostic in a well-written fashion.
I’m trying to queue up some books for my company’s annual “summer shutdown” and always looking for suggestions. Technology, sports, erotic thrillers, you name it.