Mini Paper Series Ano 10 Novembro, 2014 – No 221 O mundo das web APIs Wederson Soares A tualmente é comum encontrarmos em páginas da Internet opções de “Like” ou “Share” no Facebook, botões para enviar mensagem via Twitter ou compartilhar algum conteúdo no LinkedIn, vídeos do Youtube e mapas. Tais recursos são tão comuns que não os julgamos mais como uma inovação. A popularidade e facilidade na expansão desse tipo de recurso é o resultado de um direcionamento de esforços e do constante crescimento das chamadas web APIs. Application Programming Interface, ou API, é o nome dado a um conjunto de rotinas e padrões estabelecidos em um software para a utilização de suas funcionalidades por aplicativos que não pretendem ter acesso a detalhes de sua implementação, mas apenas usar seus serviços. As APIs estão em moda para a distribuição dos serviços de redes sociais na web e têm uma abordagem extremamente atraente para quem desejar utilizá-las. Os fornecedores de web APIs publicam seus serviços de forma gratuita, com suporte para os desenvolvedores na forma de guias online e com boas documentações publicadas. O principal objetivo é apresentar uma estrutura voltada a facilitar o aprendizado e a utilização de seus serviços. Muito em voga, o termo “API pública” é utilizado para referenciar as APIs que provêm acesso livre e gratuito, mesmo que numa versão limitada e que estão expostas e bem documentadas na Internet. Já as não públicas são voltadas a parceiros comerciais, possuem acesso restrito e protegido, com o foco voltado para uso interno nas empresas que as desenvolveram. Enquanto os SaaS (Software as a Service) tradicionais, tais como os serviços de email gratuitos ou os repositórios de arquivos, estão voltados para o usuário final, as web APIs públicas estão voltadas para os desenvolvedores de aplicativos, ou seja, não estão prontas para acesso do usuário final, mas disponibilizam funções e dados que podem ser consumidos por uma aplicação que as expõe de forma amigável. Nesse cenário, o papel do desenvolvedor é embutir o serviço disponibilizado por meio de uma web API dentro de um software, dando àquele um nível mais razoável de acessibilidade e usabilidade. Dessa forma um mesmo serviço pode ser acessado por diferentes aplicativos e ter diferentes interfaces com os usuários. Quando uma aplicação tem acesso a múltiplos serviços de diferentes provedores com o objetivo de apresentar ao usuário uma forma mais prática e centralizada de acesso, dá-se a ela o nome mashup, que seria a grosso modo um mosaico de diferentes serviços expostos em uma mesma aplicação. O Hootsuite, uma ferramenta de gerenciamento de redes sociais, é um exemplo de mashup, pois consolida em única ferramenta as principais redes sociais, acessando esses serviços por meio das web APIs disponibilizadas pelos seus desenvolvedores. Um exemplo prático do conceito de web APIs é sua utilização em Cloud, mais especificamente Platform as a Service (PaaS), por meio de um ambiente de desenvolvimento apresentado como serviço na web. Ao invés de desenvolver uma aplicação usando uma infraestrutura tradicional de desenvolvimento local, o desenvolvedor tem acesso a um serviço que permite o rápido provisionamento da infraestrutura, incluindo máquinas virtuais com o sistema operacional e a plataforma de desenvolvimento desejados. Isso só é possível graças ao uso de web APIs que interagem com um provedor de Infrastructure as a Service (IaaS) para realizar o provisionamento desses recursos. As web APIs marcam uma mudança de paradigma na forma como os serviços de Internet são pensados e construídos. Com o crescimento de dispositivos móveis, redes sociais e outras abordagens ligadas a Cloud Computing, as web APIs têm se popularizado e cada vez mais farão parte das estratégias de fornecimento de serviços de TI em todo o mundo. Para saber mais Application Programming Interface - Wikipedia Hootsuite Developer Program Mashup - Wikipedia Wederson Soares é IT Specialist, Technical Team Leader, Microsoft Certified Professional e IBM Certified Solution Designer com 10 anos de experiência em tecnologia de informação, formado em TI pelo IFRN e pós graduando em MBA em Engenharia de Software Orientado a Serviços pela Veris-IBTA. O Mini Paper Series é uma publicação quinzenal do TLC-BR e para assinar e receber eletronicamente as futuras edições, envie um e-mail para [email protected].