Busca avançada

API e Web Services: Entenda o que são e suas diferenças

domingo, 19 de julho de 2020 por Eduardo Spaki
API e Web Services: Entenda o que são e suas diferenças

APIs e Web Services são a mesma coisa? Um é JSON outro é XML, seria só essa a diferença? Na verdade, não é bem assim.

Quando alguém faz uma pergunta dessas, talvez esteja querendo entender a diferença entre SOAP e API REST. Mas, vamos tentar desmistificar essa sopa de letrinhas que surge diante da integração de softwares.

Quando se trata de comunicação e integração entre softwares, surgem diversas siglas: API, REST, RESTFul, SOAP, Web Services, XML, JSON, SOAP, WCF… enfim, a lista vai bem longe.

E se você pensa que integração de software é algo complicado, que só acontecem em grandes corporações, tenho uma notícia para você: Esse simples app mobile que você está desenvolvendo e/ou usa, tem integração!

Basicamente, a comunicação com o backend, através de uma API, provavelmente está na web usando JSON. Isso é a integração do seu frontend mobile com o backend do servidor na nuvem.

Nesse caso, você pode argumentar que não é dev mobile, então não utiliza esse tipo de integração. Mas esse seu site, SPA, com Angular ou React, também deve ter um backend no mesmo modelo do mobile.

Outro ponto que deve vir à mente, é quando você diz que seu software terá uma API para integração, e algum outro desenvolvedor te pergunta: Cadê o endpoint do seu Webservice?

Nesse caso, você pode se questionar: O que ele quer dizer com Webservice?

Respira fundo e vem comigo que hoje vamos entender todos esses termos de uma vez por todas!


API: Entenda o que é e para que serve

API é algo muito simples, e ela não impõe qualquer padrão!

Hoje ela é muito associada ao backend expondo funcionalidades na web, mas é bem mais antiga que isso. Calma que eu explico.

A Ciência da Computação diz que um programa tem:

Entrada -> Processamento -> Saída!

Por exemplo, em uma calculadora, o usuário informa os números e a operação. Então é feita a operação matemática e, por fim, exibe-se o resultado.

    Exemplificando APIs: As partes de um programa

O processamento é o algoritmo, ou seja, um conjunto de instruções que o computador deve executar.

A entrada e saída é explorada por outra área da Ciência da Computação, a IHM (Interação Humano-Computador).

Isto, nada mais é do que o uso de: teclado, mouse (input/entrada), monitor, impressora (output) e derivados.

Mas a IHM se ramifica. Uma dessas ramificações é o estudo da UI (User Interface/Interface de Usuário), que é como uma tela de um aplicativo é desenhado para o usuário interagir.

Recentemente também temos a UX (User Experience), que basicamente estuda o fluxo/jornada da operação de um aplicativo, para que o mesmo seja de uso intuitivo para o usuário.

Por enquanto vamos prestar atenção na UI, uma interface para a pessoa interagir com o computador.

Quer entender mais sobre UX? Confere esse post sobre as Leis do UX.

Na calculadora podemos ver os números, as operações, acioná-los com cliques no mouse, e ver o resultado na tela.

Agora eu te pergunto: Um computador se comunica somente com humanos? Não! Eles também podem comunicar entre si!

Parece algo meio apocalíptico dizer que os robôs estão entre nós (já antecipavam O Exterminador do Futuro e Matrix). Porém, isso é mais comum do que se imagina.


Por que a conversa entre computadores é tão importante?