web-dev-qa-db-fra.com

différence entre les services WCF et les services Web et REST Un service

Quelle est la différence entre les services WCF et les services Web dans .net
Quand dois-je utiliser WCF et quand utiliser Services Web? Le service REST et WCF sont-ils identiques? Merci

26
Waheed Khan

Service Web est un terme abstrait englobant une grande variété de fournisseurs de données pour les systèmes distribués. Peut-être faites-vous référence aux services Web ASMX, qui peuvent encore être trouvés à l’état sauvage, mais ne sont pas vraiment utilisés dans les nouveaux développements de nos jours.

Service WCF est l'implémentation de SOAP par Microsoft. Il existe d'autres implémentations ou vous pouvez lancer la vôtre (non recommandé).

SOAPest une sorte de service Web basé sur la session et les messages. C'est bien si votre service est conçu comme un ensemble d'actions complexes.

RESTEest un service Web sans ressources et sans session. C’est bien si votre service est conçu pour accéder aux données et effectuer des opérations CRUD simples. SOAP et REST s'excluent mutuellement. Un service ne peut pas être les deux. Il existe des moyens de manipuler Vanilla WCF pour rendre RESTful, mais ces techniques deviennent obsolètes. Si vous souhaitez implémenter un service Web RESTful, Microsoft dispose de deux choix principaux: WCF Data Services et API Web ASP.NET.

26
Raymond Saltrelli

RESTE est une architecture 

WCF est une API de .NET Framework permettant de créer une application orientée service connectée.

Autrefois, une fonctionnalité développée en tant que service Web était accessible via Internet et la même fonctionnalité disponible sur le réseau local était disponible via Remoting.

En utilisant WCF, nous n'avons pas besoin de développer un code différent pour qu'il soit accessible sur Internet et sur un réseau local. Il suffit de le configurer avec des liaisons.

9
Rajesh

C'est une question très large ... Je vais juste donner une réponse brève de haut niveau et vous suggérer de faire des recherches plus approfondies car il y a déjà beaucoup d'écrits sur chaque sujet. Mais, espérons-le, cela devrait vous donner un coup de pouce dans la bonne direction.

Tout d'abord, lorsque les utilisateurs font référence aux services et services Web WCF, ils font référence aux conventions WCF les plus récentes qui rendent les appels de service assez génériques (ils peuvent être SOAP, REST, etc.) et à l'ancienne méthode .asmx SOAP de Web. Prestations de service. Dans cet esprit, je suggérerais donc de se pencher davantage sur WCF et SOAP/.ASMX pour se démarquer de la différence entre WCF et les services Web plus anciens. 

En ce qui concerne WCF et REST, ils ne sont pas identiques. REST est davantage une architecture, tandis que WCF est un framework. Comme je l'ai déjà mentionné, WCF peut être utilisé pour effectuer des appels SOAP ou REST. Je ne suis pas sûr de pouvoir ajouter beaucoup plus sans entrer dans les détails. 

Je verrai si je peux trouver quelques bons articles sur REST et la WCF un peu plus tard, cependant. Personnellement, je ne vois aucune raison de poursuivre même très loin dans l’ancienne méthode d’appel aux services Web (pages .ASMX), car WCF a pratiquement rendu cela obsolète. Cependant, il est utile d’apprendre de nombreuses manières différentes de peler un chat afin de trouver ce qui vous convient le mieux. 

Encore une fois, il s’agit d’un niveau TRÈS élevé, mais il s’agit de sujets très généraux qui traitent beaucoup de sujets différents. Nous espérons donc qu’un aperçu de haut niveau vous aidera à mieux comprendre chaque sujet.

4
Justin Pihony

Certaines personnes veulent dire "ASMX" quand elles disent "services Web". 

D'autres utilisent simplement "Services Web" pour désigner la technologie générique et considèrent WCF comme le moyen actuel de créer des services Web sur la plateforme .NET. Les autres types sont "Services Web ASMX", par opposition aux "Services Web WCF". 

Les "autres types" sont une technologie existante, prise en charge uniquement pour des raisons de compatibilité ascendante. Ils ne doivent pas être utilisés pour de nouveaux développements, il est donc inutile d’apprendre à leur sujet.

Comme d'autres l'ont déjà dit, "REST" est un style d'architecture et non une technologie.

3
John Saunders

Wcf : wcf est une technologie faisant partie du framework .net qui fournit un environnement permettant de travailler avec différentes technologies distribuées en suivant le modèle de programmation unifié . Wcf crée un proxy . Wcf supporte le sérialiseur de contrat de données . enregistrements affichés au format XML.

** Reste: ** Reste est un style architectural.qui dit d'utiliser les fonctionnalités existantes du Web de manière plus efficace, plus efficiente et plus simple. Les verbes comme insérer, mettre à jour et supprimer . Reste ne peut pas créer de proxy . enregistrements de repos montrés au format jason.

Service Web : un service hébergé sur un site Web est appelé Webservice . Support de service Web xmlserializer

1
sreenu

WCF a de multiples facettes, je vais donc en parler en ce qui concerne son utilisation la plus courante. La différence générale entre les services WCF et REST est centrée sur le contenu. Un appel REST est généralement davantage centré sur le message, le document ou l’entité (avec les entités clientes, recherchez celles commençant par M; avec les entités commandées, obtenez la commande 12 et est lié au protocole HTTP. Appelez l'opération de recherche avec les paramètres, appelez l'opération de récupération avec les paramètres). WCF n'est pas non plus lié à HTTP. 

Pour votre information, il existe des extensions permettant de créer des services REST à l'aide de WCF (attributs WebInvoke, WebGet).

1
Rich

Je vois que c'est un fil assez ancien, mais j'ai récemment posé une question similaire.

Les réponses données ont toutes la même pertinence, mais à mon avis, Ray était le plus proche de ce qui avait été réellement demandé. Lors de la conception ou de la refactorisation d’une solution Web, vous obtenez toujours la question si nous devons utiliser SOAP ou REST . La réponse réside dans la complexité de la logique métier nécessaire au service. REST convient aux appels API simplistes contenant généralement de petits ensembles de données demandées ou au traitement nocturne des grands ensembles, mais principalement aux demandes de données. SOAP est davantage un service quotidien interactif avec une logique métier. Par exemple beaucoup de méthodes avec beaucoup de paramètres.

Dans le cadre de notre solution Web, nous essayons de tirer parti des deux. Nous utilisons SOAP pour les méthodes internes et les fonctionnalités principales, mais pour les API exposées, nous préférons REST . Framework, définitivement WCF comme choix préféré, que ce soit SOAP ou REST.

0
Nico Dreyer