Servicios web vs WCF
Tanto los servicios web como WCF son tecnologías web desarrolladas por Microsoft. Los servicios web se introdujeron en versiones anteriores de .NET, mientras que WCF se agregó a .NET framework en versiones posteriores. Los servicios web se utilizan para crear aplicaciones que pueden enviar / recibir mensajes utilizando SOAP a través de HTTP. WCF es para crear aplicaciones distribuidas para intercambiar mensajes utilizando SOAP sobre cualquier protocolo de transporte.
Servicios web
Un servicio web (a veces conocido como tecnología ASMX en .NET) es un método de comunicación a través de la red. De acuerdo con W3C, un servicio web es un sistema dedicado para soportar transacciones de máquina a máquina a través de una red. Es una API web descrita en WSDL (Lenguaje de descripción de servicios web) y los servicios web suelen ser autocontenidos y autodescriptivos. Los servicios web se pueden descubrir mediante el protocolo UDDI (Descripción Universal, Descubrimiento e Integración). Al intercambiar mensajes SOAP (Protocolo de acceso a objetos simples) generalmente a través de HTTP (con XML), otros sistemas pueden interactuar con los servicios web. Los servicios web se utilizan de varias maneras, como RPC (llamadas a procedimientos remotos), SOA (arquitectura orientada a servicios) y REST (transferencia de estado representativa). Existen dos metodologías de diseño automatizado para el desarrollo de servicios web. El enfoque de abajo hacia arriba trata primero creando las clases y luego utilizando las herramientas de generación WSDL para componer estas clases como servicios web. El enfoque de arriba hacia abajo trata de definir las especificaciones WSDL y luego usar las herramientas de generación de código para generar las clases correspondientes. Los servicios web tienen dos usos principales. Se pueden usar como componentes de aplicaciones reutilizables y / o para conectar aplicaciones web que se ejecutan en diferentes plataformas..
WCF
WCF (Windows Communication Foundation) es una API .NET (Interfaz de programación de aplicaciones), que proporciona un modelo de programación unificado para desarrollar aplicaciones conectadas y orientadas a servicios. Más específicamente, se utiliza para desarrollar e implementar aplicaciones distribuidas con SOA. SOA se ocupa de la computación distribuida en la que los consumidores consumen servicios. Múltiples consumidores pueden consumir un solo servicio y viceversa. WCF es compatible con estándares de servicios web avanzados como WS-Addressing, WS-ReliableMessaging, WS-Security y RSS syndication (disponible después de .NET 4.0). Un cliente de WCF utiliza un punto final para conectarse a un servicio de WCF. Cada servicio puede tener múltiples puntos finales exponiendo su contrato. El término ABC se usa para referirse a la Dirección / Encuadernación / Contrato del servicio WCF. La comunicación entre clientes y servicios se realiza a través de sobres SOAP..
¿Cuál es la diferencia entre los servicios web y WCF??
Existen algunas diferencias clave entre los servicios web y los servicios WCF. Los servicios web se utilizan para crear aplicaciones que pueden enviar / recibir mensajes utilizando SOPA a través de HTTP. Sin embargo, WCF es para crear aplicaciones distribuidas para intercambiar mensajes utilizando SOAP y cualquier protocolo de transporte como HTTP, TCP, canalizaciones con nombre, Microsoft Message Queuing (MSMQ), etc. Además, WCF puede ampliarse para funcionar con cualquier otro protocolo de transporte. Aunque los servicios web son muy simples y fáciles de implementar, WCF es arquitectónicamente más robusto que el servicio web. Los servicios web solo se pueden alojar en IIS y la seguridad es limitada. Sin embargo, WCF se puede alojar en IIS, servidores autosuficientes con aplicaciones de consola o servicios de Win NT o cualquier otro servidor. Además, a diferencia de los servicios web, WCF soporta comunicaciones binarias .NET - .NET, transacciones distribuidas, especificaciones WS- *, mensajes en cola y comunicaciones Restful.