Na web, empresas como a Amazon46 lançam APIs públicas com o propósito de fornecer informações para que outros criadores de software, web sites ou mashups possam desenvolver aplicativos acionados por seus serviços ou conteúdos. Com o uso da API da Amazon, desenvolvedores podem facilmente incluir links dinâmicos sobre produtos da empresa diretamente em seus próprios sites, com preços atualizados e a possibilidade de compra imediata.
Sites como Google47, YouTube48, Flickr49, Amazon, Yahoo!50 entre outros, disponibilizam APIs de seus conteúdos baseados nos protocolos (1), SOAP - web services, e web feeds RSS, Atom, a serem descritos posteriormente.
No exemplo do mashup Flickrvision, os fornecedores de conteúdos são o Google, através da API de mapas (Google Maps) e o Flickr, com sua API de imagens e fotos.
A eclosão das API’s permitiu considerável incremento de disponibilidade pública de dados na rede, possibilitando aos usuários combiná-los da forma que desejarem, seja por meio direto através de acesso ao código, ou ferramentas desenvolvidas e aperfeiçoadas dia a dia para este propósito51, a fim de expandir a massa mashup presente na rede através da criação de mashups de modo cada vez mais simples, criativos e interessantes; inovações ora anteriormente consideradas improváveis no cenário web.
Entretanto nem todos os provedores de conteúdo foram preparados para serem utilizados por outra aplicação, não disponibilizam suas APIs propositalmente ou geralmente são incompletas. Dessa forma, mashups que utilizam conteúdos destes sites, o fazem através
46 Disponível em: http://www.amazon.com 47 Disponível em: http://www.google.com.br 48 Disponível em: http://br.youtube.com 49 Disponível em: http://www.flickr.com 50 Disponível em: http://br.yahoo.com
da extração de dados realizada por uma técnica conhecida como screen scraping, a ser tratada especificamente adiante.
2.1.1.1 APIs Públicas: Google Maps, You Tube e Flickr
Geralmente as APIs públicas são de uso gratuito, possuem documentação própria para implantação e apresentam termos de uso para garantir que sejam empregadas conforme as políticas estabelecidas por seus distribuidores.
A API do Googlemaps, serviço de localização geográfica online, foi disponibilizada em junho de 2005 pelo Google em sua versão beta, para facilitar que desenvolvedores integrassem mapas personalizados aos seus web sites. Desde então, foi aprimorada até ser definitivamente liberada em 2006.
Essencialmente, a API do Googlemaps resume-se a um pequeno conjunto de classes JavaScript, que permitem ao desenvolvedor sua integração na construção de aplicações para exibição de mapas, com recursos interativos intuitivos nos moldes AJAX, como adição e descrição de pontos de referência, funções de aproximação de escala (zoom) e geocodificação52.
Para utilização da API, o desenvolvedor precisa solicitar uma chave própria, vinculando-a ao site da sua inclusão. A criação da interface própria do mapa, e personalização dos pontos de interesse requerem a adição de códigos e funções Javascript ao código fonte da página web desejada.
Quanto aos termos de uso da API Googlemaps, o Google não impõe maiores restrições, proibindo-o apenas às atividades consideradas ilícitas, que tentem remover/camuflar o logotipo da empresa embutido nos mapas, ou a utilização dos mapas em outros meios digitais que não as páginas detentoras da chave de autorização.
52 Processo utilizado para realizar consultas de coordenadas geográficas (latitude e longitude) a partir de outros dados geográficos, como endereços e códigos postais, possibilitando seu mapeamento e visualização.
O Youtube, site de compartilhamento de vídeos online também de propriedade do Google, disponibiliza sua API para que os usuários possam integrá-la em suas aplicações, de modo que desempenhem localmente as mesmas funções normalmente executadas no site do Youtube, como exibição de vídeos, pesquisa e realização de comentários. Essa característica pode ser considerada estratégica na medida em que contribuiu para que o Youtube se tornasse líder no segmento de vídeo digital, visto que seus vídeos poderiam ser visualizados também em qualquer página web que não necessariamente do próprio Youtube.
A API Youtube comporta as interfaces REST e XML-RPC para acesso a canais de dados e estatísticas de vídeos. Para usá-la, assim como a API do Googlemaps, é necessário também que o usuário solicite uma chave, no caso uma identificação única conhecida como ID, que é vinculada à sua conta e perfil de desenvolvedor definidos no Youtube.
Novos recursos foram agregados a partir do lançamento da nova versão da API Youtube, permitindo que sites, aplicativos web ou mashups possam autenticar-se como um usuário para realizarem upload, atualização de vídeos, criação de listas de reprodução, assinaturas de feeds, personalização de controles de exibição e acesso a perfis de usuários diretamente do local que se encontram incorporadas tais APIs. Essa gama de possibilidades viabilizou aos desenvolvedores a criação de sites completos com conteúdo de vídeo digital proveniente da estrutura do Youtube, incorporado ao código fonte e interface local.
O Flickr, site de compartilhamento de fotos online, também disponibiliza sua API53 em diversos protocolos como REST, XML-RPC e SOAP. Seu emprego permite que os programadores expandam os serviços do Flickr, criando aplicações com grande parte dos recursos disponíveis aos usuários do site, tais como upload, atualização de fotos, comentários, etc.
O uso da API do Flickr, site de compartilhamento de fotos online, é permitido aos desenvolvedores sob algumas restrições corriqueiras, de forma não comercial. Para fins comerciais, há a possibilidade mediante acordo prévio e cumprimento de algumas diretrizes, como atribuição de licença Creative Commons às fotos consentindo sua utilização, salvo a existência de acordo com os proprietários dos direitos autorais das mesmas. De acordo com o Flickr, a liberação da API é realizada através da análise de cada caso, e, como exigência, os desenvolvedores devem também registrar uma chave para monitoramento do uso da API em seus sites e aplicações.
Além da API, a comunidade de desenvolvedores Flickr oferece também kits API, que são módulos não oficiais prontos para integrarem os recursos do Flickr às aplicações e web sites, disponíveis em diversas linguagens de programação, como Action Script, C, Cold Fusion, Delphi, Java, .NET, Perl, PHP, Python, Ruby, etc.