Windows Communication Foundation, we mostly address it as WCF... Or Indigo.
WCF 3.0: …. I will try to come up with other version of WCF with little or more details ….
To start with WCF 3.0:
Questions in mind (at least these are the questions which I had in my mind ... )..
1. Why and What is WCF??
2. So does it mean other distributed system technologies are parked aside??? (Web service [asmx], MSMQ, WSE) etc.
3. So what's there for a developer??
4. How do I use WCF???
Hope these little questions are answered by end of this post…
WCF is Microsoft's next-generation programming platform and runtime system for
· Building
· Configuring
· Deploying network-distributed services.
ASMX and WSE: We can build powerful and interoperable service-oriented applications with Web services
MSMQ you have a powerful mechanism for queued messaging that takes care of getting data reliably from one place to the next.
Remoting : The Common Language Runtime (CLR) integrated mechanism for communicating with objects across application domain boundaries and is loved for its very flexible extensibility model, which lets developers rip and replace transports, proxy mechanisms and the way communication channels behave.
I hope we all feel the same for the above list of distributed system technologies ….
All of this is good except that you often have to make an exclusive, explicit choice for one these fundamental technologies.
For instance, if I need any of the features of Enterprise Services and decide to use it, my implementation strategy will be very different from when you use ASMX.
If I need messaging decide to send messages via MSMQ instead of risking to send them via plain HTTP, my code will look vastly different from invoking methods on a method-oriented proxy, unless we add some plumbing/ fixtures code or use Enterprise Service's Queued Components feature (which brings us back to the previous point).
Now the goal of WCF are that you no longer have to make such technology choices upfront and that you can implement any combination of such requirements on a single technology platform and without resistance.
The promise is that WCF will make developers more productive, because they will only have to master a single programming model that unifies the feature wealth of ASMX, WSE, Enterprise Services, MSMQ, and Remoting.
Point to be noted and feel happy: WCF is Microsoft's implementation of all these WS-* standards that Microsoft has developed in cooperation with industry partners over the past 5 years—which is promising to ensure broad interoperability across platforms, runtimes and programming languages.
Till here I think we have solid understanding on the first 3 questions... And the next one is how do I use WCF….!!!!
As we all do and say it… we need to know the ABC of xyz J
So here is the: ABC of Windows Communication Foundation
What is the ABC mantra…?
· "A" stands for Address: Where is the service?
· "B" stands for Binding: How do I talk to the service?
· "C" stands for Contract: What can the service do for me?
Developing a WCF service is always a three step process
1. You define a contract and implement it on a service
2. You choose or define a service binding that selects a transport along with quality of service, security and other options
3. You deploy an endpoint for the contract by binding it (using the binding definition, hence the name) to a network address.
Now at this point.. few more questions strike my dirty mind..
1. Is it possible to expose my service via http and also use SOAP 1.1 and also try to expose it using TCP
2. Can the above two mentioned end points coexists
The answer of the above 2 questions is a big YES
I will end my post here and will continue with detail explanation of WCF 3.0 in my next post…
0 comments:
Post a Comment