Présentation de Windows Communication Foundation

Windows Communication Foundation (WCF) est une infrastructure permettant de générer des applications orientées services. Avec WCF, vous pouvez envoyer des données sous forme de messages asynchrones d'un point de terminaison de service à un autre. 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. 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. 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. Voici quelques exemples de scénarios :

  • Service sécurisé pour traiter des transactions commerciales.

  • Service qui fournit des données actuelles à d'autres services, comme un rapport sur le trafic ou tout autre service de surveillance.

  • Service de conversation qui permet à deux personnes de communiquer ou d'échanger des données en temps réel.

  • Application de tableau de bord qui interroge les données d'un ou de plusieurs services et les présente de manière logique.

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

  • Application Silverlight pour interroger un service afin d'obtenir les flux de données les plus récents.

Si la création de telles applications était possible avant WCF, WCF simplifie le développement de points de terminaison comme jamais auparavant. En résumé, WCF est conçu de manière à offrir une approche gérable à la création de services Web et de clients de services Web.

Fonctions de WCF

WCF comprend l'ensemble de fonctionnalités suivant. Pour plus d'informations, consultez Informations détaillées sur les fonctionnalités de WCF.

  • Orientation services

    L'une des conséquences de l'utilisation de normes WS est que WCF vous permet de créer des applications orientées services. L'architecture orientée services (SOA, Service-Oriented Architecture) dépend de services Web pour envoyer et recevoir des données. 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. 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.

  • Interopérabilité

    WCF implémente les normes industrielles modernes pour l'interopérabilité des services Web. Pour plus d'informations sur le sujet suivant les normes prises en charge, consultez Interopérabilité et intégration.

  • Modèles de messages variés

    Les messages sont échangés selon l'un des différents modèles disponibles. 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. Le second point de terminaison répond. 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. 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. Pour plus d'informations sur le sujet suivant la procédure d'implémentation de différents modèles d'échange de messages à l'aide de WCF, consultez Contrats.

  • Métadonnées de service

    WCF prend en charge la publication de métadonnées de service à l'aide de formats spécifiés dans les normes industrielles, tels que WSDL, les schémas XML et WS-Policy. Ces métadonnées peuvent être utilisées pour générer et configurer automatiquement des clients en vue de l'accès à des services WCF. 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. Pour plus d'informations, consultez Métadonnées.

  • Contrats de données

    Étant donné que WCF repose sur .NET Framework, il offre également des méthodes faciles à coder pour fournir les contrats que vous souhaitez appliquer. Le contrat de données représente l'un des types universels de contrats. 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. WCF inclut un système complet permettant d'utiliser les données aisément grâce à cette méthode. 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. Pour plus d'informations, consultez Utilisation de contrats de données

  • Sécurité

    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. La sécurité peut être implémentée à l'aide de normes célèbres, telles que SSL ou WS-SecureConversation. Pour plus d'informations, consultez Sécurité dans Windows Communication Foundation.

  • Transports et encodages variés

    Les messages peuvent être envoyés via l'un des différents encodages et protocoles de transport intégrés. Le protocole et encodage le plus courant consiste à envoyer des messages SOAP à encodage texte avec le protocole HTTP (HyperText Transfer Protocol) en vue d'une utilisation sur Internet. Sinon, WCF vous permet d'envoyer des messages via TCP, des canaux nommés ou MSMQ. Ces messages peuvent être encodés en tant que texte ou à l'aide d'un format binaire optimisé. Les données binaires peuvent être envoyées efficacement à l'aide de la norme MTOM. Si aucun des transports ou encodages fournis ne convient à vos besoins, vous avez la possibilité de créer votre propre encodage ou transport personnalisé. Pour plus d'informations sur le sujet suivant les transports et les encodages pris en charge par WCF, consultez Transports dans Windows Communication Foundation.

  • Messages fiables et mis en file d'attente

    WCF prend en charge l'échange de messages fiables à l'aide de sessions fiables implémentées via WS-Reliable Messaging et MSMQ. Pour plus d'informations sur le sujet suivant la prise en charge de la messagerie mise en file d'attente et fiable dans WCF, consultez Files d'attente et sessions fiables.

  • Messages durables

    Un message durable est un message qui n'est jamais perdu suite à une interruption de la communication. Les messages conformes au modèle de message durable sont toujours enregistrés dans une base de données. En cas d'interruption, la base de données vous permet de reprendre l'échange de messages une fois la connexion restaurée. Vous pouvez également créer un message durable à l'aide de Windows Workflow Foundation (WF). Pour plus d'informations, consultez Services de workflow.

  • Transactions

    WCF prend également en charge les transactions à l'aide de trois modèles de transaction : WS-AtomicTtransactions, les interfaces API dans l'espace de noms System.Transactions et MSDTC (Microsoft Distributed Transaction Coordinator). Pour plus d'informations sur le sujet suivant la prise en charge des transactions dans WCF, consultez Transactions.

  • Prise en charge d'AJAX et de REST

    REST n'est qu'un exemple d'une technologie Web 2.0 évolutive. En fait, WCF peut être configuré pour traiter des données XML « ordinaires » qui ne sont pas encapsulées dans une enveloppe SOAP. WCF peut également être étendu pour prendre en charge des formats XML spécifiques, tels qu'ATOM (une norme RSS populaire), et même des formats non-XML, tels que JSON (JavaScript Object Notation).

  • Extensibilité

    L'architecture WCF comporte un certain nombre de points d'extensibilité. 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. Pour plus d'informations sur le sujet suivant les points d'extensibilité disponibles, consultez Extension de WCF.

