Introduction to WCF

I planned of learning all about WCF (Windows communication foundation) from last one year and i was never close to manage the time. This time, i think i start and will continue. Throughout the period I am learning it, I will try to write down the basics and my understandings. Hope this will help you if you are also just starting WCF.

Connected System: An application that is distributed across multiple computer nodes with the strong emphasis on communication protocol.

Building connected systems on windows

Back in the day, there was DCOM and COM+. There was a wrapper called Enterprise Services to ship DCOM/COM+. Very component-oriented architecture and very RPC in nature. One of this technology was Distributed transaction. In order to take advantage, it required user to have the DCOM infrastructure available in every node that will take part in that style of communication.

.Net Remoting was introduced wit the release of .Net. It was very similar to DCOM in many ways. It was a solution for Managed code i.e. components will execute completely in managed environment within the .NEt CLR, as a result .Net remoting turned out to be very simple and extensible. But, still depended on .Net CLR.

Unlike DCOM and .Net Remoting, MSMQ is purely focused on Messaging. It allows user to take a message and transfer between two nodes in a connected system in an asynchronous, durable, reliable methods. It still requires MSMQ infrastructure on every machine that participate on communication.

Each framework comes with a unique programming model and each of these framework restricts user to windows only.

The move towards “services”

Demand for technology freedom and interoperability is common now and this is accomplished with the use of Services. Services expose units of functionality via messaging. The way to achieve interoperability is to use standard protocols and message formats. Http is common standard protocol and XML is common message format.

Leave a Reply

Your email address will not be published. Required fields are marked *