En este pequeño artículo hacemos una pequeña comparación entre WCF (Windows Communication Foundation) y .NET Web Services para el desarrollo de aplicaciones orientadas a servicios.

Definiciones

  • WCF es un framework para el desarrollo de aplicaciones orientadas a servicios (SOA).Es decir, al igual que con los servicios web nos proporciona una mecanismo para el envío y recepción de datos.
  • WCF nos proporciona una infraestructura para la comunicación entre diversas plataformas. Éstas pueden implementar diversos protocolos (como webservices, servicios SOAP), formatos (texto, binario, MTOM) y tipos de transporte (MSMQ, http, etc)

 

Diferencias

  • Los Servicios web solo pueden ser invocados via HTTP , mientras que los componentes WCF pueden ser invocados por cualquier protocolo y y para cualquier tipo de transporte.
  • WCF es más flexible.  Con la API de programacion que proporciona podemos crear el servicio y la configuración que queramos para el mecanismo de comunicación que usemos como http, tcp, msmq, etc.
  • Interoperabilidad: Mientras que con .NET Remoting el cliente y el servidor deben ser .NET
  • Los servicios web no proporcionan un mecanismo para la gestión de instancias

 

Ventajas de WCF

Partiendo de la base que .NET Remoting es una tecnología algo “deprecated” (prácticamente no ha sufrido ninguna mejora sustancia desde la versión 1.1 de .NET)

  1. WCF ofrece comunicación con multiples plataformas
  2. WCF proporciona una un mecanismo de Logging que te ayuda a logear tus trazas
  3. Mecanismos de seguridad (como por ej. WSHTTPbinding)
  4. Integracion con JSON
  5. Proporciona un mecanismo para la gestión de instancias.
  6. WCF utiliza como serializalizador DataContractSerializer que proporicona una mejor rendimiento que su equitativo en Web Services XmlSerializer