Différence entre les services Web et WCF

Services Web vs WCF

Les services Web et WCF sont des technologies Web développées par Microsoft. Les services Web ont été introduits dans les versions antérieures de .NET, tandis que WCF a été ajouté à .NET Framework dans les versions ultérieures. Les services Web sont utilisés pour créer des applications pouvant envoyer / recevoir des messages à l'aide de SOAP sur HTTP. WCF permet de créer des applications distribuées pour échanger des messages à l'aide de SOAP, quel que soit le protocole de transport utilisé..

Services Web

Un service Web (parfois appelé technologie ASMX dans .NET) est une méthode de communication sur le réseau. Selon le W3C, un service Web est un système dédié à la prise en charge des transactions de machine à machine sur un réseau. Il s’agit d’une API Web décrite dans WSDL (langage de description de service Web) et les services Web sont généralement autonomes et auto-descriptifs. Les services Web peuvent être découverts à l'aide du protocole UDDI (Universal Description, Discovery and Integration). En échangeant des messages SOAP (Simple Object Access Protocol) généralement via HTTP (avec XML), d'autres systèmes peuvent interagir avec des services Web. Les services Web sont utilisés de différentes manières, notamment RPC (appels de procédure distante), SOA (architecture orientée service) et REST (Representational State Transfer). Il existe deux méthodologies de conception automatisées pour développer des services Web. L’approche ascendante consiste à créer d’abord les classes, puis à utiliser les outils de génération WSDL pour composer ces classes en tant que services Web. L'approche descendante consiste à définir les spécifications WSDL, puis à utiliser des outils de génération de code pour générer les classes correspondantes. Les services Web ont deux usages principaux. Ils peuvent être utilisés comme composants d'application réutilisables et / ou pour connecter des applications Web s'exécutant sur différentes plates-formes.

WCF

WCF (Windows Communication Foundation) est une API .NET (Application Programming Interface), qui fournit un modèle de programmation unifié pour le développement d'applications connectées et orientées service. Plus spécifiquement, il est utilisé pour développer et déployer des applications distribuées avec SOA. La SOA traite de l’informatique distribuée dans laquelle les consommateurs consomment des services. Plusieurs consommateurs peuvent consommer un seul service et inversement. WCF prend en charge des normes de service Web avancées telles que WS-Addressing, WS-ReliableMessaging, WS-Security et la syndication RSS (disponible après .NET 4.0). Un client WCF utilise un point de terminaison pour se connecter à un service WCF. Chaque service peut avoir plusieurs points de terminaison exposant son contrat. Le terme ABC est utilisé pour désigner l'adresse / la liaison / le contrat du service WCF. La communication entre les clients et les services se fait à travers des enveloppes SOAP.

Quelle est la différence entre les services Web et WCF?

Il existe certaines différences essentielles entre les services Web et les services WCF. Les services Web permettent de créer des applications pouvant envoyer / recevoir des messages à l'aide de SOPA sur HTTP. Toutefois, WCF permet de créer des applications distribuées pour échanger des messages à l'aide de SOAP et de tout protocole de transport tels que HTTP, TCP, canaux nommés, Microsoft Message Queuing (MSMQ), etc. Bien que les services Web soient très simples et faciles à mettre en œuvre, WCF est plus robuste sur le plan architectural que le service Web. Les services Web ne peuvent être hébergés que dans IIS et la sécurité est limitée. Mais WCF peut être hébergé dans IIS, des serveurs auto-hôtes avec des applications console, des services Win NT ou tout autre serveur. De plus, contrairement aux services Web, WCF prend en charge les communications binaires .NET - .NET, les transactions distribuées, les spécifications WS- *, la messagerie en file d'attente et les communications reposantes..