Close Menu
Código Simples .NETCódigo Simples .NET
    Facebook X (Twitter) Instagram
    Trending
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    • Por que escalar escrita é tão mais difícil do que escalar leitura?
    • MongoDB Analyzer para .NET: Visualize e otimize suas consultas de forma simples
    • Cardinalidade: O Conceito que Transforma o Desempenho de Bancos de Dados SQL e NoSQL
    Facebook X (Twitter) Instagram
    Código Simples .NETCódigo Simples .NET
    Código Simples .NETCódigo Simples .NET
    Home»Asp.net»Differenças entre WCF, WCF REST, Web API e Web Service

    Differenças entre WCF, WCF REST, Web API e Web Service

    Jhonathan SoaresBy Jhonathan Soares25 de fevereiro de 20163 Mins Read Asp.net
    Share
    Facebook Twitter LinkedIn WhatsApp Copy Link

    O framework .Net tem uma série de tecnologias que permitem a criação de serviços HTTP, tais como Web Service, WCF e não tão recente assim WebApi. Há uma série de artigos sobre a internet sobre tutoriais de como usá-los de maneira bem simples. Mas imagine um cenário onde você tem monte de opções para construir serviços HTTP no .NET framework, o que levaria utilizar uma estrutura ou outra?. Neste artigo, eu gostaria de compartilhar minha opinião sobre estes modelos.

    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:
    • 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.
    • 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).
    • Escolha Web API quando você quer criar um serviço sobre protocolo HTTP como Post , Get ou Put.
    • 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.

    Um abraço!

    Não deixem de dar uma passada na nossa página do Facebook! 🙂

     

    Share. Facebook Twitter LinkedIn Telegram WhatsApp Copy Link
    Jhonathan Soares
    • Website
    • Facebook
    • X (Twitter)
    • LinkedIn

    Criador do blog Código Simples e com mais 15 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist.

    Posts Relacionados

    O que é a Ecma e qual é sua relação com C#?

    C# Post do Leitor 29 de julho de 20247 Mins Read

    Boas práticas de criação, armazenamento e validação de senhas em .NET

    Asp.net Boas práticas 9 de julho de 20248 Mins Read

    UUID vs ULID: comparação e exemplos em C#

    C# 19 de junho de 20245 Mins Read
    Newsletter

    Digite seu endereço de e-mail para receber notificações de novas publicações por e-mail.

    Junte-se a 25mil outros assinantes
    Posts recentes
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    Categorias
    • Arquitetura (14)
      • Testes (2)
    • Asp.net (120)
      • C# (89)
      • Mvc (13)
    • Banco de dados (90)
      • NoSql (58)
      • Sql (38)
    • Boas práticas (29)
      • Gestão & Produtividade (1)
      • Metodologias Ágeis (6)
    • Cursos (52)
    • Dicas (105)
    • Front-End (92)
    • IA (1)
    • Linux (6)
    • NodeJS (4)
    • Post do Leitor (9)
    • Python (5)
    • Seo (12)
    • Tecnologia (30)
      • ITIL (1)
      • Padrões de Projeto (4)
    • Testes (2)

    VEJA TAMBÉM

    Cursos
    12 de fevereiro de 20166 Mins Read

    1000 livros gratuitos sobre programação!

    Olha que dica bacana! A pagina só com livros sobre programação é mantida no GitHub…

    30 APIs Gratuitas para desenvolvedores

    Facebook X (Twitter) Instagram LinkedIn

    Type above and press Enter to search. Press Esc to cancel.

    Vá para versão mobile