Diferença entre API e Web Service de maneira simples

Confesso que essa era uma pergunta que me intrigava. Eu via o conceito dos dois, conversas sobre os dois, mas ainda não tinha entendido qual a diferença entre eles e quando se referenciar a um ou a outro.

Pois bem, basicamente é o seguinte:

API (Application Programming Interface) – É como uma interface entre dois programas diferentes de modo que eles possam se comunicar um com o outro. Ou seja, uma API é a forma que terceiros disponibilizam uma interface de modo que possamos consumir um determinado serviço deles sem nos preocuparmos com a implementação do mesmo. As API podem usar qualquer meio de comunicação para iniciar a interação entre as aplicações. Por exemplo, as chamadas de sistema (System Calls) são invocados usando interrupções da API do kernel Linux.

Web Services –  é uma interface projetada para se comunicar via rede. É uma API que usa obrigatoriamente a rede. Tipicamente, HTTP é o protocolo mais comumente usado para a comunicação. Web Services também usam SOAP, REST e XML-RPC como meio de comunicação. Ou seja, quando uma API precisa enviar dados através de rede, estamos falando de Web Services.

Só que é preciso estar atento a alguns detalhes. Uma API geralmente envolve chamar funções de dentro de um programa. Por exemplo, as aplicações de desktop, como planilhas e documentos de texto usam VBA e APIs baseados em COM que não envolvem a Web e mesmo aplicações de servidor como o Joomla podem usar uma API PHP presente no próprio servidor sem necessidade da rede.

Ou seja, resumindo de maneira bem simples:

  • Todos os Web Services são API. Mas nem todas as API são Web Service.
  • Web Services podem não executar todas as tarefas que uma API normalmente realiza (ou pode realizar).
  • Um serviço Web utiliza apenas três estilos de comunicação: SOAP, REST e XML-RPC enquanto que a API pode usar qualquer estilo de comunicação.
  • Um Web Service sempre precisa de uma rede para o seu funcionamento enquanto uma API não precisa.
  • Uma API facilita a interface direta com um aplicativo enquanto que um Web Service é uma aplicação.

Referências:

Anúncios

5 comentários sobre “Diferença entre API e Web Service de maneira simples

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s