WCF
stands for Windows Communication Foundation.
It is Microsoft's latest
technology that enables applications in a distributed environment to
communicate with each other.
WCF is Microsoft's unified programming model for
building service-oriented applications. It enables developers to build secure,
reliable, transacted solutions that integrate across platforms and interoperate
with existing.
ABC of Windows Communication Foundation
What
are the ABCs of WCF? "ABC" stands for address, binding and contract.
- Address (Where)
It specifies the location of the service means, where the
service is hosted. The service hosting URL may be like
http://server/wcfService. Clients will use this location to communicate with
your service.
- Binding (How)
It specifies how the client will communicate to the service.
We have different protocols (like http,tcp,named pipe,msmq) for the WCF to
communicate to the client.
- Contract (What)
It specifies what the service will do. For this purpose we
have different contract like as Data Contract, Operation Contract, Message
Contract, Fault Contract. I will discuss all these later.
WCF Hosting
A
WCF service is a component that can be called by other applications. It must be
hosted in an environment in order to be discovered and used by others. The WCF
host is an application that controls the lifetime of the service. With .NET 3.0
and beyond, there are several ways to host the service.
- Self hosting
A WCF service can be self-hosted, which means that the
service runs as a standalone application and controls its own lifetime. This is
the most flexible and easiest way of hosting a WCF service, but its
availability and features are limited.
- Windows services hosting
A WCF service can also be hosted as a Windows service. A
Windows service is a process managed by the operating system and it is
automatically started when Windows is started (if it is configured to do so).
However, it lacks some critical features (such as versioning) for WCF services.
- IIS hosting
A better way of hosting a WCF service is to use IIS. This is
the traditional way of hosting a web service. IIS, by nature, has many useful
features, such as process recycling, idle shutdown, process health monitoring,
message-based activation, high availability, easy manageability, versioning,
and deployment scenarios. All of these features are required for enterprise-level
WCF services.
- Windows Activation Services hosting
The IIS hosting method, however, comes with several
limitations in the service-orientation world; the dependency on HTTP is the
main culprit. With IIS hosting, many of WCF's flexible options can't be
utilized. This is the reason why Microsoft specifically developed a new method,
called Windows Activation Services, to host WCF services.
Windows Process
Activation Service (WAS) is the new process activation mechanism for Windows Server
2008 that is also available on Windows Vista. WAS hosting is possible only with
IIS 7.0.Additional WCF components also plug into WAS to provide message-based
activation over the other protocols that WCF supports, such as TCP, MSMQ, and
named pipes. This allows applications that use the non-HTTP communication
protocols to use the IIS features such as process recycling, rapid fail
protection, and the common configuration systems that were only available to
HTTP-based applications.
No comments:
Post a Comment