WCF – Windows Communication Foundation is a framework used to develop distributed Applications. There are different approaches we use to develop Distributed Applications. We use, .Net Remoting, Message Queing (MSMQ), COM+/Enterprise Services and Web Services for building service-oriented Applications.
What do you mean by Service-Oriented Applications?
Service-Oriented Applications means, the Applications behaves like Services to perform some tasks and communicates to other Applications through well defined messages. These messages usually in XML format. Both the Service & the Application communicate to the Service should agree with the format and the message look like, before the communication. Without this, there will be a communication failure.
For example, a Client Application is sending a message to the Server (to a Service on the Server), to send some information. If the Service can not understand, what the Client is requesting; it fail to respond to the Client. If there is a mutual Agreement between these two; Service will return the message to the Client.
The great advantage of Service-Oriented Applications is, any Client (irrespective of the Platform) can communicate to any Service; if both have the communication agreement.
How the Applications and the Services will communicate each other?
This is through the standard communication Protocols. WCF supports HTTP, FTP, HTTPS, FTP (with SSL) etc,. You can use any of the communication Protocol depending on your communication requirements.
And another important thing is, Services should provide a way to the Clients to communicate to the Services. This is through endpoints. Services provide endpoints to access its’ functionalities; so all the communication with WCF Services occurs through its’ endpoints.
An endpoint is nothing but a unique structure which contains Address, Binding and Contract; published to allows the Clients to communicate.
For example, below structure constitutes an endpoint: I will discuss more about endpoints in my next Articles.
https://www.<<domain-name>>:<<port-number>>/<<wcfServiceName>>/<<endpoint_wcfService>>
WCF – A bundle of features
There are lot of features, WCF framework provides to enable to manage the Service-Oriented Applications. Here are some of them:
Security is the advantage to develop Applications using WCF. Messages can be encrypted between the Client and the Service; to protect privacy. A Client can authenticate the Service to receive the messages.
Customization is allowed to modify the behavior of the Service.
Queues and Reliable Sessions are useful for reliable messaging; ensure to transfer the messages from source to destination regardless of transfer failures. This is the great feature, mostly useful to the Applications deals with financial transactions.
Interoperability is another advantage of WCF. This is a characteristic allows one or more Applications communicate each other. The communication accomplished through XML (eXtensible Markup Language), WSDL (Web Services Description Language) etc,.
Finally, it is easy to manage to creating Web Services and Clients using WCF framework.
We discuss more about WCF through my upcoming Articles.
| Andy
2 thoughts on “WCF – Introduction”