APIs – O que são e qual a sua importância?

Com o aumento do número de dispositivos e aplicações conectados através da transformação digital e da Internet das Coisas (IoT), cresce também a preocupação de construir redes seguras, garantindo assim a proteção dos dados utilizados (em tempos de legislações de proteção de dados ainda mais rígidas). Para garantir a comunicação e a integração entre diferentes soluções, foi criada uma série de rotinas e padrões para utilização das funcionalidades dos diferentes softwares,os quais são também chamados de Interfaces de Programação de Aplicações, Application Programming Interface, ou APIs. Assim, lançamos uma série de artigos para explicar a definição e a importância das APIs, seus benefícios e riscos de negócio e conceitos de segurança associados.
Os negócios, normalmente, necessitam de respostas rápidas em um contexto de mercados digitais cada vez mais dinâmicos, onde novos concorrentes conseguem mudar uma indústria inteira com um novo aplicativo. Para se manterem competitivos, é importante apoiar o desenvolvimento cada vez mais ágil e a implementação de serviços inovadores. E em tempos da pandemia de Covid-19, a tendência é que essa velocidade aumente ainda mais, exigindo respostas cada vez mais rápidas das organizações. E com a migração dos sistemas para modelos baseados em Cloud, o desenvolvimento neste tipo de modelo é uma forma de aumentar a velocidade de desenvolvimento, baseando-se na conexão da arquitetura de aplicação de microsserviços através de APIs.
Quando surgiu os APIs?
A história das APIs remonta ao início dos anos 2000, quando a Salesforce introduziu suas APIs na conferência IDG Demo. Na época, a Salesforce era baseada em web, e utilizava APIs XML em seu domínio Salesforce.com. Ainda no mesmo ano, o eBay lança suas APIs com o seu Programa para Desenvolvedores, que foi lançado inicialmente apenas para um grupo de parceiros e desenvolvedores. Daí em diante, outros fabricantes foram introduzindo suas APIs com os respectivos casos de uso para utilização. Amazon, Flickr, Facebook e Twitter são alguns dos gigantes que desenvolveram APIs para integração.
Como utilizar os APIs?
À medida que a utilização de APIs foi disseminada, uma especificação de protocolo foi desenvolvida para auxiliar a padronizar a troca de informações: Simple Object Access Protocol, ou SOAP. APIs desenvolvidas em SOAP utilizam XML em seu formato de mensagem e recebem requisições através de HTTP ou SMTP. A utilização do protocolo SOAP facilita a execução de aplicações em diferentes ambientes ou escritas em diferentes linguagens, para o compartilhamento de informações.
Outra especificação utilizada para troca de dados em APIs é o chamado Representational State Transfer (REST). As APIs aderentes às restrições de arquitetura REST também são chamadas de RESTful APIs. A diferença fundamental entre REST e SOAP é que, enquanto o primeiro é um estilo de arquitetura de APIs, o segundo é considerado um protocolo.
Mais recentemente, a especificação OpenAPI surgiu como um padrão comum para a definição de APIs REST. O OpenAPI estabelece uma forma agnóstica de linguagem para que desenvolvedores possam entendê-las com o mínimo esforço.
Um outro padrão que vem se destacando é o GraphQL, uma linguagem de consulta e runtime server-side que desponta como uma alternativa ao REST. Um dos diferenciais deste padrão é que ele permite que os desenvolvedores criem requisições capazes de obter dados de múltiplas fontes de dados com apenas uma chamada de API.
Quais as vantagens dos APIs?
Um dos principais benefícios da utilização de APIs é que elas permitem que um produto ou serviço se comunique com outros sem a necessidade de conhecer a sua implementação. Com isso, é possível simplificar o desenvolvimento de aplicações, diminuindo o tempo e os recursos gastos. Desta forma, ao desenvolver novos produtos e serviços – ou gerenciar os existentes – a utilização de APIs provê flexibilidade, simplifica o desenvolvimento, a administração e o uso, além de fornecer oportunidades para inovação.
APIs são também uma forma de conectar a infraestrutura através de desenvolvimento de aplicações nativas em Cloud, porém elas também permitem o compartilhamento de dados com clientes e outros usuários externos. As APIs públicas representam um valor de negócio único pelo fato de simplificarem e expandirem o modo como a organização se conecta com parceiros, assim como monetizar os dados tratados pelo desenvolvedor. Um exemplo disto é a utilização das APIs do Google Maps.
Em suma, a utilização de APIs permite a utilização dos recursos de uma aplicação por outros produtos e serviços, ao mesmo tempo que garante a segurança e controle. No entanto, a garantia da segurança das APIs é baseada em sua gestão, o que inclui a utilização de um gateway de APIs. Para que seja possível conectar às APIs e criar aplicações que consumam os dados ou funcionalidades oferecidas por elas, é necessário implementar uma plataforma de conexão de aplicações, incluindo sistemas legados e de IoT.
Quais os riscos de utilizar APIs?
No entanto, com o aumento de utilização de APIs, surge também um grande potencial para mais brechas de segurança. O risco é grande na maioria das organizações pelo fato do time de desenvolvimento dar mais atenção a itens como funcionalidades e agilidade do que ao aspecto segurança, o que também é chamado de security-by-design. Assim, é necessário que os desenvolvedores entendam os riscos associados para manter seguros os dados dos clientes, fornecedores, parceiros e funcionários, além de guias para assegurar que o desenvolvimento de suas APIs não crie problemas de segurança.
A utilização de APIs vem aumentando, o que permite às organizações construírem aplicações cada vez mais dinâmicas. Contudo, ao extrair as vantagens destas capacidades, o time de Desenvolvimento necessita estar ciente das potenciais brechas de segurança, além de como eliminá-las e, assim, garantir a confiança dos clientes, parceiros e fornecedores, em conformidade com as legislações e políticas de proteção de dados vigentes, além da própria continuidade do negócio.
Em nosso próximo artigo sobre este assunto, abordaremos as melhores práticas para melhorar a segurança de aplicações que utilizam APIs, prevenindo a exploração de vulnerabilidades em APIs para a realização de ações maliciosas, como a extração indevida de dados.