A guide to architecting, designing, and building distributed applications with Windows Communication Foundation Windows Communication Foundation is the .NET technology that is used to build service-oriented applications, exchange messages in various communication scenarios, and run workflows. This guide enables developers to create state-of-the-art applications using this technology. Written by a team of Microsoft MVPs and WCF experts, this book explains how the pieces of WCF 4.0 build on each other to provide a ...
Read More
A guide to architecting, designing, and building distributed applications with Windows Communication Foundation Windows Communication Foundation is the .NET technology that is used to build service-oriented applications, exchange messages in various communication scenarios, and run workflows. This guide enables developers to create state-of-the-art applications using this technology. Written by a team of Microsoft MVPs and WCF experts, this book explains how the pieces of WCF 4.0 build on each other to provide a comprehensive framework to support distributed enterprise applications. Experienced developers will learn both theory and practical application using the familiar Wrox approach. .NET developers will learn to design services, create a hosting environment with Dublin, build cloud-based integrations, and much more. Coverage Includes: Design Principles and Patterns Service Contracts and Data Contracts Bindings Clients Instancing Workflow Services Understanding WCF Security WCF Security in Action Federated Authentication in WCF Windows Azure Platform AppFabric Creating a SOA Case Creating the Communication and Integration Case Creating the Business Process Hosting
Read Less
Choose your shipping method in Checkout. Costs may vary based on destination.
Seller's Description:
Very Good. No Jacket. 8vo-over 7¾"-9¾" tall. 451 pages including index. There are no marks or writing in the book. Light wear to the corners. Light shelf wear. No reading creases on the spine. Spine is tight and there are no loose pages. Cover colors are bright.
Choose your shipping method in Checkout. Costs may vary based on destination.
Seller's Description:
New in new dust jacket. International Edition, Paperback, Brand New, ISBN and Cover image may differ but contents similar to U.S. Edition, Printed in Black & White. End Chapter Exercises may differ. No CD/Access code. Legal to use despite any disclaimer, We ship to PO, APO and FPO adresses in U.S.A. Choose Expedited Shipping for FASTER DELIVERY. Customer Satisfaction Guaranteed.
Choose your shipping method in Checkout. Costs may vary based on destination.
Seller's Description:
New in new dust jacket. International Edition, Brand New, ISBN and Cover same but contents similar to U.S. Edition, Printed in Black & White. End Chapter Exercises may differ. No CD/Access code. Legal to use despite any disclaimer, We ship to PO, APO and FPO adresses in U.S.A. Choose Expedited Shipping for FASTER DELIVERY. Customer Satisfaction Guaranteed.
Book review - "Professional WCF 4 ? Windows Communication Foundation with .NET 4?, by Pablo Cibraro, Kurt Clayes, Fabil Cozzolino and Johann Grabner? ISBN: 978-0-470-56314-4 - Published by WROX
Hello, this is my book review for ?Professional WCF 4 ? Windows Communication Foundation with .NET 4?.
For those of you who are new to WCF, it is a platform to be able to build SOA architectures in a highly flexible and configurable manner using .net languages such as C# or Visual Basic .NET. In a nutshell, SOA is the ability to combine disparate data sources and environments (Linux/Windows/mainframe/web programming) and even mobile devices such as Android/Iphone/Window Mobile/Blackberry etc.) so that operations (aka methods / functions) can be invoked between the systems via a common interface and protocol (such as the SOAP or REST protocol) over a transport protocol (such as TCP/IP or HTTP/HTTPS).
As stated, SOA?s can be ?exposed? across many different transport protocols including HTTP/HTTPS which is the transport protocol for the internet. Since HTTP/HTTPS is supported, basically SOA?s can communicate programmatically (read more on SOAP and REST) from computer to computer over the internet, basically you can invoke function calls across http from computer to computer, that is a simple way of describing WCF and its http/https bindings. The https protocol is recommended when you are communicating things like credentials or sensitive information, for that you will have to get an ssl certificate and configure the WCF infrastructure to require the ssl certificate. IIS would also have to accept the SSL binding.
A typical WCF method call would look something like
Int temperature = proxy.GetWeather(?92346?);
The above looks like a typical C# function call but in reality it?s communicating across http from 1 computer to another computer. The calling computer does not have to know about anything other than the endpoint address and the method it?s trying to call. This is exposed in something called WSDL and is basically metadata exposed by the service that describes the operations available. .NET has special ways to ?build a proxy? object by reading the exposed metadata of your wcf service via the WSDL (you?ll have to read more on that in the book) ?
In today?s IT world, many companies are building and exposing SOA architectures exposed via HTTP, example of existing SOA platforms include:
? Google api?s (such as the Google maps api)
? Microsoft (bing maps)
? Pay pal API?s
I am extremely interested in WCF, because I work at a large IT department with very disparate data and different customers all in different lines of business. In the past, I worked extensively with ASMX ?web services?. We have now switched to WCF as the SOA programming environment of choice mostly because it is very flexible and configurable and can accommodate just about any type of protocol or security infrastructure you can think of.
My experience with SOA is.. it can have a dramatic return on investment if you decide to build an SOA infrastructure. This is because programmers can call your ?black box? WCF services and build applications that integrate data easily. The services do all the heavy work, calling database data or complex third party components, the consumers of your service benefit because all that work has been encapsulated in to wcf services that can be invoked from just about any programming environment (I mention JAVA/.NET/PHP & Apples objective ?C?) as just a small sampling of supported programming languages)
SOA?s allow reusability of already written code via the exposing of WCF endpoints. WCF enables the configuration of the service via special ?config files? that can declaratively specify how the service ?talks?, how its secured, how the transport is secured (as in HTTPS/SSL) etc. This is a main distinction over the older asmx web services technology, in that WCF can be hosted and served up in many different ways. For example a WCF service can be hosted under IIS (web server) as well as windows services and this can all be controlled by modifying settings in an xml config file.
I have read several other WCF books from cover to cover and so I dived right into this book to see what I could learn from it.
Most of the relevant topics I would expect to see in a WCF book were covered in the book including
? Benefits of SOA architecture / Design principles and patterns ? there is an excellent Wikipedia article here just to get an idea of SOA. http://en.wikipedia.org/wiki/Service-oriented_architecture
? Security (authentication and authorization) ? this is a very important topic because SOA?s allow you to expose your data to the world. This may or may not be a good thing, because you also many times need to decide who can see your data, and not just leave it open to the world. In some cases (similar to an RSS feed), this data you may want to expose to anybody (think stock quotes or weather information). In real-life business applications however, you wouldn?t want to expose your database data to just anybody, you need a way to secure it. WCF can even authenticate itself using ?mutual authentication? in which the client caller must have a purchased x.509 (ssl) certificate and the server presents its ssl certificate. This is a way of typically enabling b2b (business to business) scenarios where you want to allow external business entities to be able to access your data via a wcf interface, but also want to ensure that it?s secure. By enabling mutual authentication, you are strongly assured that you are ?talking? to the business or third party that you expect to expose your data to. With SSL, you can also take advantage of industry standard encryption of the transport (HTTPS). With authorization, you can use role based or claims based authorization which basically says what a user is allowed to do in your wcf architecture.
? Bindings ? ?how services communicate and what standards they use?
? Data Contracts/Service Contracts/Message Contracts/Operation Contracts ? method declarations and the data that it returns etc.
? Federated Authentication (Microsoft Identify Foundation topics/saml/claims-based)
? Windows Azure ? ?the cloud?
? Hosting ? WCF services are ?hosted services?, for internet scenarios, we mostly would use IIS (web server).
The brief summary I gave above of WCF is all covered in detail in this book, sorry if I got to rambling but I was trying to communicate some of the basics of WCF as pertains to this book. I am an enthusiastic proponent of SOA?s in general as I have seen firsthand their benefits. Also technologies such as Silverlight basically require that you have an SOA to get at your data, this is because Silverlight has (at time of this writing), no direct way to talk to databases (as in direct SQL calls), but it can easily talk to wcf services. This is another selling point to your boss on why you want to build an SOA infrastructure.
The authors go on to present several ?use cases? in later chapters with complete examples. These use cases, are ways to solve specific problems that are presented as examples. The ?use cases? are detailed in Chapters 11 through 13, and I found them to be very worthwhile reading because they provide lots of useful ideas and samples to understand how certain problems can be solved. In today?s software development world, many projects are built over time and may have to accommodate different programming languages and different technologies. WCF gives us the ?glue? to bind everything together and allow us a way to invoke all these different platforms and technologies in a useful way. This allows developers to build building blocks of WCF services that perform useful things. Consumers of these WCF services don?t have to know nor care how it?s implemented, they simply consume these building block services. In addition, if the implementation details change, the programmer or an