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