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.
porque? a partir desta imagem, parece que os serviços web SOAP não podem ser usados em smartphones ... ou mesmo em desktops? realmente? alguém está forçando você a ler JSON em vez de XML nessas plataformas?
AndreaCi
se estiver lendo xml, isso não significa que o serviço base SOAP REST também suporta CSV (Command Separated Value), JavaScript Object Notation (JSON) e Really Simple Syndication (RSS).
Adiii 12/08/19
7
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.
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.
Não é "absolutamente o mesmo" se existem restrições agora, são?
Ojonugwa Jude Ochalifu
0
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.
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.
Serviço da Web é o padrão definido pelo W3C, serviço bem documentado para o software de terceiros interagir através de XML (WSDL / UDDI). API Web é a API sobre HTTP, não está bem documentada, tem seu próprio padrão. E a API em geral é algo que pode ou não ter acesso à Internet para conversar com outros aplicativos e também pode ter outros protocolos, por exemplo, API para chamadas do sistema para conversar com seu terminal / cmd no sistema operacional.
Imam Bux
-3
Duas coisas são muito simples de entender,
API: é uma camada no aplicativo que pode atender a outras solicitações de aplicativos localmente.
Serviço da Web: é uma API que pode atender a solicitações e responder através do sistema remoto de rede através da Web ou da Internet.
Nota: Todos os serviços da Web são APIs, mas nem toda API 'é serviços Web
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.
fonte
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.
fonte
API vs Serviço da Web
Acabei de colar o resumo do artigo vinculado:
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.
fonte
para mais detalhes visite este link
fonte
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!
fonte
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.
fonte
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 .
fonte
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.
fonte
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.
fonte
Diferença entre Web Service e API Web bem explicada aqui:
/software/38691/difference-between-web-api-and-web-service
Texto do link:
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.
fonte
Todos os WebServices são API, mas nem toda API é WebServices, a API que é exposta na Web é chamada de Web Services.
fonte
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
fonte