20 of 21 people found the following review helpful
- Published on Amazon.com
This is a good resource for learning WCF. It covers a ton of topics and they are shown in the context of real world applications.
The book starts out with a few chapters introducing WCF and Hosting possibilities.
It then contains chapter on securing an enterprise (intranet) as well as what it takes to secure a service exposed to the internet. These are great chapters, but a little confusing when it comes to the certificate deployment to the clients. I also would have like to have seen how to specifically secure Ajax and WPF clients over the internet.
The book then covers transactions, reliable sessions, performance, discovery, routing, REST, asynchronous operations, workflows, state, and data contracts.
The main thing I like about the book is the attempt to show real world situations.
The main thing I thought the book could use was some diagrams (UML or whatever) to help describe the execution of some of the code being explained and to help show some context. I would have also liked to see a complete chapter on just configuration. None of the books I have seen on WCF have very good details on configuration.
The code samples are well organized and very usable.
This is a book that must be read. It is not a quick reference. That is not a bad thing, the explanations are thorough, just not in a quick look up format.
All in all I recommend reading this book. It contains a ton of information and is one of the better WCF 4 books available.
15 of 17 people found the following review helpful
- Published on Amazon.com
Format: Kindle Edition
I've been looking for a good WCF (Windows Communication Foundation) 4.0 book for a while. When I read the other reviews it seemed clear those books were not what I was looking for. I'm only beginning the 2nd chapter and have skimmed the book. This book provides not only easy to follow examples (which you can download) but explains context. This is not a "reference manual" or just a "recipie book".
When you are done with the first chapter, you will have implemented a service, created a client to consume it, and then hosted it inside an IIS application. The author uses the simplest approach for things such as data access so that in several clicks you have your data access setup. That way you can focus on learning WCF.
I've actually written several WCF services but never felt I really understood what was going on. As a result I was making some tasks far more difficult than they needed to be. I'm confident that when I'm done with this book that will all change.
I'll update this if my rating changes after I get further into the book.
I'm glad I heeded the warnings of others and waited for this book.
6 of 7 people found the following review helpful
Gilbert M. Vanegas
- Published on Amazon.com
Book review - "Windows Communication Foundation 4 - Step by Step", by John Sharp
Hi, This book is about WCF (Windows Communication Foundation) which is Microsoft's API for building SOA (service oriented application) infrastructures. SOA is very important because todays devices (especially tablets, smartphones, IPADS). all need to make HTTP calls to some URL addressable endpoint, whether it be SOAP based, REST based or just simple HTTP xml services. HTTP over TCP/IP is the universal transport mechanism for all these web-enabled devices. Lest we forget, SOA's also can serve as the building blocks for calls to get data for websites, Silverlight or FLASH based apps as well.
I am very interested in SOA architectures and believe that they are very important to any organization's IT department as a mechanism to eventually have "building blocks" of services which make the application of business logic or some type of workflow process easier to consistently apply this logic across the organization.
It also allows organizations to more rapidly build applications because once you have an SOA architecture in place, these services can be called from any client-side environment such as a web page, mobile device, tablet or whatever else may come down the pike.
Another key advantage is the fact that SOA's usually use standardized data exchange formats such as XML or JSON so that different devices from different manufacturers (android/IOS/Blackberry/Windows Phone) all can understand the data while abstracting away concepts such as operating system type or CPU architecture etc.. In other words, SOA's when correctly built are platform agnostic.
The first several chapters of the book cover pretty much what you would expect from any WCF book, things like what WCF is, what is SOA, how and where can WCF be hosted (for example WCF is designed to be very flexible, the services built within WCF can be hosted in IIS, run as a windows service and can also use different protocols (HTTP, TCP/IP, PEER to PEER) and also can be secured in a variety of ways (WINDOWS security, FORMS authentication, SSL certificates, custom authentication hooks)).
Fairly complex topics such as service endpoints, hosting services, bindings, fault propagation are covered in an easy to understand manner in the first couple of chapters.
Chapters 4 and 5 deal with a critical topic which is how to protect your services (authentication and authorization). These chapters do a pretty good job of describing the challenges for services that may be hosted on an internal corporate network as opposed to services which will be URL accessible across the internet. These topics are critical to the success of any SOA architecture because if you do not have a way of identifying and granting access to who may call your services, you can run the risk of exposing your data in a manner which you did not intend to. Remember, these SOA architectures are exposed as http endpoints across the world wide web! Make sure you understand security implications before you get too far. In my opinion implementing SSL for your service endpoints exposed in the WWW is a must for most organizations unless you have in mind very simple services such as returning the current temperature for a given zip code (in other words, things that you do not necessarily want secured, maybe something like the time a movie is showing at a particular theatre).
One topic dealing with authentication/authorization is called federated (claims based authentication/authorization). This was given very little coverage in the book, I can understand why though, because there are entire books written about the subject. I did find it disappointing that so little mention was made of federated (claims based authentication/authorization). For excellent coverage of this topic look for the book titled Programming Windows Identity Foundation by Vittorio Bertocci.
Chapter 6 deals with service contracts and data contracts which are a way of structuring your WCF programming. Service contracts describe the operations your service supports (it basically defines an implementation interface) and data contracts are important because that is how you get the "platform neutrality" that maximizes the usage of your WCF services. In prior programming projects using regular "web services"), I was guilty of sending back very .net specific data structures such as ado.net datasets. In today's world, it's much more critical that you use data contracts (and data members) which will cause WCF to generate very neutral generic return data structures that are recognizable by all platforms. This is because today we see the rise of android, IOS (ipad), Windows Phone, java devices, blackberry etc... The future will see the advent of many more connected devices, some we have not yet even dreamed of as of yet.
Chapter 7 deals with WCF state and how to preserve state, usually http based services are stateless, but there are ways of persisting session state between calls.
Chapter 8 brings into the picture, mind blowing power which comes from integrating WCF with Windows Workflow foundation services, which is a true workflow API built into the .net framework, this is how you can truly build stateful service calls built upon the concept of "workflows" by using the workflow engine. The windows workflow engine can persist a workflow inside of sql server and "rehydrate" that workflow right back where it left off, very powerful!
The rest of the book covers topics such as transactional processing with WCF services, reliable sessions and asynchronous calls. There is a nice chapter (Chapter 13) on how to support features such as service throttling, MTOM protocol (sending binary objects efficiently across HTTP) and streaming data (such as video streaming).
One of the more interesting topics is the SOAP protocol versus RESTFUL services debate raging in today's world. (read some of the links below)
Chapter 15 has a nice chapter on RESTFUL services based upon ODATA (AKA WCF data services). I read this chapter and got a lot of useful information about it, as mentioned many of these chapters are topics that actually have whole books written about them. WCF by default is SOAP based, but it also supports the concept of building REST services. I encourage you to read more about REST services, because I believe ultimately most SOA's are going to be built using this type of architecture. As a matter of fact, for those of you interested in SharePoint, SharePoint 2010 now has a REST based callable SOA based upon WCF data services. It has a few quirks, but once I understood it, I was amazed at how powerful and easy to use the SharePoint REST based API is.
Not covered at all is another WCF based technology called WCF RIA services, which is mostly used from what I have seen in Silverlight projects. I was a little disappointed that no mention was made of this technology, at least a paragraph or two should have been included.
There is also an exciting new WCF based api they are calling WCF web api which was too new for the author to include in this book, I am following this WCF web api because it looks very promising, I predict really powerful and useful things to come from this WCF web api.
All in all, I would consider this book an intermediate level book on WCF, the book gives a nice overview of WCF although it's missing a few topics I would have liked to at least have seen mentioned. I did like the REST chapter of the book a lot, because you would be surprised how many WCF books don't even deal with REST at all.
Certainly I would highly recommend this book as a gateway to other more detailed WCF books such as Juval Lowy's excellent Programming WCF services book, there are several very nice O'Reilly books that cover REST.
The author does a good job at covering WCF at a high level, but with some good levels of detail. The topic of WCF could easily cover thousands of pages, so the author should be commended at being able to produce a good, intermediate level WCF book with the amount of space he had to work with (700 pages).
I do like this book and give it 4.5 out of 5 stars and recommend it.
Thank you for reading my book review.
2 of 2 people found the following review helpful
- Published on Amazon.com
The book is thick and full of information but if you're like me who has no idea what a WCF to start with, and in a hurry to learn the concepts for your project and have no time to browse through the pages, then I would suggest getting Mike Liu's book.
I'm using this book as reference after I have created my services because there are a lot of things I need to learn and understand about WCF that this book fully explains. Just four stars because I'm not really a fan of thick books just to get the point across. I've learned to create my services in 4 short chapters in the other book while I have to read so much pages with this book.
1 of 1 people found the following review helpful
- Published on Amazon.com
Its practical learn-by-doing approach works well for me. Chapter 1 provided a walk-through example that I was able to adapt to create a working prototype of the app I had in mind when I set out to learn how to use WCF, so I don't think I'll need much more for now. My goals were pretty simple-- I wanted a data source for a SharePoint/InfoPath solution that was not tightly coupled to the database server.