Diferença entre serviços da Web e WCF

Serviços da Web vs WCF

Serviços da Web e WCF são tecnologias da Web desenvolvidas pela Microsoft. Os Serviços Web foram introduzidos em versões anteriores do .NET, enquanto o WCF foi adicionado ao .NET Framework em versões posteriores. Os serviços da Web são usados ​​para criar aplicativos que podem enviar / receber mensagens usando SOAP sobre HTTP. O WCF é para criar aplicativos distribuídos para trocar mensagens usando SOAP sobre qualquer protocolo de transporte.

Serviços web

Um serviço da Web (às vezes conhecido como tecnologia ASMX no .NET) é um método de comunicação pela rede. De acordo com o W3C, um serviço da Web é um sistema dedicado ao suporte de transações máquina a máquina através de uma rede. É uma API da Web descrita em WSDL (Web Service Description Language) e os serviços da Web são geralmente independentes e autoexplicativos. Os serviços da Web podem ser descobertos usando o protocolo UDDI (Universal Description, Discovery and Integration). Ao trocar mensagens SOAP (Simple Object Access Protocol), geralmente por HTTP (com XML), outros sistemas podem interagir com os serviços da Web. Os serviços da Web são usados ​​de várias maneiras, como RPC (Remote Procedure Calls), SOA (Service Oriented Architecture) e REST (Representational State Transfer). Existem duas metodologias de design automatizadas para o desenvolvimento de serviços da Web. A abordagem de baixo para cima lida com a criação das classes e o uso de ferramentas de geração WSDL para compor essas classes como serviços da Web. A abordagem descendente trata da definição das especificações WSDL e do uso de ferramentas de geração de código para gerar as classes correspondentes. Os serviços da Web têm dois usos principais. Eles podem ser usados ​​como componentes de aplicativos reutilizáveis ​​e / ou para conectar aplicativos da Web em execução em diferentes plataformas.

WCF

O WCF (Windows Communication Foundation) é uma API do .NET (Application Programming Interface), que fornece um modelo de programação unificado para o desenvolvimento de aplicativos conectados e orientados a serviços. Mais especificamente, é usado para desenvolver e implantar aplicativos distribuídos com SOA. SOA lida com a computação distribuída na qual os consumidores consomem serviços. Vários consumidores podem consumir um único serviço e vice-versa. O WCF suporta padrões avançados de serviço da web, como WS-Addressing, WS-ReliableMessaging, WS-Security e organização de RSS (disponível após o .NET 4.0). Um cliente WCF usa um ponto final para conectar-se a um serviço WCF. Cada serviço pode ter vários pontos de extremidade expondo seu contrato. O termo ABC é usado para se referir ao serviço Endereço / Vinculação / Contrato do WCF. A comunicação entre clientes e serviços é realizada através de envelopes SOAP.

Qual é a diferença entre Web Services e WCF?

Existem algumas diferenças importantes entre os serviços da Web e os serviços WCF. Os serviços da Web são usados ​​para criar aplicativos que podem enviar / receber mensagens usando SOPA sobre HTTP. No entanto, o WCF destina-se à criação de aplicativos distribuídos para troca de mensagens usando SOAP e qualquer protocolo de transporte como HTTP, TCP, pipes nomeados e Microsoft Message Queuing (MSMQ), etc. Além disso, o WCF pode ser estendido para funcionar com qualquer outro protocolo de transporte. Embora os serviços da Web sejam muito simples e fáceis de implementar, o WCF é arquitetonicamente mais robusto que o serviço da Web. Os serviços da Web podem ser hospedados apenas no IIS e a segurança é limitada. Mas o WCF pode ser hospedado no IIS, servidores auto-host com aplicativos de console ou serviços Win NT ou qualquer outro servidor. Além disso, diferentemente dos serviços da Web, o WCF suporta comunicações binárias .NET - .NET, transações distribuídas, especificações WS- *, mensagens em fila e comunicações Restful.