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

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

    1. Sim, pode estar na rede, mas a origem e o destino da comunicação se dá na mesma rede, digamos assim. Lembre-se, todo web service é uma API mas nem toda API é um web service, já que esse último se caracteriza principalmente pelo meio de transporte de comunicação.

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 )

Foto do Google+

Você está comentando utilizando sua conta Google+. 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 )

w

Conectando a %s