
Using WCF for providing web serviceWCF (Windows Communication Foundation) is a technology for communication built in the framework of .Net 2.0. It combines the communication services of .Net which are remoting, MSMQ, Web services and COM+ that were released in the earlier versions.
WCF is based
on the principle of SOA (Service Oriented Architecture). It has been mainly
designed to provide better interoperability and service orientation that
helps to build manageable applications. It satisfies the various communication
requirements for the current web-based applications like performance,
interoperability, security and transaction support. It is built such that
it provides smooth transition for a developer to build code in a service
oriented approach from the traditional object oriented methodology. Overview
on WCF WCF consists
of runtime and a set of APIs to facilitate development of systems to communicate
with other web applications. A WCF service consists of endpoints which
define what messages to be sent, where and how to be sent, etc. This information
called metadata, is used to help design the clients for availing a WCF
service. An endpoint contains the following: Address::
where the service is located Binding :
how to communicate with the service Contract::
operation that service can execute WCF provides
different bindings needed for communication, some of which are defined
as: BasicHttpBinding:
Communication through SOAP over HTTP to connect to Web services that conform
to WS-I Profile specification WsHttpBinding:
Communication with Web services and clients that support the WS-* protocols
over HTTP NetTCPBinding:
Reliable, secure and high performance communication between two WCF entities
over TCP NetNamedPipesBinding:
WCF-to-WCF communication between processes residing on same Windows based
systems NetMsmqBinding:
Communication between two software entities in WCF using MSMQ WCF allows
different mechanisms for encoding the message that specifies how it is
formatted. Following are the standard options, in addition to the customized
option that can be used with the help of built-in extension points: Text
encoding used for interoperability One-way:
One-way communication, client does not wait for the response and hence
methods of this type return void. Duplex: Two-way
communication where the client initiates a call on the service and also
provides a callback URI so that the server notifies the client through
the callback channel after service. Request-Reply:
Client expects a reply for the method called on the server which usually
returns values correlated to the request as per the terms of the contract Specifications
of WCF WCF adheres
to all the specifications defined by WS-*. These are the standards defined
by group companies like IBM, Microsoft, etc. for exposing a service in
the web through a common protocol. Due to its adherence, WCF is compatible
with other languages (like Java) and leverage the features provided in
languages of .Net like C# & VB.net. Following
are the specifications: Messaging
(WS-Addressing) helps to make SOAP to be independent of underlying
protocol for carrying address information Security
(WS-Security, WS_Trust and WS-Secure Conversation) define
authentication, data integrity and privacy features for the service Reliability
(WS-Reliable messaging) Ensures end-to-end communication when multiple
Web services are involved during message traversal Transactions
(WS-Co-ordination and WS_Atomic Transaction) Enables transactions
that occur during web conversations Metadata
(WS-Policy and WS-Metadata exchange) Information about a web service
that specifies dynamic behavior and that cannot be stated in WSDL form
is expressed as metadata WCF provides
better tools for deploying and maintaining applications like configuration
editor, trace viewer, message logging tool, a vast number of performance
counters and support for Windows Management Instrumentation. Following
are the different ways of hosting WCF service: Self-hosting
which means service exists as long as the Service host class exists WCF, thus
provides a layered architecture for building distributed applications
with many options for encoding, transport, message pattern, etc. Hence,
while designing a WCF service, care needs to be taken to select the suitable
option for satisfying the given requirement. For example, if performance
is the main concern, the message content can be in SOAP format but encoded
and communicated in binary form for transport. Also, decision to migrate
from existing technology (remoting, ASP.net web services, etc.) to WCF
should be made based on the need to leverage its features such as interoperability,
security, transaction support and better management facilities. To host a
web service using WCF, following are the steps need to be followed: a) Define
the service contract which specifies the operations that the service supports.
Each contract is created by defining an interface (in C or Visual Basic
or C++) and each method in it represents the service operation. Each interface
must have ServiceContractAttribute applied to it and each operation must
have OperationContractAttribute applied so that they are exposed. b) Implement
the contract by defining a class that implements the interface with the
code for executing the business logic of the contract. Benefits
of WCF: Adherence
to WS-* specifications gives the ability to integrate with applications
written in other languages like JAVA and C++ along with high level of
interoperability WCF is a
right concept introduced by Microsoft to meet the current expectations
of development of distributed applications in terms of several requirements
for the agile business needs.
_______________________________________________________________________
FREE
Subscription
Subscribe
to our mailing list and receive new articles Note
: We never rent, trade, or sell my email lists to Visit
.NET Programming Tutorial Homepage ______________________________________________________ |