Différence entre WCF et service Web

WCF vs Web Service

Les services Web et Windows Communication Foundations (WCF) sont deux méthodes permettant aux applications de communiquer sur un réseau..

En savoir plus sur les services Web

Les services Web sont des composants d'applications auxquels on peut accéder à l'aide de protocoles ouverts, tels que SOAP (Simple Object Access Protocol), langage XML développé par le W3C, permettant de coder et de transmettre des données. SOAP utilise XML pour les descriptions de données et HTTP pour le transfert de données. Les principaux avantages offerts par ces protocoles ouverts sont l’interopérabilité des services malgré les différences entre les plates-formes et les langages de programmation utilisés. Langage de description des services Web (WSDL) (Web Services Use Language) pour décrire les services, et UDDI (description, découverte et intégration universelles) pour répertorier les services disponibles. Les services Web n'ont pas besoin de navigateur Web ni de code HTML pour fonctionner, et peuvent contenir ou non une interface graphique telle que définie par l'application. Les services Web peuvent être implémentés avec ASP.NET.

En savoir plus sur Windows Communication Foundation (WCF)

Windows Communication Foundation a été introduit pour remplacer les plates-formes de service Web antérieures et utilise une architecture orientée service pour la création d'applications. L'interopérabilité et les modèles de messages multiples, les métadonnées de service, les contrats de données et les codages de transport multiples sont des caractéristiques de la fonction WCF. Les fonctionnalités de messages durables, AJAX et REST, et de transactions sécurisées ajoutent plus de polyvalence à la plate-forme que les services Web antérieurs.

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

• Les services Web peuvent être hébergés dans IIS (Internet Information Service) ou en dehors de IIS, tandis que WCF peut être hébergé dans IIS, WAS (Windows Activation Service). Les services WCF peuvent généralement être hébergés dans IIS 5.1 ou 6.0, le service WAS (Windows Process Activation Service) fourni avec IIS version 7.0 et dans toute application .NET. Pour héberger un service Web dans IIS version 5.1 ou 6.0, il est indispensable que les services Web utilisent HTTP comme protocole de transport de communications..

• Dans la plate-forme de services Web, l'attribut de service Web sera ajouté en haut de la classe, tandis que dans WCF, un attribut de contrat de service existera. De même, les attributs de méthode Web sont ajoutés à la méthode du service Web, tandis que, dans WCF, le contrat d’exploitation du service sera ajouté à la méthode supérieure..

• Les services Web utilisent les codages XML 1.0, MTOM (mécanisme de transmission du message) et DIME, tandis que WCF utilise les codages XML 1.0, MTOM et binaire. Les deux plates-formes supportent des méthodes d'encodage personnalisées.

• La plate-forme de service Web prend en charge la sérialisation XML tandis que, dans la WCF, la plate-forme de service prend en charge la sérialisation à l'exécution..

• Les services WCF peuvent être multi-threadés via la classe Service Behavior, tandis que les services Web ne peuvent pas être multi-threadés..

• Les services WCF prennent en charge différents types de liaisons, telles que BasicHttpBinding, WSHttpBinding, WSDualHttpBinding, tandis que les services Web utilisent uniquement SOAP ou XML à cette fin..

• Les services Web sont compilés dans un assemblage de bibliothèque de classes. Un fichier appelé "le fichier de service" est fourni. Il porte l'extension .asmx et contient la directive @ WebService qui identifie la classe contenant le code du service et l'assembly dans lequel elle se trouve dans WCF..