Expert Service-Oriented Architecture in C# 2005, Second Edition
Service-Oriented Architecture (SOA) is the latest hype of technologies marketed toward large enterprises seeking to manage and monitor company-wide business transactions. The attempt has been made in the past under various incarnations and marketing promises that faltered due to lack of standards, network latency, the complexity of the solution, and problems with keeping the entire platform in sync. While time and technology improvements have helped rectify some of these issues, SOA promises to fix the standards stumbling block. Unfortunately, it is still a complex concept to implement due to the numerous moving parts and the various Web service standard schemas to understand. Recognizing this, Apress has published a primer to this vast subject targeted at the .NET developer seeking to comprehend the acronym soup associated with SOA, as well as how to codify this stuff into C# syntax.
The book is organized into nine chapters. It begins with a brief introduction to the topic and its six related Web Services (WS) Specifications, known as the WS-* family by SOA practitioners. The heart of the book is Chapter 5, introducing Microsoft s Web Services Enhancements (WSE) 3.0 for .NET along with the WS-Specifications in detail. The remaining chapters drill down into each of these specs, covering WS Addressing, Messaging, Policy, Reliable Messaging, Security, and Secure Conversation, with the security topics being given special attention. The book concludes with the revelation that, while WSE can help developers today, patient .NET software engineers will benefit from the not yet ready for prime-time Windows Communication Foundation (WCF).
While the book certainly delivers its advertised promise of educating its readers on SOA within a .NET context, it suffers from several problems. First, there are no case studies that illustrate the theory behind SOA and, consequently, no real-world big picture working scenarios on how WS-* lives within a .NET world. Of course, the authors could successfully argue that such an inclusion is outside the scope of the book, since any reader interested in the book has already been sold on the SOA concept and is strictly seeking .NET code examples to bridge to what is currently a Java-dominated software architecture.
Second, its cost per pages ratio is high; yes, the pages are packed with good information, but interested buyers should know up front that they are paying a privileged surcharge for .NET information which isn t as extensively covered (if at all) in other .NET programming texts. (Incidentally, the author incorrectly lists a Web URL in his introduction; book updates and sample code can be found at http://www.bluestonepartners.com/soa.htm, not soa.aspx as printed.)
Third, and most notable, is the fact that Microsoft is constructing an abstraction of the various pieces of the SOA puzzle into an easier, more coherent, and, yes, proprietary, construct called Windows Communications Foundation (WCF). I was glad to see the inclusion of this technology discussion in the final chapter of the book, but it begs the question of building for WSE now or waiting for WCF in the future. The authors admit that WSE construction today is for the early adopter who is either curious about or forced into supporting SOA within their active enterprises. For those developers continuing to align themselves with Microsoft solutions, holding out for WCF will undoubtedly make their lives easier. So even though this book is in its second edition, I would have been less critical of this point had the cover included a graphic burst or dog ear stating ideal for early adopters . While info about the WSE is healthy background knowledge, real-world enterprise developers who have to support real-world applications often well beyond their originally projected lifespan will take a much more conservative approach toward SOA in general.
In summary, this book is geared to those developers seeking a better, albeit brief, understanding of the current WSE integration within a .NET context. Those seeking the ideal framework to construct an SOA enterprise platform in .NET will want to wait until Apress publishes a follow-up to this book that will deeply dive into all things WCF.
Title: Expert Service-Oriented Architecture in C# 2005, Second Edition
Authors: Jeffrey Hasan, with Mauricio Duran
Page Count: 272