API vs Serviço Web
API e Serviço Web servem como meio de comunicação. A única diferença é que um Web Service facilita a interação entre duas máquinas através de uma rede. Uma API atua como uma interface entre duas aplicações diferentes para que elas possam se comunicar uma com a outra. Uma API é um método pelo qual os fornecedores terceirizados podem escrever programas que fazem interface facilmente com outros programas. Um serviço Web é projetado para ter uma interface que é representada em um formato processável por máquina, normalmente especificado na linguagem de descrição de serviços Web (WSDL). Tipicamente, o “HTTP” é o protocolo mais comumente usado para comunicação. O Web Service 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 as aplicações. Por exemplo, as chamadas de sistema são invocadas usando interrupções pela API do kernel Linux.
Uma API define exatamente os métodos para que um programa de software interaja com o outro. Quando esta ação envolve o envio de dados através de uma rede, os serviços Web entram em cena. Uma API geralmente envolve chamar funções de dentro de um programa de software.
No caso de aplicações Web, a API usada é baseada na web. Aplicações desktop como planilhas e documentos Word usam APIs baseadas em VBA e COM que não envolvem serviços Web. Uma aplicação servidor como o Joomla pode usar uma API baseada em PHP presente dentro do servidor que não requer serviço Web.
Um serviço Web é meramente uma API embrulhada em HTTP. Uma API nem sempre precisa de ser baseada na Web. Uma API consiste num conjunto completo de regras e especificações para um programa de software a seguir, de modo a facilitar a interacção. Um serviço Web pode não conter um conjunto completo de especificações e às vezes pode não ser capaz de executar todas as tarefas que podem ser possíveis de uma API completa.
As APIs podem ser expostas de várias maneiras que incluem: Objetos COM, arquivos DLL e .H em linguagem de programação C/C++, arquivos JAR ou RMI em Java, XML sobre HTTP, JSON sobre HTTP, etc. O método usado pelo Web service para expor a API é estritamente através de uma rede.
Summary:
1. Todos os serviços Web são APIs mas todas as APIs não são serviços Web.
2. Serviços Web podem não executar todas as operações que uma API executaria.
3. Um serviço 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.
4. Um serviço 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 direta com uma aplicação enquanto que um serviço Web interage com duas máquinas através de uma rede.
6.web service é como Urls avançado e API é Interface Programada.
7.API contém classes e Interfaces como um programa.
8.A web service é uma forma de API (Application Programming Interface).
9.Uma API é usada por um programador de computador para estabelecer um link entre aplicações de software. Esta interface pode assumir várias formas, um serviço web é apenas uma delas.
10.Existem vários tipos de serviço web. O SOAP (Simple Object Access Protocol) é um dos mais comuns. A API toma a forma de uma descrição de serviço (WSDL) que é usada para gerar automaticamente o código do programa que faz a conexão.