SOA with .NET and Windows Azure
In SOA with .NET and Windows Azure, a team of top Microsoft technology experts team up with Thomas Erl to explore service-oriented computing with Microsoft's latest .NET and Windows Azure innovations. The authors show how modern service technology advancements within the Microsoft platform have increased the potential for applying and realizing service-orientation practices and goals. Specifically, the book delves into Microsoft enterprise technologies, such as Windows Azure, Windows Workflow Foundation (WF), Windows Azure AppFabric, BizTalk Server, Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF) and industry technologies and models, including WS-* and REST, in relation to common SOA design patterns and principles. The book walks the reader through numerous code-level examples and further details various technology architectures and implementation examples, such as those related to cloud computing, orchestration, and enterprise service bus platforms.
Review By: Mark Cole
02/16/2011This book, "SOA with .NET and Windows Azure," is about how service-oriented solutions (such as the cloud) work with Microsoft technologies (such as Windows Azure). It is the size of a huge doorstopper—871 pages with a lot of content—and it is number three of a series of equally big books. Beginning this book without reading the first two books of the series is a little bit like starting the Lord of the Rings trilogy with The Return of the King. It is useful to know about SOAP, .NET, software architecture, and REST to completely understand this book. Fortunately, with the power of the book’s references and Google, you can pick up much of the necessary knowledge.
Opening the cover, it immediately refers to the eight design principles we learned about in SOA Principles of Service Design—except that I didn't because I haven't read that book. In any case, there is a summary of these principles in Appendix C. It also refers to the eighty-five patterns that we learned in SOA Design Patterns, except that I haven't read that one yet either. Lucky for me, this is summarized in Appendix D. I wish I had all that information down cold, but at least I have the inside covers of this book with page references to the appropriate spot in the appendixes. Both of these books might be better for conceptually understanding stuff without getting involved with the Microsoft technologies.
From this book, I have learned that it is a huge problem to get software working together so that it can share data back and forth. Twentieth-century software developers tended to build applications designed specifically to automate business-process requirements that were required at that particular time. Each IT enterprise had an "island of logic and data" that SOA calls an "application silo." Getting these silos to communicate becomes a maintenance nightmare. SOA solves this problem by keeping data loosely coupled and, instead of calling functions and methods with defined parameters, we instead call software services using soap packages written in XML that define meta-data by using WSDL (web service description language).
If this is all new to you, check out the following sites to catch up: soaspecs.com, whatissoa.com, soaprinciples.com, soapatterns.com, and soa-manifesto.com.
This book is that it is not a how-to guide. It doesn't give you step-by-step cookbook recipes to use .NET or SOA. The purpose of this book is to explore how the design principles of SOA intercept with .NET and Windows Azure technology. It is about learning software architecture—not just how to cook, but how to write the recipes. The problem with this approach is that sometimes you do want to know specifically how to use a tool to solve a work problem, with working examples and tutorials, and not generally about the multiple ways it could be used.
I found this book useful as a framework for understanding SOA and .NET technologies from a theoretical perspective.