Présentation de Windows Communication FoundationWhat Is Windows Communication Foundation

Windows Communication Foundation (WCF) est une infrastructure pour la création d’applications orientées service.Windows Communication Foundation (WCF) is a framework for building service-oriented applications. À l’aide de WCF, vous pouvez envoyer données sous forme de messages asynchrones à partir d’un point de terminaison à un autre.Using WCF, you can send data as asynchronous messages from one service endpoint to another. Un point de terminaison de service peut faire partie d'un service disponible en continu et hébergé par IIS, ou il peut s'agir d'un service hébergé dans une application.A service endpoint can be part of a continuously available service hosted by IIS, or it can be a service hosted in an application. Un point de terminaison peut être un client d'un service qui demande des données auprès d'un point de terminaison de service.An endpoint can be a client of a service that requests data from a service endpoint. Les messages peuvent être simplement constitués d'un caractère ou d'un mot unique envoyé au format XML, ou se présenter sous la forme d'un flux de données binaires plus complexe.The messages can be as simple as a single character or word sent as XML, or as complex as a stream of binary data. Voici quelques exemples de scénarios :A few sample scenarios include:

  • Service sécurisé pour traiter des transactions commerciales.A secure service to process business transactions.

  • Service qui fournit des données actuelles à d'autres services, comme un rapport sur le trafic ou tout autre service de surveillance.A service that supplies current data to others, such as a traffic report or other monitoring service.

  • Service de conversation qui permet à deux personnes de communiquer ou d'échanger des données en temps réel.A chat service that allows two people to communicate or exchange data in real time.

  • Application de tableau de bord qui interroge les données d'un ou de plusieurs services et les présente de manière logique.A dashboard application that polls one or more services for data and presents it in a logical presentation.

  • Exposition d'un workflow implémenté à l'aide de Windows Workflow Foundation en tant que service WCF.Exposing a workflow implemented using Windows Workflow Foundation as a WCF service.

  • Application Silverlight pour interroger un service afin d'obtenir les flux de données les plus récents.A Silverlight application to poll a service for the latest data feeds.

Création de telles applications était possible avant l’existence de WCF, WCF simplifie le développement de points de terminaison plus facile que jamais.While creating such applications was possible prior to the existence of WCF, WCF makes the development of endpoints easier than ever. En résumé, WCF est conçu pour offrir une approche gérable à la création de services Web et les clients de service Web.In summary, WCF is designed to offer a manageable approach to creating Web services and Web service clients.

Fonctions de WCFFeatures of WCF

