WCF 4 Windows Communication Foundation Tutorials

Windows Communication Foundation (WCF 4) Tutorials
  1. Windows Communication Foundation is Microsoft's next generation technology for developing distributed applications.
  2. WCF has been built to facilitate the development of service-oriented applications. The communication between loosely coupled clients and services is based on a model that uses schemas and contracts, rather than classes and types. 
  3. Schemas and contracts are independent of programming language, hosting platform, or implementation.  
  4. As a result, this model provides many benefits such as maintainability, reusability, and manageability of your code and your solution. In addition, loosely coupled services tend to model real-world systems.
  5. WCF can communicate by using Web services, so it can interoperate with other platforms that can use Simple Object Access Protocol (SOAP), such as Java 2, Enterprise Edition (Java EE).
  6. WCF also supports many of the advanced WS-* Web service standards, which can provide rich Web service communication across platforms. 
  7. WCF can be extended to use protocols other than SOAP to communicate with Web services, for example, Rich Site Summary (RSS).
  8. WCF provides low-level asynchronous operations for passing untyped primitive messages. 
  9. Higher-level services are layered on top, including typed messages, secure message exchange, reliable message exchange, transacted messaging, and queued messaging.
  10. WCF has been designed to integrate and unify existing distributed computing technologies. 
  11. It is interoperable with WSE 3.0, System.Messaging, .NET Enterprise Services, and ASMX Web services. This means that, with little or no change to code, existing applications that are built with these technologies can interoperate with WCF services

  • WCF services expose endpoints that clients and services use to exchange messages. Each endpoint consists of an address, a binding, and a contract The address identifies where the service is located on the network. The address format is protocol specific. Addresses can be specified in code or in configuration files. Configuration files are preferable, because they enable an administrator to configure addresses at deployment time.
  • The binding defines how the client needs to communicate with the service. For example, a binding defines the underlying transport protocol, security requirements, and message encoding.
  • WCF provides several standard bindings whose behaviors can be modified in configuration files.  For example, BasicHttpBinding exposes an HTTP-based WCF service that encodes SOAP messages in text format. This binding is used for interoperability. WsHttpBinding adds support for advanced Web service features, such as transactions and reliable messaging. NetMsmqBinding uses Microsoft Message Queuing, or MSMQ, as the transport.
  • The contract defines what the service can do. WCF specifies attributes that can be used to define contract types, including those that define service operations, messages, data types, and fault behavior. 
  • A service contract defines the operations that are available at the endpoint. A service contract is defined by a .NET Framework interface that has added WCF attributes.  
  • A class, called the service type, implements the interface to provide the implementation of the service operations.
  • To make your WCF services widely accessible, you can use ASP.NET and Internet Information Services, or IIS, to host HTTP-based WCF services. 
  • In addition, you can use any .NET Framework application to host your WCF services by using the ServiceHost class. 
  • The service can provide metadata about its endpoints to clients in the form of Web Service Description Language, or WSDL.
  • Client-side tools can use WSDL, to generate a proxy through which the client communicates with the service. 
  • The proxy contains a client that is capable of invoking the service contract WSDL specifies, and configuration information provides address and binding information


Post a Comment