2012-04-27 16 views
16

¿Cuáles son los pros y los contras de utilizar un servicio de descanso frente a un servicio wcf?Pros y contras Wcf y descanso

Me pregunto qué tipo de usar y me interesó encontrar algún tipo de comparación.

+0

¿Quisiste decir rest versus soap? – MilkyWayJoe

+1

posible duplicado de [REST y SOAP] (http://stackoverflow.com/questions/209905/rest-and-soap) –

+1

Para aquellos que llegaron a esta pregunta en 2014: http: //www.dotnet-tricks. com/Tutorial/webapi/JI2X050413-Diferencia entre WCF-and-Web-API-and-WCF-REST-and-Web-Service.html – Abhijeet

Respuesta

25

El descanso es una forma de comunicarse por Internet. Es un proceso muy básico de selección de direcciones para servir como ubicaciones de métodos y devolver datos estándar de HTML (javascript, css, html, por supuesto).

WCF es una biblioteca .net utilizada para que dos programas se comuniquen entre sí mediante SOAP. Que consiste en dos programas muy familiares que intercambian información de clase.

Viendo que el descanso es un proceso, y WCF es una biblioteca de clases, una mejor pregunta podría ser "Descanso frente al jabón".

La conclusión es que, si necesita dos aplicaciones para hablar, es posible que desee utilizar WCF. Incluso si las aplicaciones no están escritas en .net. Sin embargo, si necesita información a la que pueda acceder la tecnología web (normalmente, el acceso a JavaScript se realiza de esta manera), querrá utilizar Rest.

Solo una nota rápida, WCF también descansa bien, así que realmente no puedes equivocarte allí.

+2

Realmente no me gusta el primer párrafo aquí. Puede devolver cualquier recurso arbitrario que pueda contener código js, ​​html o css. –

9

Usted está haciendo una pregunta acerca de las manzanas y las naranjas. REST es un patrón utilizado en la creación de servicios web. No soy un experto en eso, pero puedes encontrar muchos detalles en Wikipedia. WCF es una tecnología de Microsoft para la creación de servicios web (principalmente utilizando SOAP, aunque es tan configurable que puede hacer REST en él también - vea ASP.Net WebAPI).

Pros: WCF para

  1. muy configurable - Si puedes imaginarlo, WCF, probablemente pueda hacerlo.
  2. Fácil de usar si te apegas a la pila de Microsoft. Visual Studio realiza el 90% del trabajo por usted.

Contras: WCF para

  1. muy configurable - Puede ser un poco de dolor para conseguir que haga exactamente lo que quieres a veces, sobre todo si eres nuevo en él.
  2. Puede haber algunos problemas de comunicación entre diferentes pilas de tecnología. He oído que los servicios Java se encrespan y mueren cuando se apunta a un servicio WCF. Por lo que he escuchado, este es un problema con las bibliotecas de Java, no con WCF, pero quién sabe con certeza.

Eso es todo lo que viene a la mente en este momento, pero espero que eso le dé una buena impresión en WCF.

+1

También antes de ASP.Net WebAPI puede crear un servicio de descanso WCF con little config ... busca System.ServiceModel.Activation.WebServiceHostFactory. –

+0

ASP.NET Web API ya no usa WCF. –

4

Si está absolutamente seguro de que HTTP es el protocolo que desea utilizar y desea incluirlo como un protocolo de "Aplicación", no solo un protocolo de "Transporte", sino algo así como ASP.NET Web API.

Si crea un servicio para sus servidores en su centro de datos para hablar entre ellos, entonces considere seriamente WCF.

Si hacer REST es una pregunta completamente diferente. ¿Durará este servicio por muchos años? ¿Tendrá muchos clientes diferentes? ¿Algunos de esos clientes estarán fuera de tu control? Si respondió que sí, entonces valdría la pena investigar qué beneficios pueden traer las restricciones REST.