WCF inclut l’ensemble de fonctionnalités suivant.WCF includes the following set of features. Pour plus d’informations, consultez informations sur les fonctionnalités WCF.For more information, see WCF Feature Details.

  • Orientation servicesService Orientation

    Une des conséquences de l’utilisation de normes WS est que WCF vous permet de créer orientée applications.One consequence of using WS standards is that WCF enables you to create service oriented applications. L'architecture orientée services (SOA, Service-Oriented Architecture) dépend de services Web pour envoyer et recevoir des données.Service-oriented architecture (SOA) is the reliance on Web services to send and receive data. Les services présentent l'avantage d'être faiblement couplés, au lieu d'être encodés de manière irréversible d'une application à une autre.The services have the general advantage of being loosely-coupled instead of hard-coded from one application to another. Une relation faiblement couplée implique que tout client créé sur une plate-forme peut se connecter à n'importe quel service, dans la mesure où les contrats essentiels sont respectés.A loosely-coupled relationship implies that any client created on any platform can connect to any service as long as the essential contracts are met.

  • InteropérabilitéInteroperability

    WCF implémente les normes industrielles modernes pour l’interopérabilité des services Web.WCF implements modern industry standards for Web service interoperability. Pour plus d’informations sur les normes prises en charge, consultez interopérabilité et intégration.For more information about the supported standards, see Interoperability and Integration.

  • Modèles de messages variésMultiple Message Patterns

    Les messages sont échangés selon l'un des différents modèles disponibles.Messages are exchanged in one of several patterns. Le modèle le plus courant est de type demande/réponse, dans lequel un point de terminaison demande des données auprès d'un second point de terminaison.The most common pattern is the request/reply pattern, where one endpoint requests data from a second endpoint. Le second point de terminaison répond.The second endpoint replies. Il existe d'autres modèles, comme un message unidirectionnel dans lequel un seul point de terminaison envoie un message sans attendre de réponse.There are other patterns such as a one-way message in which a single endpoint sends a message without any expectation of a reply. Le modèle d'échange en duplex constitue un modèle plus complexe dans la mesure où deux points de terminaison établissent une connexion et envoient des données de part et d'autre, à la manière d'un programme de messagerie instantanée.A more complex pattern is the duplex exchange pattern where two endpoints establish a connection and send data back and forth, similar to an instant messaging program. Pour plus d’informations sur l’implémentation de l’échange de messages différents motifs à l’aide de WCF, consultez contrats.For more information about how to implement different message exchange patterns using WCF see Contracts.

  • Métadonnées de serviceService Metadata

    WCF prend en charge la publication des métadonnées de service à l’aide de formats spécifiés dans les normes industrielles telles que WSDL, schéma XML et WS-Policy.WCF supports publishing service metadata using formats specified in industry standards such as WSDL, XML Schema and WS-Policy. Ces métadonnées peuvent être utilisées pour générer et configurer les clients pour accéder aux services WCF automatiquement.This metadata can be used to automatically generate and configure clients for accessing WCF services. Les métadonnées peuvent être publiées via HTTP et HTTPS ou à l'aide de la norme d'échange de métadonnées de service Web.Metadata can be published over HTTP and HTTPS or using the Web Service Metadata Exchange standard. Pour plus d’informations, consultez métadonnées.For more information, see Metadata.

  • Contrats de donnéesData Contracts

    Étant donné que WCF est créé à l’aide de la .NET Framework.NET Framework, il inclut également des méthodes faciles à coder de fournir les contrats que vous souhaitez appliquer.Because WCF is built using the .NET Framework.NET Framework, it also includes code-friendly methods of supplying the contracts you want to enforce. Le contrat de données représente l'un des types universels de contrats.One of the universal types of contracts is the data contract. Par nature, lorsque vous codez votre service à l'aide de Visual C# ou de Visual Basic, la méthode la plus simple de gérer les données consiste à créer des classes qui représentent une entité de données dotée de propriétés.In essence, as you code your service using Visual C# or Visual Basic, the easiest way to handle data is by creating classes that represent a data entity with properties that belong to the data entity. WCF inclut un système complet pour travailler avec des données de cette manière facile.WCF includes a comprehensive system for working with data in this easy manner. Une fois que vous avez créé les classes qui représentent les données, votre service génère automatiquement les métadonnées qui permettent aux clients de se conformer aux types de données que vous avez conçus.Once you have created the classes that represent data, your service automatically generates the metadata that allows clients to comply with the data types you have designed. Pour plus d’informations, consultez à l’aide de contrats de donnéesFor more information, see Using Data Contracts

  • SécuritéSecurity

    Les messages peuvent être chiffrés afin de protéger la confidentialité. Par ailleurs, vous pouvez demander aux utilisateurs de s'authentifier avant de pouvoir recevoir des messages.Messages can be encrypted to protect privacy and you can require users to authenticate themselves before being allowed to receive messages. La sécurité peut être implémentée à l'aide de normes célèbres, telles que SSL ou WS-SecureConversation.Security can be implemented using well-known standards such as SSL or WS-SecureConversation. Pour plus d’informations, consultez l’article Sécurité.For more information, see Security.

  • Transports et encodages variésMultiple Transports and Encodings

    Les messages peuvent être envoyés via l'un des différents encodages et protocoles de transport intégrés.Messages can be sent on any of several built-in transport protocols and encodings. Les plus courants de protocole et de codage consiste à envoyer le texte encodé des messages SOAP à l’aide du protocole HTTP (HyperText Transfer) pour une utilisation sur le World Wide Web.The most common protocol and encoding is to send text encoded SOAP messages using the HyperText Transfer Protocol (HTTP) for use on the World Wide Web. Vous pouvez également, WCF vous permet d’envoyer des messages sur TCP, canaux nommés ou MSMQ.Alternatively, WCF allows you to send messages over TCP, named pipes, or MSMQ. Ces messages peuvent être encodés en tant que texte ou à l'aide d'un format binaire optimisé.These messages can be encoded as text or using an optimized binary format. Les données binaires peuvent être envoyées efficacement à l'aide de la norme MTOM.Binary data can be sent efficiently using the MTOM standard. Si aucun des transports ou encodages fournis ne convient à vos besoins, vous avez la possibilité de créer votre propre encodage ou transport personnalisé.If none of the provided transports or encodings suit your needs you can create your own custom transport or encoding. Pour plus d’informations sur les transports et encodages pris en charge par WCF, consultez Transports.For more information about transports and encodings supported by WCF see Transports.

  • Messages fiables et mis en file d'attenteReliable and Queued Messages

    WCF prend en charge l’échange de messages fiables à l’aide de sessions fiables implémentées via WS-Reliable Messaging et MSMQ.WCF supports reliable message exchange using reliable sessions implemented over WS-Reliable Messaging and using MSMQ. Pour plus d’informations sur le support de messagerie fiable et en file d’attente dans WCF, consultez files d’attente et Sessions fiables.For more information about reliable and queued messaging support in WCF see Queues and Reliable Sessions.

  • Messages durablesDurable Messages

    Un message durable est un message qui n'est jamais perdu suite à une interruption de la communication.A durable message is one that is never lost due to a disruption in the communication. Les messages conformes au modèle de message durable sont toujours enregistrés dans une base de données.The messages in a durable message pattern are always saved to a database. En cas d'interruption, la base de données vous permet de reprendre l'échange de messages une fois la connexion restaurée.If a disruption occurs, the database allows you to resume the message exchange when the connection is restored. Vous pouvez également créer un message durable à l’aide de Windows Workflow Foundation (WF).You can also create a durable message using the Windows Workflow Foundation (WF). Pour plus d’informations, consultez Services de Workflow.For more information, see Workflow Services.

  • TransactionsTransactions

    WCF prend également en charge les transactions à l’aide d’un des trois modèles de transaction : WS-AtomicTtransactions, les API dans le System.Transactions espace de noms et Microsoft Distributed Transaction Coordinator.WCF also supports transactions using one of three transaction models: WS-AtomicTtransactions, the APIs in the System.Transactions namespace, and Microsoft Distributed Transaction Coordinator. Pour plus d’informations sur la transaction prise en charge dans WCF consultez Transactions.For more information about transaction support in WCF see Transactions.

  • Prise en charge d'AJAX et de RESTAJAX and REST Support

    REST est un exemple d'une technologie évoluant vers le Web 2.0.REST is an example of an evolving Web 2.0 technology. WCF peut être configuré pour traiter les données XML « ordinaires » qui ne sont pas encapsulées dans une enveloppe SOAP.WCF can be configured to process "plain" XML data that is not wrapped in a SOAP envelope. WCF peut également être étendu pour prendre en charge les formats XML spécifiques, tels que ATOM (une norme populaire RSS) et même des formats non-XML, tels que JavaScript Objet Notation (JSON).WCF can also be extended to support specific XML formats, such as ATOM (a popular RSS standard), and even non-XML formats, such as JavaScript Object Notation (JSON).

  • ExtensibilitéExtensibility

    L’architecture WCF a un nombre de points d’extensibilité.The WCF architecture has a number of extensibility points. Si une capacité supplémentaire est requise, il existe un certain nombre de points d'entrée qui vous permettent de personnaliser le comportement d'un service.If extra capability is required, there are a number of entry points that allow you to customize the behavior of a service. Pour plus d’informations sur l’extensibilité disponible points, consultez Extending WCF.For more information about available extensibility points see Extending WCF.

