FACTOID # 16: In the 2000 Presidential Election, Texas gave Ralph Nader the 3rd highest popular vote count of any US state.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
   
 
WHAT'S NEW
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Windows Communication Foundation
This subsystem is a part of .NET Framework 3.0

Windows Communication Foundation, sometimes shortened to just WCF, previously codenamed Indigo, is a new communication subsystem to enable applications, in one machine or across multiple machines connected by a network, to communicate. WCF applications can be developed in any language which can target the .NET runtime. Image File history File links This is a lossless scalable vector image. ... Image File history File links This is a lossless scalable vector image. ... For the Macintosh operating system, which was called System up to version 7. ... .NET Framework 3. ...


It is one of the four major application programming interfaces introduced as part of .NET Framework 3.0, which is included with Windows Vista and Windows Server 2008; Windows XP and Windows Server 2003 are supported as well. API and Api redirect here. ... .NET Framework 3. ... Windows Vista is a line of graphical operating systems used on personal computers, including home and business desktops, notebook computers, Tablet PCs, and media centers. ... Windows Server 2008 is the name of the next server operating system from Microsoft. ... Windows XP is a line of operating systems developed by Microsoft for use on general-purpose computer systems, including home and business desktops, notebook computers, and media centers. ... Windows Server 2003 is a server operating system produced by Microsoft. ...

Contents

Overview

The WCF programming model unifies Web Services, .NET Remoting, Distributed Transactions, and Message Queues into a single Service-oriented programming model for distributed computing. It is intended to provide the rapid application development methodology to the development of web services, with a single API for inter-process communication in a local machine, LAN, or over the Internet. WCF runs in a sandbox and provides the enhanced security model all .NET applications provide. A web service is a collection of protocols and standards used for exchanging data between applications. ... . ... To meet Wikipedias quality standards, this article or section may require cleanup. ... Microsoft Message Queuing or MSMQ is a technology developed by Microsoft and deployed in its Windows Server operating systems since Windows NT 4 and Windows 95. ... Service Oriented Architecture (SOA) is an architectural style that guides all aspects of creating and using business processes, packaged as services, throughout their lifecycle, as well as defining and provisioning the IT infrastructure that allows different applications to exchange data and participate in business processes regardless of the operating systems... Distributed computing is a method of computer processing in which different parts of a program are run simultaneously on two or more computers that are communicating with each other over a network. ... Rapid application development (RAD), is a software development process developed initially by James Martin in the 1980s. ... Web services architecture The W3C defines a Web service (many sources also capitalize the second word, as in Web Services) as a software system designed to support interoperable Machine to Machine interaction over a network. ... Inter-Process Communication (IPC) is a set of techniques for the exchange of data between two or more threads in one or more processes. ... LAN redirects here. ...


WCF uses SOAP messages for communication between two processes, thereby making WCF-based applications interoperable with any other process that communicates via SOAP messages. When a WCF process communicates with a non–WCF process, XML-based encoding is used for the SOAP messages but when it communicates with another WCF process, the SOAP messages are encoded in an optimized binary format. Both encodings conform to the data structure of the SOAP format, called Infoset. A collection of decorative soaps used for human hygiene purposes. ... The Extensible Markup Language (XML) is a general-purpose markup language. ... A Hexdump of a JPEG image. ... XML Information Set (Infoset) is a W3C recommendation. ...


Service oriented architecture

