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:

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.

Deixar mensagem para fx3costa Cancelar resposta