Intégration WCF avec d'autres technologies MicrosoftWCF Integration with Other Microsoft Technologies

WCF est une plateforme flexible.WCF is a flexible platform. En raison de cette flexibilité extrême, WCF est également utilisé dans plusieurs autres produits Microsoft.Because of this extreme flexibility, WCF is also used in several other Microsoft products. En comprenant les principes fondamentaux de WCF, vous avez un avantage immédiat si vous utilisez également un de ces produits.By understanding the basics of WCF, you have an immediate advantage if you also use any of these products.

La première technologie associée à WCF a été Windows Workflow Foundation (WF).The first technology to pair with WCF was the Windows Workflow Foundation (WF). Les workflows simplifient le développement d’applications en encapsulant les étapes dans le flux de travail en tant que « activités ».Workflows simplify application development by encapsulating steps in the workflow as "activities." Dans la première version de Windows Workflow Foundation, un développeur devait créer un hôte pour le flux de travail.In the first version of Windows Workflow Foundation, a developer had to create a host for the workflow. La prochaine version de Windows Workflow Foundation a été intégrée à WCF.The next version of Windows Workflow Foundation was integrated with WCF. Cela a permis tout workflow être hébergés facilement dans un service WCF.That allowed any workflow to be easily hosted in a WCF service. Vous pouvez le faire automatiquement en choisissant le type de projet WF/WCF dans Visual Studio 2012 ou version ultérieure.You can do this by automatically choosing the WF/WCF project type in Visual Studio 2012 or later.