WCF is designed in accordance with Service oriented architecture principles to support Distributed computing where services are consumed by consumers. Clients can consume multiple services and services can be consumed by multiple clients. Services typically have a WSDL interface which any WCF client can use to consume the service, irrespective of which platform the service is hosted on. WCF implements many advanced WS* web services standards such as WS-Addressing, WS-ReliableMessaging and WS-Security. While Microsoft is a board member of WS-I it is not clear how many WS-I profiles they are committing to support fully. Service Oriented Architecture (SOA) is an architectural style that guides all aspects of creating and using business processes, packaged as services, throughout their lifecycle, as well as defining and provisioning the IT infrastructure that allows different applications to exchange data and participate in business processes regardless of the operating systems... Distributed computing is a method of computer processing in which different parts of a program are run simultaneously on two or more computers that are communicating with each other over a network. ... This article is about a term used in economics. ... In computing, a client is a system that accesses a (remote) service on another computer by some kind of network. ... The Web Services Description Language (WSDL) is an XML format published for describing Web services. ... An interface defines the communication boundary between two entities, such as a piece of software, a hardware device, or a user. ... WS-Addressing is a specification of transport-neutral mechanisms that allow web services to communicate addressing information. ... WS-ReliableMessaging is a specification that describes a protocol for reliable delivery of messages between distributed applications that are connected by software, system, hardware and network components that may not be fail-safe. ... WS-Security (Web Services Security) is a communications protocol providing a means for applying security to Web Services. ... The Web Services Interoperability (WS-I) organisation is committed to supporting the use of Web Services and promoting interoperability between vendor solutions. ...


WCF Service

A WCF Service is composed of three parts — a Service class that implements the service to be provided, a host environment to host the service, and one or more endpoints to which clients will connect. All communications with the WCF service will happen via the endpoints. The endpoints specify a Contract that defines which methods of the Service class will be accessible via the endpoint; each endpoint may expose a different set of methods. The endpoints also define a binding that specifies how a client will communicate with the service and the address where the endpoint is hosted.


WCF provides Windows Activation Services which can be used to host the WCF service. Otherwise the WCF service can also be hosted in IIS or in any process by using the ServiceHost class, which is provided by WCF. Services can also be self-hosted.


Defining WCF services

A WCF service class implements some service as a set of methods. In addition, it implements at least one Service Contract which defines the operations that the service can perform. It may also optionally define Data Contracts which describe what sort of data is worked upon by the exposed operations.


Contracts are defined using .NET Attributes. Any class that is to be exposed as a WCF service must be either marked with ServiceContract attribute, or implement an interface marked with it. All methods that a client can invoke using SOAP messages must be marked with OperationContract attribute. The attributes automatically generate WSDL descriptions for the exposed methods, which can then be accessed by clients, or advertised to them.


A service can also employ multiple Service Contracts. This can be done by defining multiple .NET interfaces, each marked as a Service Contract. The service class can then implement all the interfaces.


The ServiceContract and OperationContract attributes also allow an interface to reference a previously existing contract, thus providing an option for supporting interface versioning.


All Service Contracts have an associated implicit or explicit Data Contract which defines the data that the service works on. If the data required by the service and the returned result is of simple types, like integers, doubles etc, then the Data Contract is defined automatically by WCF. If, on the other hand, the data is of a complex type like an object or a struct, then it must be defined explicitly. Data contracts specify how the data is serialized and de-serialized, allowing for custom representation of objects passing in and out.


A Data contract is defined by using a DataContract attribute on a class or structure. Members of the data structure which will be used by the service need to be marked with the DataMember attribute. Only those will be transferred between the service and its client.


The behavior of the Service in general and the operations in particular can be controlled using the ServiceBehavior and the OperationBehavior attributes respectively. The ServiceBehavior attribute has different properties. The ConcurrencyMode property specifies whether the service will be concurrent, i.e., whether it will support simultaneous clients or not. Similarly, the InstanceMode property specifies whether a single instance of the service will serve all requests or a new instance of the service will be created for each request, or a new instance of the service will be created for each session.


Defining endpoints

A WCF client connects to a WCF service via an endpoint.


Each Service exposes its Contract via one or more endpoints. An endpoint has an address, which is a URL specifying where the endpoint can be accessed, and binding properties that specify how the data will be transferred.


The mnemonic "ABC" can be used to remember Address / Binding / Contract. Binding specifies what communication protocols are used to access the service, whether security mechanisms are to be used, and the like. WCF includes predefined bindings for most common communication protocols such as SOAP over HTTP, SOAP over TCP, and SOAP over Message Queues etc.


