APIs e WebServices: A real importância destes serviços

Prefácio

Salve, galera! Tudo certinho? Cá estou eu para iniciar uma nova era aqui no PHPit. De hoje em diante, vou tentar postar mais seguido e vou focar em algo que está sendo altamente discutido atualmente: o uso de APIs e WebServices.

Para este primeiro post, vou fugir um pouco do foco principal do PHPit para poder retomá-lo mais à frente. Hoje estarei explicando o que são essas coisas que, à primeira vista, podem assustar, mas são ferramentas extremamente importantes para a Web 2.0.

Nos meus próximos textos iremos explorar diversas APIs e WebServices que podemos encontrar através da web e, claro, aguardo sugestões para ferramentas que devem ser exploradas.

O que é uma API?

API significa Application Programming Interface (Interface de Programação de Aplicativos) e nada mais é do que uma interface simplificada e padronizada que é desenvolvida com o intuito de tornar a sua aplicação mais comunicável.

O foco principal das APIs é fornecer a outros programadores um método simples para que eles possam construir aplicações que se comuniquem com a sua.

Geralmente elas são escritas em um padrão aberto e com uma documentação que é disponibilizada livremente. Hoje temos diversos serviços online que liberam suas APIs para que outros softwares possam fazer uma integração, como é o caso de Amazon, Flicker, YouTube e Twitter, por exemplo. Quando uma API utiliza comunicação via web, nós a chamamos de WebService.

O que é um WebService?

Nada mais é do que uma API que funciona via web e que realiza a troca de dados utilizando, na maioria das vezes, XML (também vemos muitos casos com JSON). Quando estivermos trabalhando com um alto volume de dados, poderemos utilizar um padrão chamado SOAP (Simple Object Access Protocol), que é uma espécie de envelope, que possui cabeçalhos específicos para a troca de dados.

Tá, e daí? Pra que eu uso isso?

Quando você estiver desenvolvendo uma aplicação, você poderá integrá-la com outros serviços. Vou utilizar um exemplo bem atual. Já ouviu falar na Drimio? É uma rede social baseada em marcas (inclusive, se você quiser ser meu amigo, adiciona meu perfil lá!). Bom, o pessoal lá é altamente viciado em APIs. E isso é bom! A palavra que rege a Web 2.0 é socialização. Quanto mais você interagir, melhor!

Vamos seguir este exemplo então. Até o momento, o que mais me marcou na Drimio foi a integração com o Flickr e o Twitter.

A integração com o Flickr aconteceu ainda antes do lançamento da rede, durante uma promoção. Era possível participar de uma promoção onde você enviava uma foto sua através do site deles e ela ia parar no Flickr!

Agora com a rede funcionando, tá rolando um serviço que captura no Twitter tudo que é comentado sobre as marcas cadastradas e cataloga isso dentro da respectiva marca na rede.

Existem outros casos com o da boo-box, que utiliza API de diversas lojas para catalogar o preço de produtos.

Gostei! E agora, como eu faço?

Tá na hora do #comofas (piadinha de twitteiro ;P). Pra meter a mão na massa, primeiro você precisa descobrir onde fica a documentação da API que você quer utilizar. Geralmente você vai encontrar essas informações em uma área técnica (no is.gd, por exemplo) ou em algum link chamado API, que geralmente fica no rodapé da página (Twitter e Last.fm, por exemplo).

Depois de dado o primeiro passo, você precisa saber como interagir com a API escolhida. Na maioria das vezes a sua aplicação irá conversar com a API via HTTP.

No decorrer dos próximos artigos nós iremos explorar os diferentes meios de se comunicar com uma API. O mais simples dele é através do acesso de uma URL e da coleta dos dados retornados. Uma dica legal seria utilizar a cURL pra fazer esse trabalho. :)

E depois?

Após coletar todos estes dados e já ter um bom conhecimento na API que você deseja trabalhar, já é possível você começar a interagir. Com o uso dessas ferramentas a sua aplicação pode inserir, alterar e remover dados de outro sistema.

Conclusão

A Web 2.0 está aí e fazendo uma grande revolução. A ordem agora é dividir a responsabilidade de gerar conteúdo com os usuários.

Agora vamos praticar um pouquinho. :)
Utilize os comentários para sugerir quais APIs devem ser exploradas aqui no PHPit e eu terei o maior prazer de estudá-las com vocês.

Um forte abraço a todos e fiquem com Deus.
Rafael Jaques

  • Show de bola, muito bom ressaltar a importância do uso de APIs, que para muitos parece ser um bicho de 7 cabeças, mas no fundo é mais simples do que parece. Realmente, no drimio somos "viciados" em APIs e Webservices, mas é importante fazer o uso com moderação :)

  • ah, e vê se coloca um addthis no teu blog, pra gente socializar ele :)

  • Dica: um excelente diretorio com APIs e WebServices dos principais serviços:

    http://www.programmableweb.com/apilist

    []s

    Ricardo Prochnow

  • Klawdyo

    Fiz uma classe que pega as fotos do picasa em forma de galeria. Se eu pegar o endereço das fotos retornadas, e abrir diretamente no navegador, elas abrem normalmente. Se eu clicar no link gerado, elas dão erro 404. Posso te passar a classe pra usá-la como primeiro exemplo.

  • Minha sugestão p/ um próximo artigo: explorar a API do Twitter. O Twitter tá mega na moda, e a tendência, penso, é seguir crescendo, e eles disponibilizam uma documentação bem boa da API.

    Dada a dica.

    Artigo bacana como todos os do teu blog ;)

  • Lucas Araldi

    Muito bom o teu conceito de API :D

  • Prezado Rafael,

    Parabéns pelo excelente material. Gostaria de contribuir sugerindo o link http://www.supravizio.com/Webservices-SOA.aspx que contém um caso de sucesso da aplicação de web services para venda de seguros pelo site Webmotors.

    Wallace Oliveira http://www.venki.com.br