Intégration WCF avec d'autres technologies Microsoft

WCF est une plate-forme flexible. Grâce à son extrême flexibilité, WCF est également utilisé dans plusieurs autres produits Microsoft. Si vous maîtrisez les bases de WCF, vous bénéficiez d'un avantage immédiat lorsque vous utilisez également l'un de ces produits.

La première technologie associée à WCF a été Windows Workflow Foundation (WF). Les workflows simplifient le développement d'applications en encapsulant les étapes du workflow sous la forme d'activités. Dans la première version de Windows Workflow Foundation, un développeur devait créer un hôte pour le workflow. La version suivante de Windows Workflow Foundation a été intégrée à WCF. Cela a permis d'héberger facilement tout workflow dans un service WCF ; cette opération peut s'effectuer automatiquement en choisissant WF/WCF comme type de projet dans Visual Studio 2010 et Visual Studio 2010.

Microsoft BizTalk Server R2 utilise également WCF comme technologie de communication. BizTalk a été conçu pour recevoir et transformer des données d'un format standardisé en un autre. 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. BizTalk peut désormais utiliser l'adaptateur LOB (Line of Business) de WCF pour remettre les messages à la boîte de message.

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). Depuis la version 2, Silverlight a intégré WCF en tant que technologie de communication afin de connecter les applications Silverlight aux points de terminaison WCF.

Microsoft .NET Services est une initiative informatique en nuage qui utilise WCF pour la création d'applications Internet. Utilisez .NET Services pour créer des services WCF qui fonctionnent au sein de limites d'approbation.

Le serveur d'applications fonctionnalités d'hébergement de Windows Server AppFabric est conçu spécifiquement pour le déploiement et la gestion d'applications qui utilisent WCF pour la communication. fonctionnalités d'hébergement propose des options de configuration et d'outillage enrichies, conçues spécifiquement pour les applications compatibles avec WCF.

Voir aussi

Référence

System.ServiceModel

Concepts

Concepts fondamentaux concernant Windows Communication Foundation
Architecture Windows Communication Foundation
Guide de la documentation

Autres ressources

Indications et meilleures pratiques
Didacticiel de mise en route
Programmation WCF de base
Windows Communication Foundation Samples