August 13, 2011

Windows Communication Foundation (WCF)

What is WCF? 

Windows Communication Foundation (WCF) is a framework for building service-oriented applications. WCF is implemented primarily as a set of classes on top of the .NET Framework’s Common Language Runtime (CLR).
Why we need WCF?
Imagine that you need to build an application that need to integrate and deal with an environment that contains different kind of applications and platforms for example: java application, .Net windows & web application.
On this case you need to choose the right distributed technology from .Net Framework , and sometimes it need to implement more than one of these technology to accomplish the required integration which will lead in hard and complex solution …
What are the distributed .Net technologies?
o    ASP.NET Web Services & Web Services Enhancements (WSE): this is a good choice to integrate through web with other platforms & technologies such as Java EE-Base.
o    .NET Remoting: Effective when we are communicating between .NET-to-.NET applications.
o    Enterprise Services: this supports only a limited set of communication protocols.
o    System.Messaging:  Allow to communicate with Windows-based partner applications that weren’t always available.
o    System.Net:  communicate with partner applications or perhaps in other ways. Using this approach, developers can create applications that use the HTTP-bas communication style known as Representational State Transfer (REST).
Why WCF?


This why WCF is important and give and optimal solution in cases like these? This because WCF will cover all the holes between these technologies…
In other word WCF can be used for any of the situation, WCF provides a declarative infrastructure for all forms of communication.
Below summarize the points that covered by WCF …




ASMX


.Net Remoting


Enterprise Services


WSE

System. Messaging

System. Net

WCF

Interoperable web service


X






X

.Net to .Net Communication


X




X

Distributed transaction



X



X

Support with WS-* Specifications




X


X

Queued messaging






X

X

RESET Communication






X
X
At the end …
WCF will make the communication process easy and flexible because it supports all the above communications types.
With WCF development time will be minimized because all the development part will lie on the code only (which mainly lead to concentrate on solving the business issues) while anything related to the implementation will be added to the configuration file.

No comments:

Post a Comment