diferencia entre Servicios WCF y Servicios Web y Servicio REST


Cuál es la diferencia entre los Servicios WCF y los Servicios Web en. net
Cuándo debo usar WCF y cuándo usar Web Services.Is REST y servicio WCF lo mismo? Gracias

Author: Waheed Khan, 2012-02-29

7 answers

Servicio Web es un término abstracto que abarca una gran variedad de proveedores de datos para sistemas distribuidos. Tal vez se esté refiriendo a los servicios web ASMX, que todavía se pueden encontrar en la naturaleza, pero no son realmente ampliamente utilizados en nuevos desarrollos en estos días.

WCF Service es la implementación de Microsoft de SOAP. Hay otras implementaciones o podría rodar su propia (no se recomienda).

SOAP es una especie de estado, basado en sesiones, basado en mensajes servicio web. Es bueno si su servicio está diseñado como un conjunto de acciones complejas.

REST es un servicio web sin estado, sin sesión y basado en recursos. Es bueno si su servicio está diseñado para acceder a los datos y realizar operaciones CRUD simples en él. El JABÓN y el DESCANSO son mutuamente excluyentes. Un servicio no puede ser ambos. Hay formas de manipular vanilla WCF para hacer que sea RESTful, pero estas técnicas se están volviendo obsoletas. Si desea implementar un servicio web RESTful hay dos principales opciones en el mundo de Microsoft: WCF Data Services y ASP.NET Web API.

 26
Author: Ray Saltrelli,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-14 18:53:51

REST es una arquitectura

WCF es una API en.NET Framework para construir aplicaciones orientadas a servicios conectados.

En los viejos tiempos, una funcionalidad desarrollada como Servicio Web era accesible a través de Internet y la misma que estaba disponible en la red local estaba disponible a través de Remoting.

Usando WCF no necesitamos desarrollar código diferente para que sea accesible a través de Internet y en la red local. Solo configurarlo con enlaces sería suficiente.

 9
Author: Rajesh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-29 18:11:37

Esa es una pregunta muy amplia...Voy a dar una breve respuesta de alto nivel y sugerirle que haga un poco más de búsqueda, ya que ya hay mucho escrito sobre cada tema. Pero, con suerte esto debería darle un empujón en la dirección correcta.

En primer lugar, normalmente cuando las personas se refieren a Servicios WCF y Servicios Web, se refieren a las convenciones WCF más nuevas que hacen que las llamadas a servicios sean bastante genéricas (pueden ser SOAP, REST, etc.) y las antiguas .método asmx SOAP de Servicios Web. Por lo tanto, a lo largo de estas líneas, sugeriría buscar más en WCF y SOAP/.ASMX por la diferencia de WCF y servicios Web antiguos.

En cuanto a WCF y REST, no son lo mismo. REST es más una arquitectura, mientras que WCF es un framework. Como ya he mencionado, WCF se puede utilizar para hacer llamadas SOAP o llamadas REST. No estoy seguro de poder añadir mucho más sin entrar en mayores detalles.

Veré si puedo encontrar algunos buenos artículos sobre REST y WCF un poco más tarde, sin embargo. Personalmente, sí no veo una razón para incluso perseguir muy lejos en la forma más antigua de llamar a los servicios web (.ASMX pages) ya que WCF prácticamente lo ha hecho obsoleto. Sin embargo, aprender muchas maneras diferentes de pelar un gato puede ser útil en un esfuerzo por encontrar lo que mejor se adapte a ti.

Nuevamente, este es un nivel MUY alto, pero estos son temas muy generales con mucho alrededor de cada uno, por lo que esperamos que una visión general de alto nivel lo ayude a estudiar más a fondo cada tema.

 4
Author: Justin Pihony,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-29 17:41:27

Algunas personas se refieren a "ASMX" cuando dicen "Servicios web".

Otros simplemente usan "Servicios Web" para referirse a la tecnología genérica, y consideran que WCF es la forma actual de crear Servicios Web en la plataforma.NET. El otro tipo son "ASMX Web Services", a diferencia de "WCF Web Services".

El "otro tipo" es una tecnología heredada, soportada solo para compatibilidad con versiones anteriores. No deben usarse para nuevos desarrollos, por lo que no tiene sentido que aprendas sobre ellos.

Como otros han dicho, "REST" es un estilo de arquitectura, no una tecnología.

 3
Author: John Saunders,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-29 18:19:44

WCF es multifacético, así que voy a hablar de él con respecto a su uso más común. La diferencia general entre los servicios WCF y REST se centra en el contenido. Una llamada REST suele estar más centrada en el mensaje / documento / entidad (con las entidades de cliente, encuentra las que comienzan con M; con las entidades de orden, obtiene el orden 12 y está vinculada al protocolo HTTP. WCF tiende a estar más centrado en la operación (Invoke find operation with params, Invoke get operation with parameters). WCF tampoco está empatado a HTTP.

Para su información, hay extensiones para crear servicios basados en REST usando WCF (WebInvoke, atributos WebGet).

 1
Author: Rich,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-29 17:41:57

Wcf:wcf es una tecnología como parte de.net framework que proporciona un entorno para trabajar con diferentes tecnologías distribuidas siguiendo un modelo de programación unificado. wcf crea un proxy. wcf support data contract serializer. los registros se muestran en formato xml.

* * Rest: * * Rest es un estilo arquitectónico.que dice utilizar las características existentes de la web de una manera más eficaz,eficiente y sencilla.verbos como insertar, actualizar y eliminar. Rest no puede crear un proxy. registros rest mostrados formato jason.

Web Service:un servicio que está alojado en el sitio web se llama webservice. soporte de servicio web xmlserializer

 1
Author: sreenu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-06-21 10:04:21

Veo que este es un hilo bastante viejo, pero he hecho una pregunta similar recientemente.

Las respuestas dadas tienen una relevancia similar, pero en mi opinión Ray fue el más cercano a lo que realmente se preguntó. Al diseñar o refactorizar una solución basada en la web, siempre se obtiene la pregunta si debemos ir con SOAP o REST. La respuesta está en la complejidad de la lógica de negocio requerida detrás del servicio. REST es bueno para llamadas a API simplistas que generalmente contienen pequeños conjuntos de datos solicitados o procesamiento nocturno con conjuntos grandes, pero principalmente para solicitudes de datos. SOAP es más bien un servicio interactivo del día a día con lógica de negocios también. Por ejemplo muchos métodos con muchos parámetros.

Lo que hacemos como parte de nuestra solución basada en la web, es tratar de hacer uso de ambos. Para los métodos internos y las funcionalidades primarias usamos SOAP, pero para las API expuestas preferimos REST. Marco relacionado, definitivamente WCF como opción preferida, independientemente de si el JABÓN o EL DESCANSO.

 0
Author: Nico Dreyer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-27 09:23:30