API – Mashups Que Geram Novos Serviços

Definição.

Sigla vinda da palavra Application Programming Interface, ou Interface de Programação de Aplicativos, é um conjunto de operações que se tornam disponíveis por um serviço provedor, a qual permite integrar remotamente diferentes aplicações e conseqüentemente, realizar a troca de dados mútuos destas aplicações, revestindo-as de novas funcionalidades como também possibilitando a geração de novos serviços.

Tecnologia que integra múltiplos-serviços.

Uma API possui um mecanismo de funcionamento semelhante a um Web Service. A troca de dados também se realiza sob o protocolo HTTP através de mensagens XML ou JSON utilizando-se de modelos SOAP e também REST. A diferença começa a surgir no desenvolvimento, onde o processo se torna muito mais prático e simples, uma vez que API’s não necessitam de configurações complexas em nível de integridade de sistemas.

No mercado, esta prática é adotada amplamente na expansão de serviços que visam aumentar sua audiência. Serviços inovadores, que permitem agregar sua plataforma a diversos sites, e até mesmo outros serviços, contemplam uma ação massificada para uso exclusivo de suas ferramentas. É o caso de aplicativos geográficos, tal como o Google Maps, que permitem dispor de mashups interativos aos webmasters.

Se por um lado, tais funcionalidades ficam a mercê de tais provedores, de outro, você fica isento de desenvolvê-las. Em tempos de vaca magra, onde prazo é crucial, e funcionalidades, requisitos básicos, tudo leva a terceirização destes componentes. O projeto resultará em um serviço totalmente agregado de novas tendências, e maiores facilidades de uso, já que muitos usuários serão habituados com estas ferramentas.

Figura 1 – Serviço georeferenciado utilizando API do Google Maps.

Socializando aplicativos e atendendo a gostos do público.

Exatamente, socializar, esta é a onda do momento, e a que provavelmente vai perpetuar todo o desenvolvimento web no futuro. Serviços parciais, que por fim, resultem em um novo serviço, e que estes forneçam meios de ambos saírem no lucro, provedor e replicador. Ao publicar um conteúdo, o provedor enriquece sua base de informações, o que irá ocasionar num maior número de usuários, e você, conseqüentemente receberá visitas inerentes da divulgação de seus trackbacks, puro marketing share.

Hospedar vídeos no YouTube, gerar URL’s encurtadas via serviço Migre.me, recomendar links e hashtags através do Twitter, mapas geográficos do Google Maps, lista de músicas e rádios com o Last.fm, enviar mensagens SMS através do Click A Tell, essas dentre outras centenas de serviços podem ser integradas com a utilização de API’s que independem da tecnologia de plataforma e também do banco de dados.

A Apple, por exemplo, permite que desenvolvedores criem aplicativos, pagos ou não, e vendam na App Store, uma loja virtual de aplicativos exclusivos para sua plataforma, aos seus milhares de consumidores. Fato semelhante ocorre com gigantescas redes sociais, tal como Orkut e Facebook, as quais abriram suas plataformas e permitem que através de API’s, terceiros possam fornecer aplicativos a disposição de seus milhões de usuários. Sem dúvida isso gerou um mercado frenético em agências de marketing digital.

Figura 2 – Amostra de algumas marcas que fornecem API’s.

Integridade das aplicações.

É preciso que fique bem claro, que API’s são recursos remotos, e que, portanto, necessitam exclusivamente de tais provedores para fornecer suas funcionalidades. Obviamente, que grandes serviços, tal como Google, YouTube, Twitter, irão fornecer um ambiente muito melhor em nível de disponibilidade online, suporte e documentação das bibliotecas. O desempenho e segurança são de responsabilidade do provedor, que irá dispor periodicamente de atualizações incluindo novas funcionalidades.

Já o controle de dados, se limita unicamente em sua fonte de informações coletadas. Nenhuma API irá expor publicamente a base de dados. O máximo que você terá disponível é o retorno das ações executadas por tais funcionalidades, a qual irá permitir ter certo tipo de controle em sua aplicação. Isto exclui você, de possuir responsabilidade de exatamente tudo que se passa durante o processamento. Basicamente, terá disponível um grande recurso e com pouca complexidade em implementação de código.

A preocupação com certeza será menor do que em relação ao provedor que deverá fornecer sete dias por semana, vinte e quatro horas por dia, do serviço online e funcional aos seus utilizadores. O mais interessante de tudo isso, é que da mesma forma que um Web Service funciona na troca de mensagens entre aplicações, em formatos simples como XML, ela tipicamente torna-a uma solução viável a qualquer negócio.

Figura 3 – Exemplo de utilização da API de tradução Bing da Microsoft.

Por onde começar?

No senso comum, todo serviço que disponha interesse em estender sua plataforma, fornecerá uma seção de desenvolvimento, da qual você poderá encontrar meios de interagir com esta ferramenta. Alguns recursos podem se tornar limitados, caso o desenvolvedor não obtenha alguma chave de licenciamento, ainda que gratuita, que visa apenas facilitar o controle e evitar que pessoas más intencionadas abusem de tal recurso para disseminar conteúdo proibido. Alguns, como também nos Web Services, encontraram um ótimo meio de ganhar dinheiro e por isso podem limitar certo número de conexões de sua aplicação ao provedor, como também cobrar por sua utilização, a exemplo da API da empresa Click A Tell, que cobra por mensagens SMS.

Figura 4 – Portal de entrada para desenvolvedores no Google Code.

Antes que você tome partida sem qualquer rumo, tenho a boa notícia que desenvolvedores já tiveram a mesma preocupação que a sua, e, portanto, criaram uma comunidade que visa apenas, publicar e divulgar API’s das mais diversas empresas que forneçam serviços na web. Quase todas, e, categoricamente organizadas, inclusive com feedbacks de outros desenvolvedores, você obtém clicando aqui.

Figura 5 – Estatística das API’s mais procuradas na comunidade.

Considerações finais.

Esperamos que este quarto artigo da série “ABC” seja útil em desvendar as maravilhas que uma API pode contribuir para um projeto. Lembramos que o foco dessa série é apenas conceituar os temas, artigos mais especializados do assunto surgirão na medida do possível. Sugestões, críticas e comentários sempre serão bem vindos!

Próximo artigo: Orientação a Objetos, um novo conceito em programação.

Referências bibliográficas.

What is an API?
http://communication.howstuffworks.com/how-to-leverage-an-api-for-conferencing1.htm

Working with APIs.
http://chronicle.com/blogPost/Working-with-APIs-part-1/22674/

How to Design a Good API and Why it Matters.
http://lcsd05.cs.tamu.edu/slides/keynote.pdf

API Usability: Guidelines to improve your code ease of use.
http://www.codeproject.com/KB/usability/APIUsabilityArticle.aspx

Be Sociable, Share!

Participa! Comenta...