Monday, May 13, 2013

Windows® Communication Foundation 4 Step by Step 1st edition, John Sharp



The book is very complete and very good detail and explains the exercises and examples are clear. I recommend it.

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.

Great book that covers WCF in detail. Assumes a good working knowledge of .NET Framework, C#, entity framework, data access. Helped me get up to speed on web services. Well written, lots of examples,sample code included for each chapter. Worth the time and money. Highly recommend.

I have completed 5 chapters of the book but it's getting harder for me from there on. I can follow the steps but "why" are we doing it that way? That's what I am unable to understand fully ! Author explains it but I think it's probably because my knowledge in distributed systems, networking, http ptotocol, tcp/ip is not very good. Reader must be good at networking concepts and then it will be fine. If you are good at networking stuff and have got some knowledge of distributed computing then this book is fine for you. It explains everything step by step and you would be able to complete it. I have taken a break from this book and am spending time learning networking concepts (HTTP programming from Jeff Heaton book). I will give it 5 ratings because you cannot get stuck at any point because everything is basically spoon fed. At the end you will have a working program. By the way, you do not need any database knowledge, its just the initial setup that requires it.

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.

([...])

CONCLUSION
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.

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.

This is truly the most usual review I have ever given a software text. For me, the author's style of writing and instruction are top shelf. That being said, I have wasted several full days just getting Windows 7 to do what the author needs to be done in order to get through the simple exercises in Chapter 1 and Chapter 2. I'm sitting here on my iMac typing this review while Windows 7 is loading for the 3rd time with the message, "This may take several hours to complete". After this is done, I suspect the two second click of the mouse I need to perform will happen without difficulty--or not. The last several hour re-load of the OS did get me most of the way through Chapter 1. This 3rd reload is at the start of Chapter 2.

Now, mind you, it isn't the author's fault that Microsoft's operating system won't do what he tells me to do. It isn't his fault that I have spent countless hours at this point surfing the Internet looking for fixes to these OS setup issues--and there are issues a plenty on blogs all over the Net from Microsoft and others. It isn't his fault that I'm reinstalling the software a 3rd time either. However, this book is from Microsoft Press, so I expect these dozen or so settings that keep failing to at least be in the errata part of the book's website--they aren't.

So, I'm giving this book a low score and I'm only on Chapter 2. This is unfair to the author as has probably spent hours, even days, at giving painfully detailed instructions, while I spend 5 minutes writing a review to trash those instructions as not doable. However, in fairness to you--the buyer--you need to be prepared to make a large commitment to surfing the Internet and reinstalling the operating system repeatedly to enjoy this author's hard work. I wasn't prepared for that, and I still am not prepared to do that. But at this point, it looks like MS is the problem and another book might now solve the issues that keep cropping up.

Well, let's see, the PC says that Windows 7 is 10% through the 3rd reinstall I've done in 4 days, so I guess I'll go mow the lawn for the afternoon instead of learn WCF.

Mr. Sharp, I do apologize. This low review is targeted to alert people to your publisher's defects in meeting the requirements you offer in your writing and not your writing style. I'm sure that with all your expertise, you have avoided the pitfalls that are giving me yet another wasted day. I do dread Chapter 3 at this point more than a trip to the dentist.



Product Details :
Paperback: 736 pages
Publisher: Microsoft Press; 1 edition (November 30, 2010)
Language: English
ISBN-10: 0735645566
ISBN-13: 978-0735645561
Product Dimensions: 5.9 x 0.6 x 9.8 inches

More Details about Windows® Communication Foundation 4 Step by Step 1st edition

or

Download Windows® Communication Foundation 4 Step by Step 1st edition PDF Ebook

No comments:

Post a Comment