APIs abertas permitem que aplicações web interajam entre si e compartilhem serviços de forma gratuita e democrática. Elas usam protocolos como HTTP e formatos como JSON e XML para trocar informações e podem ser usadas para comunicação, mapeamento, pagamentos e outras finalidades.
2. O que são?
●
●
●
APIs (Application Programming Interface - Interface de
programação de aplicativos) são uma espécie de
contrato pré-estabelecido para que programas de
computador consigam interagir entre si;
APIs Web tratam-se do mesmo conceito, só que para
aplicações Web, permitindo que aplicações Web
interajam entre si, muitas vezes utilizando diversos
serviços diferentes para formar um todo;
As APIs abertas são APIs web de livre acesso para
todos. Portanto, pode-se dizer que elas democratizam
as possibilidades de criação.
3. Conceitos básicos
●
●
●
Essencialmente, uma API Web pode ser vista como um
sinônimo para "serviço Web";
Permitem que diversos serviços sejam combinados
entre si para a criação de novos serviços, chamados de
"mashups";
Por serem abertas, são livres para que qualquer um as
tenha.
5. Como estão sendo usadas?
São usadas para as mais diferentes necessidades.
Usando os exemplos já citados, podemos perceber as
seguintes utilidades:
●
Comunicação;
●
Diversão através de jogos;
●
Mapeamento, com coordenadas;
●
Busca por rotas mais eficientes;
●
Facilitar negociações entre moedas diferentes;
●
Facilitar o controle, e garantir qualidade musical;
●
Marketing.
6. Padrões e formatos existentes
●
●
●
●
Os dados em uma API Web normalmente trafegam em
um dos dois formatos JSON, XML;
Normalmente, as mensagens são trocadas através do
protocolo HTTP - o padrão para páginas de internet;
Boa parte dos serviços não utilizam um padrão definido
para os dados em JSON ou XML, preferindo criar suas
próprias soluções personalizadas;
Outros serviços preferem utilizar alguns padrões
estabelecidos, descritos a seguir.
7. Padrões e formatos existentes
●
●
●
JSON-RPC : Utiliza JSON - Protocolo de chamada
remota de procedimentos cujo objetivo principal é a
simplicidade - http://json-rpc.org/
XML-RPC : Utiliza XML - Protocolo de chamada remota
de procedimentos cujo objetivo principal é ser simples,
porém mantendo a possibilidade de transmissão de
estruturas de dados mais complexas http://www.xmlrpc.com/
SOAP (Simple Object Access Protocol): Utiliza XML Padrão adotado pela especificação de Web Services da
W3C. Extremamente complicado se comparado aos
outros padrões estabelecidos ou soluções
personalizadas. Pouco utilizado na Web aberta - em
geral, é mais utilizado em empresas, no que chamam
de "Enterprise 2.0".
8. Sites de referência técnica
●
●
●
Uma listagem com diversas APIs web pode ser
encontrada em
http://techmagazine.ws/full-web-20-api-list/;
As APIs web do Google, podem ser acessadas
pesquisando em http://code.google.com;
Em geral, para encontrar informações sobre a API de
um site, basta procurar por um link em sua página
principal que mencione "Developers" ou "API".
9. Sites de referência técnica
●
Last.fm API: http://www.last.fm/api
●
Facebook Developers: http://developers.facebook.com/
●
●
"Web API" na Wikipedia:
http://en.wikipedia.org/wiki/API#Web_APIs
"Web Services" na Wikipedia:
http://en.wikipedia.org/wiki/Web_service
10. Sites de referência técnica
●
Last.fm API: http://www.last.fm/api
●
Facebook Developers: http://developers.facebook.com/
●
●
"Web API" na Wikipedia:
http://en.wikipedia.org/wiki/API#Web_APIs
"Web Services" na Wikipedia:
http://en.wikipedia.org/wiki/Web_service