Expert Service-Oriented Architecture In C#: Using the Web... and over 2 million other books are available for Amazon Kindle . Learn more
Buy Used
+ £2.80 UK delivery
Used: Good | Details
Sold by anybookltd
Condition: Used: Good
Comment: This book has soft covers.Ex-library,With usual stamps and markings,In good all round condition.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Service-Oriented Architecture in C#: Using the Web Services Enhancements 2.0 (Books for Professionals by Professionals) Paperback – 4 May 2009

2 customer reviews

See all 2 formats and editions Hide other formats and editions
Amazon Price New from Used from
Kindle Edition
"Please retry"
"Please retry"
£2.83 £0.01

There is a newer edition of this item:

Product details

  • Paperback: 336 pages
  • Publisher: Apress (4 May 2009)
  • Language: English
  • ISBN-10: 1590593901
  • ISBN-13: 978-1590593905
  • Product Dimensions: 20.3 x 1.9 x 26 cm
  • Average Customer Review: 1.0 out of 5 stars  See all reviews (2 customer reviews)
  • Amazon Bestsellers Rank: 2,777,691 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, and more.

Product Description

About the Author

Jeffrey Hasan is the president of Bluestone Partners, Inc., a software development and consulting company based in Orange County, California. His company provides architectural design and software development services to businesses that implement advanced Microsoft technologies. Jeff is an experienced architect and .NET developer, and is the coauthor of several books and articles on .NET technology, including Performance Tuning and Optimizing ASP.NET Applications (Apress, 2003). Jeff has a master's degree from Duke University and is a Microsoft Certified Solution Developer (MCSD). When he is not working, Jeff likes to play guitar, mountain bike, and travel to far-flung corners of the world. His travels have taken him from southern Spain to Monterrey, Mexico, and on to Quebec, with a few stops in between.

Inside This Book

(Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

Customer Reviews

1.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See both customer reviews
Share your thoughts with other customers

Most Helpful Customer Reviews

18 of 18 people found the following review helpful By Steve Jones on 14 July 2005
Format: Paperback Verified Purchase
This book is divided into 2 sections. The first half completely fails to explain SOA, using waffle and repetition. If you didn't understand SOA before, then you certainly won't after reading this. If you understood it a little, this will make it worse.
The second half is about WSE2. He has many examples using varying coding styles depending on where he has ripped them off from. Most of his examples are almost exact copies of those from the Microsoft WSE2 downloads, but are worse as he has removed some useful comments from the originals. There is no possible reason for buying this book.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
1 of 1 people found the following review helpful By A Customer on 11 Feb. 2006
Format: Paperback
The author has absolutely no idea about creating good web service applications. He even encourage you to write wsdl manually instead of using the one generated by Visual Studio. His discussion on SOA is very confusing. His discussion on WSE2 is not very bad.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Helpful Customer Reviews on (beta) 21 reviews
24 of 28 people found the following review helpful
Outstanding discussions of both SOA and WSE 2.0 26 Aug. 2004
By Amazon Customer - Published on
Format: Paperback
At the time of this writing, the two topics arguably getting the most press, causing the most stir and generating the most buzz for web services aficionados are service-oriented architectures (SOA) for general audiences, and more specifically within Microsoft circles, Web Services Enhancements 2.0. Author Jeffrey Hasan (of whose work I'm a big fan, notably for his work in "Performance Tuning and Optimizing ASP.NET Applications" (...) paints a masterful picture of both topics in this outstanding work. This is a must-have if you've caught the WSE bug (pun accidentally intended) and need a practical guide to building better web services.

The material assumes a fair amount of .NET experience on the part of the developer, so the focus isn't on presenting exhaustive code examples and then describing them line by line; the intent is to give the seasoned .NET programmer a primer on how to make their apps more effective and more available to the rest of the world.

Using Microsoft .NET's associated technologies for XML Web services development, SOA is presented as being a maturation process for organizational web services, implementing a high level of abstraction, and therefore, a greater degree of universal appeal by promoting broad component reusability. WSE 2.0 is then tackled, diving into the major areas of consideration for SOAP messaging (security, encryption, routing, reliability, policy creation/enforcement etc.). Hasan describes the importance and role of SOA within large, disparate systems, preaching the gospel of interface-based systems and use of service agents (mid-tier objects managing communications between web services, business components and type/operation interfaces). This builds on the same concept discussed by Microsoft's Yasser Shohoud as a major building block for advanced web services development in his seminal book, "Real World XML Web Services" (...).

Hasan also offers a refreshing, pragmatic discussion on the debatable misconception of the true "benefits" of loosely-coupled web services within enterprise-grade distributed applications, presenting a decent case for tight coupling in certain situations.

The book's prime example of an evolving stock quote service is appreciated a lot more than weak "Hello World" examples, and discrete enough to exhibit most of the advanced features of WSE 2.0 with a SOA slant. Although one of the prime tenets for WSE 2.0 is to facilitate web services in a transport-agnostic manner, many of the examples are geared toward SOAP messaging using HTTP, to the enjoyment of ASP.NET developers - something that's largely missing in the market today, with many current examples being WinForms apps. Desktop developers may grunt at the lack of representation in the book's examples for using other protocols (i.e., TCP, SMTP, etc.), but it's a minor price to pay.

Also, the book does sufficiently and consistently make mention of WSE 2.0 development for those of us not married to Visual Studio .NET environments, even though the preference of the author appears to prefer using the IDE.

This book is wonderfully written, using a voice that makes topics that can be quite difficult to wrap one's brain around easier to grasp. The chapters are very logically arranged. However, the book's major selling point is the working code and practicality of its theories, boasting a heavy dollop of both that experienced devs will appreciate and quickly put to use. With only a sparse amount of syntax-centric documentation, Microsoft Hands-On Labs, articles, and in-print books available at the moment for WSE 2.0 programming, this book is easily the leading resource for concepts and code today on the subject.

On that note, the chapter on the future of messaging with Indigo was an unexpected but welcome treat. I also found myself using the book's appendix more than I do most, which consists of a well-rounded collection of top platform-neutral papers on WS-* initiatives. Very nice touch.

This is an advanced book, but not so far out there that a developer with a few months of .ASMX work logged won't be able to pick it up without sacrificing their social lives and/or sanity. The book's writing style, arrangement of content and oft-brutal honesty (i.e., working with X.509 certificates in WSE 2.0 is pretty easy, but still far from completely painless; VS.NET's Add Web Reference option can royally screw up your proxy classes, et al.) make this a real winner and a great addition to your library.
8 of 9 people found the following review helpful
Doing SOA in a Microsoft environment 31 July 2004
By W Boudville - Published on
Format: Paperback
As Web Services start getting implemented, most of the work on understanding and implementing useful services has been dominated by developers in the Java/J2EE world. But Microsoft has built a parallel world around its C#/.NET platform. This book, then, can be seen as part of its response.

Hasan rolls out the now plentiful Web Services standards; like WS-Security, WS-Policy and WS-Addressing. He shows how these are implemented in .NET. But his book is more than a simple exposition of these standards. He puts all these within the context of a Service Oriented Architecture, where the programming language is (unsurprisingly) C#.

He tries a little re-education here. Many programmers meeting Web Services for the first time often have prior acquaintance with SOAP. What often ends up happening is that they then conceive of implementing a Web Service as a set of remote procedure calls, using SOAP to access the RPCs. Hasan shows that this is seriously non-optimal. Far better is a looser coupled message passing and processing design. It is within this context that most of the book is presented.

Along the way, he introduces WS Enhancements 2.0. This is used to define and deliver vital features for real world business applications. Features like secure messaging.

All that remains is for you to write an application.
7 of 8 people found the following review helpful
Excellent WSE 2.0 Coverage! 30 July 2004
By Steven Foster - Published on
Format: Paperback
I needed a book on the Web Services Enhancements (WSE) so I pre-ordered this one (there's not much else available). My expectations were low but to my great surprise this has turned out to be THE most useful computer book I have read all year. It currently sits on my desk next to Ingo Rammer's .NET Remoting (if you know this book, you'll know this is high praise).

As for specifics: this book is a solid reference on building Web Services/SOA solutions using the newly released WSE 2.0. My SOA project has demanding requirements: strict security and policy using certificates and role-based authorization. Plus we need to track messages in case of system failures. This book gave me all the information I needed to design and get started on my project. (It also has a 10 or 12 page references section on other books and articles that was very helpful).

For those who need it, the book provides an excellent discussion on XML messages, and how to construct schemas for custom data types. The book references design patterns and shows you how to use VS .NET tools to auto-generate proxy/stub classes based on your schemas. XML schemas = qualified custom types, and qualified types = fewer bugs! The second half of the book is solid WSE 2.0, reviewing all of the major specs that it implements using detailed code examples that I will use as templates for my own project.

This book is impressive because it provides an end-to-end discussion, from architecting the messages, and the services, to implementing security, policy, routing, addressing and even secure conversation. I came away with a clear understanding of the concepts and a solid understanding of how WSE 2.0 works, and how to implement it in my project. This book teaches, and it makes a great reference. I HIGHLY recommend this book: it will change your whole approach to building Web services, and it will save you valuable time.
11 of 14 people found the following review helpful
emperor has very few clothes 1 Jun. 2005
By gottahaveajava - Published on
Format: Paperback Verified Purchase
The whole Web Service community is all abuzz about 'message-oriented' services versus 'RPC-style' services, and Hasan devotes a whole chapter to design patterns for building such things.

The thing is that there is no such thing as a 'message-oriented' Web Service, and so Chapter 3 is based on a fictional service type.

In the end, they're all Web Services, and rather than a clearly defined distinction between two discrete service types, there is actually a whole, finely graduated spectrum of parameter passing from simple stack parameters (RPC-style) to simple user-defined data types (RPC plus) to complex serializable objects (not-quite-messaged-oriented) to non-compliant document attachments (message-oriented plus), with any number of possibilities in between.

So those who insist that their designs are superior and more loosely coupled, or that they're providing "an integrated set of message endpoints" (p.37) simply because they're 'message-oriented', well, they're simply full of crap.

For a small example of how full of crap, look at page 28, "Finally, you learned that the Web method uses literal encoding and a document style, which are both required settings for exchanging SOAP messages." Where do I start in picking this apart? First of all SOAP messages are perfectly capable of RPC/Encoded as opposed to Document/Literal, but that's a nit. Second of all 'Document' and 'Literal' both have very specific technical meanings which, if explained here, WOULD actually illuminate the message vs. RPC debate, but no explanation is forthcoming. Not here, not elsewhere in the book. 'Document,' in particular, refers to the way the 'message' element in the WSDL file is declared, using either the 'type' attribute or the 'element' attribute, but you won't get that explanation in this book.

For a clear and factual and not-full-of-crap description of the ways you can pass data to and from a Web Service, read Chapter 15 of Richard Monson-Haefel's J2EE Web Services. Or to get right at the essence of Document/RPC Literal/Encoded settings, take a look in Chapter 5 at p. 137, where it's beautifully and simply and factually spelled out. That's the real deal, and even though it's not .NET, us .NET types will still derive immense amounts from it.

I should finish by saying that the rating retains three stars because the writeups on WSE 2.0 are pretty good. If you ignore all the airy-fairy (and mostly invalid) design pattern proclamations, and focus on the mechanics of XML Encryption and X.509 authentication, this book will still retain some value.
6 of 7 people found the following review helpful
Good on WSE and .NET, poor on SOA 12 May 2005
By Loek Bakker - Published on
Format: Paperback
Jeffrey Hasan sure knows his stuff regarding WSE 2.0 and .NET. His examples and explanations are concise, complete and relevant. However: I am not at all impressed at how he approaches SOA in certain aspects. The major mistake he makes in approaching this delicate yet very popular theme, is the suggestion to create a .NET class to share types between service provider and service consumer (why not call them endpoints anyway??). This in my opinion breaks with one of the most (if not THE most) important desgn rules of service orientation: share the contract, not the class. The contract should NOT be in the form of a (proprietary) format like a .NET assembly, since this breaks with the idea that an SOA is applied to enable communication in a heterogenous environment. Use XSD instead!

Although the author clearly states that the option he presents is perhaps not the best, he keeps using it throughout the book in all the examples. It is a shame he misses the point here.

Apart from this (major) flaw, it is a great book for anyone who wants to learn more about WSE.
Were these reviews helpful? Let us know