Estudando um pouco sobre serviços encontrei um POST interessante sobre a diferença de WCF, Webervice e WebApi, entendo que muita gente tem duvidas quanto a esse assunto, então estou replicando a informação

Web Service

  • É baseado em SOAP e retorna os dados por padrão em XML.
  • Ele suporta apenas o protocolo HTTP.
  • Não é open source, mas pode ser consumido por qualquer cliente que entende xml.
  • Pode ser hospedado apenas no IIS.
  • Possui bastante documentação e possui fácil integração com outros frameworks baseados em .Net

WCF

  • Ele também é baseado em SOAP e retorna os dados no padrão XML.
  • É a evolução do serviço web (ASMX) e suporta vários protocolos como o TCP, HTTP, HTTPS, Pipes , MSMQ.
  • O principal problema com WCF é, a sua configuração tediosa e extensa.
  • Não é open source, mas pode ser consumido por qualquer cliente que entende xml.
  • Ele pode ser hospedado no IIS ou usando window service.

WCF Rest

  • Para usar WCF como um serviço WCF Rest basta você habilitar o webHttpBinding.
  • Ele suporta HTTP GET e POST por atributos [WebGet] e [WebInvoke] respectivamente.
  • Para permitir que outros verbos HTTP você tem que fazer configurações adicionais no IIS, o que pode ser um pouco custoso.
  • Passando dados através de parâmetros usando um WebGet o UriTemplate deve ser especificado e configurado.
  • Ele suporta XML, JSON e formato de dados ATOM.

Web Api

  • Este é o mais novo framework para a construção de serviços HTTP e possui uma proposta de ser mais simples e fácil de utilizar.
  • Web API é open source e projetada para a construção de serviços REST-Ful com o .NET Framework.
  • Ao contrário do serviço WCF Rest, ele usa os recursos do HTTP (como URIs, pedido / resposta cabeçalhos, o cache, controle de versão, vários formatos de conteúdo)
  • Ele também suporta os recursos MVC como routing, controllers, action results, filter, model binders, IOC container e também dependency injection,
  • Ele pode ser hospedado como aplicação ou no IIS.
  • É uma arquitetura considerada “leve” e boa para dispositivos que a largura de banda é limitada, como dispositivos móveis por exemplo.
  • As respostas são formatadas pelo MediaTypeFormatter em JSON, XML ou qualquer formato que você deseja adicionar como um MediaTypeFormatter.

Considerações finais:

  1. Escolha WCF quando você quer criar um serviço que deve suportar cenários especiais, tais como mensageria, filas de mensagens, comunicação duplex etc.
  2. Escolha WCF quando você quer criar um serviço que pode usar canais de transporte rápidas quando disponíveis, tais como TCP, Pipes, ou talvez mesmo UDP (em WCF 4.5).
  3. Escolha Web API quando você quer criar um serviço sobre protocolo HTTP como Post , Get ou Put.
  4. Escolha Web API quando você deseja expor seu serviço para uma ampla gama de clientes, incluindo navegadores, celulares, iphone e tablets.

Esta é a minha opinião sobre qual serviço escolher. Avalie bem o seu cenário, seus recursos e tempo disponível para criação de cada projeto.

Fonte: https://rodrigodotnet.wordpress.com/2017/05/02/qual-a-diferencas-entre-wcf-webservice-e-webapi/

Deixe uma resposta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Post Navigation