Microsoft BizTalk Server R2 utilise également WCF comme une technologie de communication.Microsoft BizTalk Server R2 also utilizes WCF as a communication technology. BizTalk a été conçu pour recevoir et transformer des données d'un format standardisé en un autre.BizTalk is designed to receive and transform data from one standardized format to another. Les messages doivent être remis dans leur boîte de message centrale, où ils peuvent être transformés suivant un mappage strict ou à l'aide de l'une des fonctionnalités BizTalk, telles que le moteur de workflow.Messages must be delivered to its central message box where the message can be transformed using either a strict mapping or by using one of the BizTalk features such as its workflow engine. BizTalk peut maintenant utiliser l’adaptateur WCF métier (LOB) pour remettre des messages à la boîte de message.BizTalk can now use the WCF Line of Business (LOB) adapter to deliver messages to the message box.

Microsoft Silverlight est une plate-forme de création d'applications Web enrichies interopérables qui permettent aux développeurs de créer des sites Web comportant de nombreux médias (tels que la vidéo en continu).Microsoft Silverlight is a platform for creating interoperable, rich Web applications that allow developers to create media-intensive Web sites (such as streaming video). Depuis la version 2, Silverlight a intégré WCF comme une technologie de communication pour connecter les applications Silverlight aux points de terminaison WCF.Beginning with version 2, Silverlight has incorporated WCF as a communication technology to connect Silverlight applications to WCF endpoints.

Le fonctionnalités d'hébergement de Windows Server AppFabrichosting features of Windows Server AppFabric application server est spécifiquement conçu pour déployer et gérer des applications qui utilisent WCF pour la communication.The fonctionnalités d'hébergement de Windows Server AppFabrichosting features of Windows Server AppFabric application server is specifically built for deploying and managing applications that use WCF for communication. Le fonctionnalités d'hébergementhosting features inclut des options de configuration et des outils riches, spécialement conçues pour les applications WCF.The fonctionnalités d'hébergementhosting features includes rich tooling and configuration options specifically designed for WCF-enabled applications.

Voir aussiSee also