Can anyone define WCF? What is the purpose of WCF?
What are some good reading materials to learn about WCF?
Can anyone define WCF? What is the purpose of WCF?
What are some good reading materials to learn about WCF?
The best place to start is the Microsoft front page for WCF:
http://msdn.microsoft.com/en-us/netframework/aa663324.aspx
You might want to start off with the section on "Basic WCF Programming":
http://msdn.microsoft.com/en-us/library/ms731067.aspx
As well as "WCF Feature Details":
WCF stands for Windows Communication Foundation.
MSDN is a little dry, but Wikipedia expresses it well:
WCF is the part of the .NET Framework dedicated to communications.
In my case, this has meant a richer alternative to plain old Web Services, with a choice between communication layers.
15 Seconds also has a great primer on WCF:
WCF is a unified programming model that combines the best of breed features from XML Web Services, .NET Remoting, MSMQ, and COM+ into an integrated platform that is completely based on a set of open industry standards.
Easy to find at Microsoft: What Is Windows Communication Foundation
In simple word its technology that allows your service to communicate with application or service using various protocols/modes
"WCF" stands for Windows Communication Framework. WCF is the replacement for WSE (now obsolete), ASMX (the old ASP.NET Web Services), and to some extent, is also a replacement for .NET Remoting.
WCF covers all of the web services scenarios covered by ASMX and WSE, and then adds support for many more, including binary communication over TCP/IP, communication over message queues and named pipes, and many more.
A rich extensibility model permits both Microsoft, third party developers, and you, to extend WCF for future requirements. See the Cloud Computing article, and the Foundations: Working with the Service Bus articles in the April 2009 issue of MSDN Magazine to see how WCF has been extended to some very modern scenarios.
All new web services development should be in WCF, if at all possible.
I will give you an answer cause from the ones around no one says it, they only point to some link.
WCF (Windows Communication Foundation) is the name that Microsoft uses for a Framework that can Communicate between multiple servers independently of their Operating System or Technology.
You can use this framework to send and receive messages and attachments (files, images, etc) from and to any computer in the world.
for a developer point of view, it's the new version of WSE (Web Services Enhancements) with MTOM (SOAP Message Transmission Optimization Mechanism) that was an update version of the simple Web Service (ASMX).
WCF is called a Service Framework and not a Web Service because it no longer depends in the IIS (Internet Information Server) to be hosted, now you can host a WCF using TCP/IP, as a Windows Service or even as an application - and you can still hosted in IIS as well.
It uses SOAP protocol and others (configurable in just one file), and supports HTTP and HTTPS as well, for messaging and attachments. You have now plenty of new security options on it... and it's the "top-of-the-line" to use to send/receive messages from anywhere to anything.
It is very used in the AJAX world, because it can send messages in JSON format and with this, jQuery and other javascript frameworks work lovely with it.
for Reading material, I recommend buying a good book, because it's a good way to do self-learning and have it for reference later on time. I personally bought Wrox Professional WCF, and I'm loving it.
hope that this helps. :)
WCF stands for "Windows Communication Foundation". The ultra-simplified version of it is that it is a collection of tools and libraries that present the developer with a unified view of communications. Everything in WCF revolves around three core concepts of Endpoints, Channels, and Messages. An endpoint is a way in or out of your code. A channel is the means by which a Message travels between those endpoints. Using this paradigm, you can use UDP, TCP, HTTP, Peer-to-Peer, MSMQ - all using the same 3 core concepts.
As for learning resources, call me old fashioned but I like to curl up with a good book when I'm learning about a new technology. Once I've mastered the basics I like using references online to enhance my base... but for intros, IMHO, nothing beats a good book.
You cannot find a better book on WCF than Juval Lowy's "Programming WCF Services". "Essential Windows Communication Foundation" is also a decent book but I still think you'd be better served by Juval's book.
WCF separates the service from the protocol in much the same way that XHTML and CSS separate the content from the presentation.