WCF - Aperçu

WCF signifie Windows Communication Foundation. La caractéristique élémentaire de WCF est l'interopérabilité. C'est l'une des dernières technologies de Microsoft qui est utilisée pour créer des applications orientées services. Basé sur le concept de communication basée sur les messages, dans laquelle une requête HTTP est représentée uniformément, WCF permet d'avoir une API unifiée indépendamment des divers mécanismes de transport.

WCF a été publié pour la première fois en 2006 dans le cadre du framework .NET avec Windows Vista, puis a été mis à jour plusieurs fois. WCF 4.5 est la version la plus récente qui est maintenant largement utilisée.

Une application WCF se compose de trois composants:

  • Service WCF,
  • Hôte de service WCF, et
  • Client de service WCF.

La plate-forme WCF est également connue sous le nom de modèle de service.

Concepts fondamentaux de la WCF

Message

Il s'agit d'une unité de communication qui comprend plusieurs parties en dehors du corps. Les instances de message sont envoyées et reçues pour tous les types de communication entre le client et le service.

Point final

Il définit l'adresse à laquelle un message doit être envoyé ou reçu. Il spécifie également le mécanisme de communication pour décrire comment les messages seront envoyés ainsi que la définition de l'ensemble de messages. Une structure d'un point final comprend les parties suivantes:

Adresse

L'adresse spécifie l'emplacement exact de réception des messages et est spécifiée en tant qu'identificateur de ressource uniforme (URI). Il est exprimé comme schéma: // domaine [: port] / [chemin]. Jetez un œil à l'adresse mentionnée ci-dessous -

net.tcp: // localhost: 9000 / ServiceA

Ici, «net.tcp» est le schéma du protocole TCP. Le domaine est «localhost» qui peut être le nom d'une machine ou d'un domaine Web, et le chemin est «ServiceA».

Contraignant

Il définit la façon dont un point final communique. Il comprend certains éléments contraignants qui constituent l'infrastructure de communication. Par exemple, une liaison indique les protocoles utilisés pour le transport comme TCP, HTTP, etc., le format de codage des messages et les protocoles liés à la sécurité ainsi qu'à la fiabilité.

Contrats

Il s'agit d'un ensemble d'opérations qui spécifie les fonctionnalités que le point de terminaison expose au client. Il se compose généralement d'un nom d'interface.

Hébergement

L'hébergement du point de vue de WCF fait référence à l'hébergement de service WCF qui peut être effectué via de nombreuses options disponibles telles que l'auto-hébergement, l'hébergement IIS et l'hébergement WAS.

Métadonnées

Il s'agit d'un concept important de WCF, car il facilite l'interaction entre une application cliente et un service WCF. Normalement, les métadonnées d'un service WCF sont générées automatiquement lorsqu'elles sont activées, et cela se fait par l'inspection du service et de ses points de terminaison.

Client WCF

Une application cliente créée pour exposer les opérations de service sous la forme de méthodes est connue sous le nom de client WCF. Cela peut être hébergé par n'importe quelle application, même celle qui héberge des services.

Canal

Le canal est un moyen par lequel un client communique avec un service. Différents types de canaux sont empilés et sont connus sous le nom de piles de canaux.

SAVON

Bien que appelé «protocole d'accès aux objets simples», SOAP n'est pas un protocole de transport; il s'agit plutôt d'un document XML comprenant une section d'en-tête et de corps.

Avantages de WCF

  • Il est interopérable par rapport aux autres services. Cela contraste fortement avec .NET Remoting dans lequel le client et le service doivent avoir .Net.

  • Les services WCF offrent une fiabilité et une sécurité améliorées par rapport aux services Web ASMX (Active Server Methods).

  • L'implémentation du modèle de sécurité et la modification de la liaison dans WCF ne nécessitent pas de modification majeure du codage. Quelques changements de configuration sont nécessaires pour répondre aux contraintes.

  • WCF a un mécanisme de journalisation intégré alors que dans d'autres technologies, il est essentiel de faire le codage requis.

  • WCF a intégré AJAX et la prise en charge de JSON (notation d'objet JavaScript).

  • Il offre une évolutivité et une prise en charge des normes de service Web à venir.

  • Il dispose d'un mécanisme de sécurité par défaut extrêmement robuste.