Diferença entre WCF e serviço da Web

Serviço Web vs WCF

Os serviços da Web e o Windows Communication Foundations (WCF) são dois métodos que os aplicativos se comunicam em uma rede.

Mais sobre serviços da Web

Os serviços da Web são componentes de aplicativos, que podem ser acessados ​​usando protocolos abertos, como SOAP (Simple Object Access Protocol), uma linguagem baseada em XML desenvolvida pelo W3C, para codificar e transmitir dados. O SOAP usa XML para descrições de dados e HTTP para transferência de dados. As principais vantagens oferecidas por esses protocolos abertos são a interoperabilidade dos serviços, apesar das diferenças nas plataformas e nas linguagens de programação utilizadas. Os serviços da Web usam a linguagem de descrição de serviços da Web (WSDL) para descrever os serviços e o UDDI (Descrição Universal, Descoberta e Integração) para listar os serviços disponíveis. Os serviços da Web não precisam de um navegador da Web ou HTML para operar e podem ou não conter uma GUI, conforme definido pelo aplicativo. Serviços da Web podem ser implementados com o ASP.NET.

Mais sobre o Windows Communication Foundation (WCF)

O Windows Communication Foundation foi introduzido para substituir as plataformas de serviços web anteriores e usa a arquitetura orientada a serviços na criação de aplicativos. Interoperabilidade e vários padrões de mensagens, metadados de serviço, contratos de dados e várias codificações de transporte são recursos do WCF. Mensagens duráveis, recursos AJAX e REST e transações seguras adicionam mais versatilidade à plataforma do que os serviços Web anteriores.

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

• Os serviços da Web podem ser hospedados no IIS (Serviço de Informações da Internet) ou fora do IIS, enquanto o WCF pode ser hospedado no IIS, WAS (Serviço de Ativação do Windows). Os serviços WCF geralmente podem ser hospedados no IIS 5.1 ou 6.0, o Windows Process Activation Service (WAS) fornecido como parte do IIS versão 7.0 e em qualquer aplicativo .NET. Para hospedar um serviço da Web no IIS versão 5.1 ou 6.0, é necessário que os serviços da Web usem HTTP como o protocolo de transporte de comunicações.

• Na plataforma de serviços da Web, o atributo de serviço da Web será adicionado à parte superior da classe enquanto, no WCF, haverá um atributo de contrato de serviço. Da mesma forma, o atributo Método da Web é adicionado no topo do método do serviço da Web, enquanto, no WCF, o Contrato de Operação do Serviço será adicionado no método superior.

• Os serviços da Web usam codificações XML 1.0, MTOM (Mecanismo de Otimização de Transmissão de Mensagens) e DIME, enquanto o WCF usa codificações XML 1.0, MTOM e Binário. Ambas as plataformas suportam métodos de codificação personalizados.

• A plataforma de serviço da web suporta serialização XML, enquanto, no WCF, a plataforma de serviço suporta serialização em tempo de execução.

• Os serviços WCF podem ser multithread através da classe Service Behavior, enquanto os serviços web não podem ser multithread..

• Os serviços WCF oferecem suporte a diferentes tipos de ligações, como BasicHttpBinding, WSHttpBinding, WSDualHttpBinding, enquanto os serviços da Web usam apenas SOAP ou XML para essa finalidade..

Os serviços da Web são compilados em um assembly de biblioteca de classes. É fornecido um arquivo chamado 'o arquivo de serviço' que possui a extensão .asmx e contém a diretiva @ WebService que identifica a classe que contém o código do serviço e o assembly no qual está localizado no WCF.