API vs Serviço da Web
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 os fornecedores terceirizados podem gravar programas que fazem interface 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). Normalmente, "HTTP" é o protocolo mais usado para comunicação. O serviço da Web também usa SOAP, REST e XML-RPC como um meio de comunicação. A API pode usar qualquer meio de comunicação para iniciar a interação entre aplicativos. Por exemplo, as chamadas do sistema são chamadas usando interrupções pela API do kernel do Linux.
Uma API define exatamente os métodos para um programa de software interagir com o outro. Quando essa ação envolve o envio de dados por uma rede, os serviços da Web entram em cena. Uma API geralmente envolve funções de chamada de dentro de um programa de software.
No caso de aplicativos da Web, a API usada é baseada na Web. Os aplicativos de desktop, como planilhas e documentos do Word, usam APIs baseadas em VBA e COM, que não envolvem serviço da Web. Um aplicativo de servidor como o Joomla pode usar uma API baseada em PHP presente no servidor que não requer serviço da Web.
Um serviço da Web é apenas uma API agrupada em HTTP. Uma API nem sempre precisa ser baseada na Web. Uma API consiste em um conjunto completo de regras e especificações para um programa de software seguir, a fim de facilitar a interação. Um serviço da Web pode não conter um conjunto completo de especificações e, às vezes, pode não ser capaz de executar todas as tarefas possíveis a partir de uma API completa.
As APIs podem ser expostas de várias maneiras, incluindo: objetos COM, arquivos DLL e .H na linguagem de programação C / C ++, arquivos JAR ou RMI em Java, XML sobre HTTP, JSON sobre HTTP, etc. O método usado pela Web serviço para expor a API é estritamente através de uma rede.
Resumo:
1. Todos os serviços da Web são APIs, mas todas as APIs não são serviços da Web.
2. Os serviços da Web podem não executar todas as operações que uma API executaria.
3. 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 de comunicação.
4. Um serviço da Web sempre precisa de uma rede para sua operação, enquanto uma API não precisa
uma rede para sua operação.
5. Uma API facilita a interface diretamente com um aplicativo, enquanto um serviço da Web é um