I’ve taken virtual Lab on WCF ,Truly amazing stuff from Microsoft.
If I had this stuff few years ago, or even a year ago. No web services, remoting, channel sinks, asymetric communication problems and many others. Hmmm, I am dreaming now, how to rewrite application that I am currently working on. I believe it is possible as I have service centric application (I don’t write SOA here to not confuse everybody who thinks SOA == WS).
The WCF at the first glance looks like a framework exactly for me although I have few concerns and main one is the client-side-progamming-model. I believe the client side programing is extremely important in client-server communication mechanisms. I used both WS and remoting technologies in .NET and I see that there is much more to code (consume services) on client side of such application. I will try to explain it further when I know more about WCF.
I really become now adict to WCF and I count on Microsoft for futher stuffs.
Windows Communication Foundation (WCF) is designed to offer a manageable approach to distributed computing, broad interoperability, and direct support for service orientation.
WCF simplifies development of connected applications through a new service-oriented programming model. WCF supports many styles of distributed application development by providing a layered architecture.
The typed programming model (called the service model) is designed to ease the development of distributed applications and to provide developers with expertise in ASP.NET Web Services, .NET remoting, and Enterprise Services and who are coming to WCF with a familiar development experience.
Windows Communication Foundation (WCF) is a runtime and a set of APIs for creating systems that send messages between services and clients. The same infrastructure and APIs are used to create applications that communicate with other applications on the same computer system or on a system that resides in another company and is accessed over the Internet.
The basic tasks that must be performed to WCF Programming are, in order:
Define the service contract. A service contract specifies the signature of a service, the data it exchanges, and other contractually required data.
Implement the contract. To implement a service contract, create the class that implements the contract and specify some custom behaviors that the runtime should have.
Configure the service by specifying endpoint information and other behavior information.
Host the service in an application.
Build a client application.