Existe alguma diferença entre uma API da web e um serviço da web ? Ou eles são o mesmo?
Existe alguma diferença entre uma API da web e um serviço da web ? Ou eles são o mesmo?
Respostas:
Um serviço da Web geralmente oferece um WSDL a partir do qual você pode criar stubs de clientes automaticamente. Os serviços da Web são baseados no protocolo SOAP . A API da Web do ASP.NET é uma estrutura Microsoft mais recente que ajuda a criar interfaces baseadas em REST . A resposta pode ser JSON ou XML, mas não há como gerar clientes automaticamente porque a API da Web não oferece uma descrição de serviço como o WSDL dos Serviços da Web. Portanto, depende de seus requisitos qual das técnicas você deseja usar. Talvez até o WCF atenda melhor aos seus requisitos, basta olhar para a documentação do MSDN.
A diferença básica entre serviços da Web e APIs da Web
Serviço de internet:
1) É um serviço baseado em SOAP e retorna dados como XML.
2) Ele suporta apenas o protocolo HTTP.
3) Não é de código aberto, mas pode ser usado por qualquer cliente que entenda XML.
5) Requer um protocolo SOAP para receber e enviar dados pela rede, portanto, não é uma arquitetura leve.
API da Web:
1) Uma API da Web é um serviço baseado em HTTP e retorna dados JSON ou XML por padrão.
2) Suporta o protocolo HTTP.
3) Pode ser hospedado em um aplicativo ou IIS.
4) É de código aberto e pode ser usado por qualquer cliente que entenda JSON ou XML.
5) Possui arquitetura leve e boa para dispositivos com largura de banda limitada, como dispositivos móveis.
Acabei de colar o resumo do artigo vinculado:
Resumo:
Todos os serviços da Web são APIs, mas todas as APIs não são serviços da Web.
Os serviços da Web podem não executar todas as operações que uma API executaria.
Um serviço da Web usa apenas três estilos de uso: SOAP, REST e XML-RPC para comunicação, enquanto a API pode usar qualquer estilo para comunicação.
Um serviço da Web sempre precisa de uma rede para sua operação, enquanto uma API não precisa de uma rede para sua operação.
Uma API facilita a interface diretamente com um aplicativo, enquanto um serviço da Web é um ...
Leia mais: Diferença entre API e serviço da Web | Diferença entre | API vs Serviço da Web http://www.differencebetween.net/technology/internet/difference-between-api-and-web-service/#ixzz3e3WxplAv
Veja o link acima para a resposta completa.
Um serviço da Web, se você quiser, é uma API da Web. Especificamente, a API da Web geralmente significa serviço da Web RESTful (baseado em HTTP) e Serviço da Web geralmente significa SOAP + WSDL (+ HTTP ou SMTP ou JMS ..).
Normalmente, os serviços Web RESTful são opostos aos Serviços Web (WSDL, SOAP), mas recentemente foi introduzido o termo serviços Web RESTful (com maiúsculas 'W') que significa RESTful + WSDL + SOAP.
Confira neste gráfico as diferenças entre os três conceitos: http://www2.mokabyte.it/cms/figureproviderservlet?figureId=IUS-6NS-OBV_7f000001_19624184_5621ef4e--Fig02.jpg
Espero que ajude!
O serviço da Web é absolutamente o mesmo da API da Web - apenas um pouco mais restrito em termos de formato de dados subjacente. Ambos usam o protocolo HTTP e ambos permitem criar serviços RESTful. E não se esqueça de outros protocolos como JSON-RPC - talvez eles se encaixem melhor.
No contexto do ASP.Net, uma API da Web é um Controller cuja classe base é ApiController e não usa Views. Um serviço da Web é uma classe derivada do WebService e possui geração automática de WSDL. Por padrão, é uma API SOAP, mas você também pode usar JSON adicionando um ScriptServiceAttribute .
API e serviço da Web servem como um meio de comunicação.
A única diferença é que um serviço da Web facilita a interação entre duas máquinas em uma rede. Uma API atua como uma interface entre dois aplicativos diferentes, para que eles possam se comunicar . Uma API é um método pelo qual fornecedores de terceiros podem gravar programas que se relacionam facilmente com outros programas. Um serviço da Web foi projetado para ter uma interface que é representada em um formato processável por máquina, geralmente especificado em WSDL (Web Service Description Language)
Todos os serviços da Web são APIs, mas nem todas as APIs são serviços da Web.
Um serviço da Web é apenas uma API agrupada em HTTP.
Este artigo aqui fornece um bom conhecimento sobre serviço da Web e API.
Bem, o TMK pode estar certo no mundo da Microsoft, mas no mundo de todos os softwares, incluindo Java / Python / etc, acredito que não há diferença. Eles são a mesma coisa.
/software/38691/difference-between-web-api-and-web-service
Serviços da Web - esse é o padrão definido pelo W3C, para que eles possam ser acessados semiautomática ou automaticamente (WSDL / UDDI). A coisa toda é baseada em XML, para que qualquer pessoa possa chamá-lo. E todos os aspectos do serviço estão muito bem definidos. Há um padrão de descrição de parâmetros, padrão de aprovação de parâmetros, padrão de resposta, padrão de descoberta etc. etc. Você provavelmente poderia escrever um livro de 2000 páginas que descrevesse o padrão. Existem até alguns padrões "adicionais" para fazer coisas "padrão", como autenticação.
Apesar do fato de a invocação e a descoberta automáticas mal estarem funcionando porque os clientes são bastante pobres e você não tem garantia real de que qualquer serviço possa ser chamado de qualquer cliente.
A API da Web é normalmente feita como HTTP / REST, nada é definido, a saída pode ser por exemplo. JSON / XML, a entrada pode ser XML / JSON / ou dados simples. Não há padrões para nada => nenhuma chamada e descoberta automáticas. Você pode fornecer alguma descrição em arquivo de texto ou PDF, retornar os dados no Windows-1250 em vez de unicode etc. Para descrever o padrão, seria um folheto de 2 páginas com algumas informações simples e você definirá todo o resto.
A Web está mudando para a API da Web / REST. Serviços da Web não são realmente melhores que a API da Web. Muito complicado de desenvolver e eles consomem muito mais recursos (largura de banda e RAM) ... e por causa de todas as conversões de dados (PEDIDO-> XML-> DADOS-> RESPOSTA-> XML-> VALIDAÇÃO-> CONVERSÃO-> DADOS) são muito lento.
Por exemplo. No WebAPI, você pode compactar os dados, enviá-los compactados e descompactar + descompactar no cliente. No SOAP, você pode compactar apenas a solicitação HTML.
Todos os WebServices são API, mas nem toda API é WebServices, a API que é exposta na Web é chamada de Web Services.
Duas coisas são muito simples de entender,
Nota: Todos os serviços da Web são APIs, mas nem toda API 'é serviços Web