Conhecer os benefícios das APIs
Objetivos de aprendizagem
Após concluir esta unidade, você estará apto a:
- Definir abstração.
- Indicar os benefícios de usar uma API.
- Explicar verbos HTTP e sua utilização
Ao montar o seu equipamento de fitness, a proprietária da academia começa a imaginar como seria esse processo se ela não tivesse especificações padrão para a energia elétrica. O equipamento não seria a única coisa com que se preocupar. Fiação nas paredes, dispositivos adicionais que também usam a fiação, como a eletricidade é gerada (parque eólico, usina nuclear, gerador a carvão ou painéis solares) ou até onde a fonte de energia está localizada. Felizmente, ela não tem de se preocupar com os pequenos detalhes; basta conectá-los a uma tomada qualquer e seguir em frente.
As APIs trazem um nível semelhante de previsibilidade e confiabilidade. Elas oferecem conectividade criada especificamente para determinado propósito. A integração com eles é facilmente reproduzível e escalável. Além disso, em muitos casos, envolvem uma troca recíproca de valor. A proprietária da academia tem energia confiável para as esteiras e o provedor de serviços mede e cobra por esse consumo.
Benefícios da utilização de APIs
As APIs ajudam a criar uma infinidade de oportunidades. Veja como software, clientes, integradores cidadãos, desenvolvedores e suas equipes podem se beneficiar do uso de APIs.
Terceirização
Em nome da repetibilidade, qualquer dispositivo compatível (neste caso, o equipamento da academia) pode facilmente repassar suas exigências de eletricidade para um serviço e esses dispositivos podem esperar obter os mesmos resultados. Da mesma forma, as APIs permitem que você repasse os principais dados e funcionalidades por meio de uma interface padrão previsível. Concentre-se em criar ótimos aplicativos, serviços e experiências do cliente, não em descobrir como vai obter informações comuns, mas com nuances.
Pense em como o Lyft depende da interface padrão do Google Maps para importar mapeamento e geolocalização para seu aplicativo móvel. O mapeamento nunca fez parte da experiência do cliente quando estava em questão o uso de um táxi ou limusine. No entanto, serviços de táxi, como o Lyft, viram uma oportunidade de melhorar a experiência do cliente com mapas.
Por causa da API do Google Maps, o Lyft não precisou se preocupar em conectar mapas ao aplicativo. A empresa consegue se concentrar nos processos de negócios que proporcionam uma ótima experiência de compartilhamento de viagens.
O instinto de usar APIs dessa maneira, para criar uma ótima experiência do cliente, deve surgir naturalmente para aqueles que desejam ser Trailblazers da integração. Caberá a você ensinar outros membros da organização a pensar dessa maneira.
Maior mobilidade
Os dispositivos consumidores são facilmente movidos de um soquete para outro. Por exemplo, sem tomada ou especificações correspondentes, a dona da academia pode ter de ligar o equipamento nas paredes do edifício. Isto implicaria reunir as ferramentas necessárias, desencapar todos os fios e uni-los. Claro que ela também precisaria saber algo sobre os fios que saem da parede.
Graças a uma interface padrão, a movimentação de equipamentos é simples. (Pense em atualizar o software, migrar para um novo serviço ou expandir a instalação do seu data center.) Mesmo que o padrão da interface mude, como acontece quando se viaja da América do Norte para o Reino Unido, os dispositivos consumidores podem ser facilmente adaptados, já que as normas são bem definidas e documentadas.
Abstração
Examinando a academia, a tomada é uma camada de abstração do serviço subjacente, a energia elétrica. Você quer saber o que é abstração? É uma forma de esconder os detalhes de funcionamento de outro sistema.
Desde que o serviço forneça 120 volts de corrente elétrica alternada à tomada da parede da forma padrão, o provedor de serviços tem liberdade para mudar tudo e mais alguma coisa, desde a parte por trás da tomada até a fonte de energia. Todas as alterações ficam opacas para os dispositivos consumidores.
As APIs servem como uma camada de abstração entre os dados ou a função fornecida e a lógica necessária para concluir e executar uma tarefa na fonte. Em outras palavras, seu software só precisa saber como se conectar ao outro sistema, não como o outro sistema funciona.
Aumento da produtividade do desenvolvedor
Quando os programadores escrevem código, raramente começam do zero. As APIs são projetadas para pegar uma base de código existente e usá-la quando e onde quiser, em vez de tentar recriar esses recursos. Embora a reutilização do código existente limite a diferenciação entre aplicativos, uma referência à API (conhecida como "chamada" de API) pode fornecer ao programa a funcionalidade ou os dados esperados. Considerando como as APIs podem lidar com tarefas comuns e até mesmo com tarefas nem tão comuns, elas podem minimizar o tempo de desenvolvimento de aplicativos de meses, ou mesmo anos, para semanas.
Quando os desenvolvedores têm esse tipo de produtividade, os negócios alcançam agilidade sem precedentes. Como você pode ver na Integração liderada por API para reinvenção de negócios, graças às APIs, novos produtos e melhores maneiras de fazer negócios são alcançáveis em uma fração do tempo que costumavam demorar.
Como usar protocolos HTTP para acessar dados
Embora não existam regras ou leis que decidam exatamente como os desenvolvedores devem conectar seus aplicativos a uma API, vários padrões surgiram. Por exemplo, quando os aplicativos se conectam a APIs pela Internet, a maioria dos provedores de APIs disponibiliza essas conexões por HTTP, ou Protocolo de Transferência de Hipertexto, também conhecido como World Wide Web.
Independentemente de ser um aplicativo em seu telefone que está chamando um API, você recuperando sua contagem atual de calorias em um navegador ou salvando suas informações de treino no software do equipamento de ginástica, existe o uso de um conjunto especial de comandos HTTP chamados verbos.
Verbos HTTP
|
Descrições
|
---|---|
POST |
Submeter dados solicitados a um servidor para processamento |
GET |
Recuperar dados solicitados de um servidor |
PUT |
Atualizar e substituir dados existentes por novos dados enviados na solicitação |
DELETE |
Remover os dados solicitados do servidor |
Na maioria dos casos, o provedor de serviços fornece um endereço Web especial, conhecido como ponto de extremidade da API, para que o software se conecte usando um verbo HTTP. Veja um exemplo do FitBit.
GET https://api.fitbit.com/1/user/[user-id]/activities/date/[date].json
Repare que em vez do "www" que você conhece, o FitBit usa "api". Aqui, os desenvolvedores podem usar o comando GET para retornar os dados necessários à exibição nos aplicativos. No caso desse ponto de extremidade, a resposta esperada incluirá a última atividade (em execução), além de todos os desafios físicos que o usuário tenha concluído recentemente.
Se uma esteira conectada usasse essa API, ela poderia mostrar uma grande quantidade de informações úteis para o corredor! Veja este exemplo da resposta recebida em uma solicitação GET à API do Fitbit.
API
É claro que a resposta acima não é muito intuitiva e nunca seria apresentada ao usuário da esteira. Ela está formatada de acordo com outro padrão chamado JSON (JavaScript Object Notation), que costuma ser usado com HTTP. Embora pareça muito técnico, há uma nova classe de ferramentas de integração cidadã, como o MuleSoft Composer, que facilita o trabalho com essas saídas para quem não é programador. Isso permite que os integradores cidadãos imaginem novas maneiras de usar APIs e atuem em relação a essas ideias criando as próprias integrações. Enquanto os programadores podem desenvolver código para ler e processar a resposta acima, os integradores cidadãos, por exemplo, um gerente de linha de negócios ou um designer de esteiras, usam cliques.
Interface da esteira
Depois que a esteira recebe uma resposta, o usuário pode ver o total de calorias queimadas, como ele está se saindo no desafio de fitness mais recente e muito mais.
Agora, coloque-se no lugar do designer da interface de usuário da esteira. Você tem alguma ideia para uma interface de usuário diferente? Talvez uma que tire proveito de alguns outros dados na resposta? É bem possível. Esse tipo de flexibilidade para fazer alterações na interface de usuário é um exemplo de benefícios que você obtém com o tipo de abstração que as APIs oferecem.
Olha só: os aplicativos não estão limitados ao uso de uma API de cada vez! Um aplicativo pode fazer chamadas para várias APIs e provedores de APIs. Esses aplicativos compostos são às vezes chamados de mashups e, como uma receita que pode incluir qualquer ingrediente, a única limitação em termos do que pode ser realizado com um mashup é a sua imaginação.
Graças às milhares de APIs que os desenvolvedores de software e não programadores equipados com ferramentas de integração cidadã (integradores cidadãos) podem alcançar pela Internet (mais de 23.000 de acordo com a última contagem feita pela ProgrammableWeb.com), a Web se transformou em uma plataforma programável que é tão poderosa, se não mais, que as plataformas programáveis, incluindo Windows, Mac e Linux. É como uma prateleira enorme de temperos que você pode usar quando desejar. Quanto mais cedo você começar a repensar os processos de negócios da organização e as experiências do cliente como mashups criados com ingredientes prontos para usar, mais cedo saberá como usar APIs para transformar seus negócios!
Recursos