web-dev-qa-db-fra.com

Reste vs Wcf pour et contre

Quels sont les avantages et les inconvénients de l'utilisation d'un service de repos par rapport à un service wcf?

Je me demande quel type utiliser et j'étais intéressé à trouver une sorte de comparaison.

25
zachary

Le repos est un moyen de communication via Internet. Il s'agit d'un processus très basique de sélection d'adresses pour servir d'emplacements de méthode et de retour de données standard HTML (javascript, css, html bien sûr).

WCF est une bibliothèque .net utilisée pour que deux programmes se parlent en utilisant SOAP. Qui consiste en deux programmes très familiers d'échange d'informations sur les classes.

Étant donné que Rest est un processus et WCF est une bibliothèque de classes, une meilleure question pourrait être "Rest vs Soap".

L'essentiel est, si vous avez besoin de deux applications pour parler, vous voudrez peut-être utiliser WCF. Même si les applications ne sont pas toutes les deux écrites en .net. Cependant, si vous avez besoin d'accéder à des informations par la technologie Web (l'accès javascript se fait généralement de cette façon), vous voudrez utiliser Rest.

Juste une petite note, cependant, WCF se repose bien aussi, donc vous ne pouvez vraiment pas vous tromper là-bas.

28
R Esmond

Vous posez une question sur les pommes et les oranges. REST est un modèle utilisé pour créer des services Web. Je ne suis pas un expert en la matière, mais vous pouvez trouver de nombreux détails sur Wikipedia . WCF est une technologie Microsoft pour créer des services Web (en utilisant principalement SOAP , bien qu'il soit si configurable que vous puissiez faire REST dessus aussi - voir - ASP.Net WebAPI ).

Avantages pour WCF:

  1. Très configurable - Si vous pouvez l'imaginer, WCF peut probablement le faire.
  2. Simple à utiliser si vous vous en tenez à la pile Microsoft. Visual Studio fait 90% du travail pour vous.

Inconvénients pour WCF:

  1. Très configurable - Il peut être un peu difficile de le faire faire exactement ce que vous voulez parfois, surtout si vous êtes nouveau.
  2. Il peut y avoir des problèmes de communication entre différentes piles technologiques. J'ai entendu parler des services Java recroquevillés et mourants lorsqu'ils pointent vers un service WCF. Pour autant que je sache, c'est un problème avec le Java = bibliothèques, pas WCF, mais qui sait avec certitude.

C'est tout ce qui me vient à l'esprit en ce moment, mais j'espère que cela vous donnera une impression décente sur WCF.

11
Eric Andres

Si vous êtes absolument sûr que HTTP est le protocole que vous souhaitez utiliser et que vous souhaitez l'adopter en tant que protocole "Application", pas seulement un protocole "Transport", quelque chose comme l'API Web ASP.NET.

Si vous créez un service pour que vos serveurs dans votre centre de données se parlent, envisagez sérieusement WCF.

Que faire REST est une question complètement différente. Ce service durera-t-il pendant de nombreuses années? Y aura-t-il de nombreux clients différents? Certains de ces clients seront-ils hors de votre contrôle? Si vous avez répondu oui, alors il peut être utile d'étudier les avantages que les contraintes REST peuvent apporter.

6
Darrel Miller