WCF frente a servicio web
Los servicios web y Windows Communication Foundations (WCF) son dos métodos mediante los cuales las aplicaciones se comunican a través de una red.
Más sobre servicios web
Los servicios web son componentes de las aplicaciones, a los que se puede acceder mediante protocolos abiertos como SOAP (Protocolo simple de acceso a objetos), que es un lenguaje basado en XML desarrollado por el W3C, para codificar y transmitir datos. SOAP usa XML para las descripciones de datos y HTTP para la transferencia de datos. Las principales ventajas que ofrecen estos protocolos abiertos son la interoperabilidad de los servicios a pesar de las diferencias en las plataformas y los lenguajes de programación utilizados. Los servicios web utilizan (WSDL) Lenguaje de descripción de servicios web) para describir los servicios y UDDI (Descripción universal, descubrimiento e integración) para enumerar los servicios disponibles. Los servicios web no necesitan un navegador web o HTML para funcionar, y pueden o no contener una GUI según lo define la aplicación. Los servicios web se pueden implementar con ASP. NET.
Más información sobre Windows Communication Foundation (WCF)
Windows Communication Foundation se introdujo para reemplazar las plataformas de servicios web anteriores y utiliza una arquitectura orientada a servicios en la creación de aplicaciones. La interoperabilidad y múltiples patrones de mensajes, metadatos de servicio, contratos de datos y múltiples codificaciones de transporte son características de WCF. Las funciones de mensajes duraderos, AJAX y REST, y transacciones seguras agregan más versatilidad a la plataforma que los servicios web anteriores.
¿Cuál es la diferencia entre los servicios web y WCF?
• Los servicios web se pueden alojar en IIS (Servicio de información de Internet) o fuera de IIS, mientras que WCF se puede alojar en IIS, WAS (Servicio de activación de Windows). Los servicios WCF generalmente se pueden hospedar en IIS 5.1 o 6.0, el Servicio de activación de procesos de Windows (WAS) que se proporciona como parte de IIS versión 7.0 y dentro de cualquier aplicación. NET. Para alojar un servicio web en IIS versión 5.1 o 6.0, es imprescindible que los servicios web utilicen HTTP como protocolo de transporte de comunicaciones.
• En la plataforma de servicios web, el atributo de servicio web se agregará a la parte superior de la clase, mientras que en WCF habrá un atributo de contrato de servicio. De manera similar, el atributo del método web se agrega sobre el método del servicio web mientras que, en WCF, el contrato de operación del servicio se agregará sobre el método principal.
• Los servicios web usan XML 1.0, MTOM (Mecanismo de optimización de transmisión de mensajes) y codificaciones DIME, mientras que WCF usa XML 1.0, MTOM y codificaciones binarias. Ambas plataformas admiten métodos de codificación personalizados.
• La plataforma de servicios web admite la serialización XML mientras que, en WCF, la plataforma de servicios admite la serialización en tiempo de ejecución.
• Los servicios WCF se pueden subprocesos múltiples a través de la clase de comportamiento del servicio, mientras que los servicios web no se pueden subprocesos múltiples.
• Los servicios WCF admiten diferentes tipos de enlaces, como BasicHttpBinding, WSHttpBinding, WSDualHttpBinding, mientras que los servicios web solo usan SOAP o XML para este fin.
• Los servicios web se compilan en un ensamblaje de biblioteca de clases. Se proporciona un archivo llamado "archivo de servicio" que tiene la extensión.asmx y contiene la directiva @WebService que identifica la clase que contiene el código para el servicio y el ensamblado en el que se encuentra en WCF.