When a client wants to access the service via an endpoint, it not only needs to know the Contract, but it also has to adhere to the binding specified by the endpoint. Client and server must have thus, compatible endpoints .


Communication with the service

A client can communicate with a WCF service using any of the RPC-based mechanisms in which the service can be invoked as a method call. Any call to the service will be blocking - that is, it will halt the execution of the client until the service processes the request. The client has to connect to a service using a proxy object, which is connected to the specified endpoint of the service and abstracts the service as an object. All method calls to the proxy object will be routed to the service and the proxy will return the results returned by the service to the caller. Remote procedure call (RPC) is a protocol that allows a computer program running on one computer to cause a subroutine on another computer to be executed without the programmer explicitly coding the details for this interaction. ... // In computer programming, the proxy pattern is a software design pattern. ... Object-oriented programming (OOP) is a programming paradigm that uses objects and their interactions to design applications and computer programs. ...


WCF handles creating the local proxy. It retrieves from the endpoint the WSDL definition of the endpoint and creates the proxy that will communicate the data for the service using the protocol specified by the binding of the endpoint. It also has to convert the data returned by the service into a form expected by the caller.


WCF also supports non-blocking calls as well as use of the services by passing messages containing the data to be used by the service. Communicating using messages does not require the use of proxy object. The returned data will also be returned using a message. The caller will be blocked until the call to the service returns. To make use of non-blocking messaging, Message Queues need to be used to handle the delivery and receipt of the messages. Message Queues will also allow an application to work even if the service is temporarily down, with the knowledge that the request will be serviced when the server comes up again.


See also

The Microsoft . ... Windows Vista is a line of graphical operating systems used on personal computers, including home and business desktops, notebook computers, Tablet PCs, and media centers. ... Microsoft Connected Services Framework (CSF) is a service aggregation SOA platform from Microsoft. ... Web Services Enhancements (WSE) is an add-on to the Microsoft . ...

Additional Resources about WCF

  • Microsoft Windows Communication Foundation: Hands-On, Craig McMurtry, Marc Mercuri, and Nigel Watling, SAMS Publishing, May 26, 2006. ISBN 0-672-32877-1

Joe Craig McMurtry (born November 5, 1959 in Troy, Texas) was a Pitcher for the Atlanta Braves (1983-86), Texas Rangers (1988-90) and Houston Astros (1995). ...

External links

  • Windows Communication Foundation, MSDN Windows Communication Foundation portal.
  • Windows Communication Foundation, Microsoft's WCF information and samples web site.
  • Windows Communication Foundation Guide, An online guide to Windows Communication Foundation.
  • WinFX Beta Page, Microsoft's WinFX site, updated every few months for new releases.
  • David Chappell: "Introducing Indigo: An Early Look", February, 2005.
  • The .NET Show: Longhorn Indigo, February, 2005.
  • WCF section on NetFXGuide.com
  • Windows Communication Foundation Learning Guide From SearchVB.com
  • Hello World Example for 'Indigo' An example of a Hello World using Indigo
  • Hosting and Consuming WCF Services by Chris Peiris & Dennis Mulder (from Avanade)

  Results from FactBites:
 
Windows Communication Foundation - Wikipedia, the free encyclopedia (1483 words)
When a WCF process communicates with a non–WCF process, XML-based encoding is used for the SOAP messages but when it communicates with another WCF process, the SOAP messages are encoded in an optimized binary format.
WCF is designed in accordance with Service oriented architecture principles to support Distributed computing where services are consumed by consumers.
WCF also supports non-blocking calls as well as use of the services by passing messages containing the data to be used by the service.
Windows Communication Foundation Guide (368 words)
Learn what WCF is, why Microsoft is working on it, how it will impact developers, and where it fits into the bigger picture of Microsoft technologies.
Programming WCF Webcast - In this webcast, we examine the design of the Windows Communication Foundation architecture, how it works, and how you can use it to build service-oriented systems.
WCF Introduction Self Study Lab - The objective of this lab is to provide some practice in delivering and consuming services using the Windows Communication Foundation.
  More results at FactBites »

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m