Diferencia entre WCF y servicio web

WCF (Windows Communication Foundation): WCF, como sugiere el nombre, es un marco .NET unificado que se utiliza para desarrollar aplicaciones orientadas a servicios. Le permite desarrollar aplicaciones que pueden comunicarse utilizando diferentes mecanismos de comunicación. Se funda para otras tecnologías distribuidas de Microsoft y se considera el futuro de la computación distribuida. Debido a su flexibilidad, facilita mucho el desarrollo de puntos finales. Es compatible con varios lenguajes de programación y plataformas. Está basado en SOAP y devuelve datos en formato XML. Se puede alojar en diferentes escenarios, y dichos escenarios incluyen varios servicios como WAS, IIS, Managed Windows, etc. El siguiente código se usará para crear un servicio en WCF:  

[ServiceContract]  
public interface ITest  
{    
 [OperationContract]    
 string ShowMessage(string strMsg);  
}  
public class Service: ITest  
{    
 public string ShowMessage(string strMsg)    

Servicio web: el servicio web, como su nombre indica, es una aplicación cliente-servidor que permite la comunicación entre las aplicaciones cliente y servidor. Es básicamente un módulo de software especialmente diseñado para ejecutar un determinado conjunto de tareas. Este servicio se utiliza especialmente para independizar las plataformas de aplicaciones y la tecnología. Hay dos tipos de servicios web que incluyen los servicios web SOAP y los servicios web RESTful. El siguiente código se usará para construir un servicio en el servicio web: 

[WebService]  
public class Service: System.Web.Services.WebService  
{  
 [WebMethod]  
 public string Test(string strMsg)    
    {    return strMsg; 
    }  
}  

WCF frente a servicio web  

WCF  

Servicio web 

Se utiliza para enviar mensajes asíncronos de datos de un extremo de servicio a otro.   Se utiliza para el intercambio de datos entre aplicaciones o sistemas.  
Los protocolos utilizados en este canal incluyen HTTP, TCP, MSMQ, denominados Pipers. Los protocolos utilizados en el canal incluyen HTTP y JMS.  
Está diseñado para ofrecer un enfoque manejable para la creación de servicios web y clientes de servicios web.   Está diseñado para realizar o ejecutar un determinado conjunto de tareas. 
Proporciona un entorno de tiempo de ejecución para el servicio que le permite exponer los tipos de CLR como servicios y usar otros servicios como tipos de CLR.  Orientado a servicios le permite exponer la funcionalidad del código existente a través de la red para que otras aplicaciones puedan consumir la funcionalidad de su programa.  
Sus características incluyen mensajes orientados a servicios, confiables y en cola, múltiples transportes y codificación que admite múltiples patrones de mensajes, interoperabilidad, etc.   Sus características incluyen acoplamiento débil, admite intercambio de documentos, admite RCF (llamadas a procedimiento remoto), capacidad de ser síncrono o asíncrono, independiente del idioma e interoperable, etc.  
Es más flexible ya que este servicio se puede alojar en diferentes tipos de aplicaciones.   Es menos flexible ya que solo se puede acceder a través de HTTP.  
Dicho servicio se puede alojar en los servicios de IIS, WAS y Windows.   Dicho servicio solo se puede alojar en el servidor IIS.  
Utiliza DataContractSerializer.   Utiliza XmlSerializer.  
Su extensión es “.svc”.   Su extensión es “.asmx”. 
Es más confiable, rápido y robusto en comparación con los servicios web y, por lo tanto, se considera bueno para desarrollar aplicaciones en tiempo real.   No es confiable y lento en comparación con WCF.  
Admite operaciones dúplex y subprocesos múltiples.   No admite operaciones dúplex ni subprocesos múltiples.  
También admite seguridad robusta, mensajería confiable, transacciones. Solo admite servicios de seguridad.  

Publicación traducida automáticamente

Artículo escrito por madhurihammad y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *