Olá, Adrian, e bem-vindo de volta.
Agora, no vídeo de hoje, vamos discutir sobre os conceitos básicos da interface de programação de
aplicações referida como API.
Agora, antes de discutirmos as vantagens que o API proporciona, vamos analisar um desafio simples que
nos permitirá compreender as vantagens.
Então vamos assumir que você tem um distribuidor de livros, e este distribuidor mantém a lista de livros
disponíveis em seu sistema backend, e há um operador que está trabalhando para este distribuidor e este operador
tem acesso a este sistema backend através do qual ele pode verificar a disponibilidade dos livros e dos
clientes.
Eles geralmente se conectam ao operador específico através de uma opção de chamada telefônica ou chat para entender a disponibilidade
de livros.
Portanto, se você tiver que olhar para isto da perspectiva diagramática, pareceria algo semelhante
a isto onde você tem algum tipo de sistema backend, você tem seu operador aqui e você tem um cliente.
Agora o operador tem acesso ao sistema backend através do qual ele pode verificar a lista de livros e clientes
disponíveis.
Como eles não têm acesso ao sistema backend, eles se conectam com o operador para verificar a disponibilidade.
Agora, a partir desta arquitetura específica, você pode entender os desafios que este operador, bem como
os clientes, enfrentariam para cada um dos livros.
Eles terão que entrar em contato com o operador.
E se você tem milhares de clientes, este tipo de abordagem não é escalável.
Portanto, o que você pode querer é que os clientes tenham acesso ao sistema backend, mas você não quer realmente que
isso aconteça.
Também porque o sistema backend também pode ter dados sensíveis, e se os clientes executarem algum comando aleatório
no sistema, ele também pode quebrar a aplicação geral.
Assim, para superar isto, você pode fazer uso de um API.
Assim, o distribuidor de livros poderia fornecer um API para verificar a disponibilidade de estoque.
Portanto, há aqui um API.
Os clientes podem enviar os dados para a API.
A API por sua vez se conectará com o sistema backend para verificar a disponibilidade e então a resposta será enviada
de volta ao cliente.
Assim, em uma visão geral de alto nível, a API permite que você abra acesso a seu recurso enquanto mantém a segurança e
o controle.
Portanto, nesta fase, os clientes não têm acesso direto ao sistema backend.
No entanto, existe uma camada intermediária através da qual as conexões funcionam.
Agora, nesta camada intermediária de API, você pode adicionar muitos controles de segurança, pode adicionar cache, pode adicionar
autenticação, pode adicionar um firewall de aplicação web, pode fazer algum tipo de estrangulamento de solicitação e assim
por diante.
Assim, tudo o que você pode fazer no nível da API e você também pode configurar a API para aceitar apenas certos tipos de
solicitações.
Por exemplo, nem todos os pedidos serão permitidos, mas somente o pedido para verificar a disponibilidade de
um determinado livro será permitido através do API.
Portanto, vamos fazer uma coisa para entender melhor as coisas em mais detalhes, praticamente também.
Vamos pegar um caso de uso simples.
Assim, o caso de uso afirma que James quer construir uma aplicação de boletim meteorológico.
Pode ser Android, aplicação iOS e para construir uma aplicação de boletim meteorológico, você precisa ir buscar
dados de algum lugar porque existem muitas áreas em todo o mundo.
Portanto, existe um site chamado Open Weather Map, que é um serviço online que fornece os dados meteorológicos
globais através da API.
Agora novamente, observe que estes dados são fornecidos através do API.
Assim, o que James faz, ele decide conectar sua aplicação ao mapa meteorológico API aberto para buscar
os últimos relatórios e preenchê-lo em sua aplicação.
Assim, talvez James possa construir algum tipo de gráfico, o que torna as coisas mais fáceis para os usuários entenderem o que
está acontecendo.
Portanto, vamos em frente e analisar isto de um ponto de vista prático.
Agora, se você olhar para o mapa do tempo aberto, verá que o clima de Mumbai é de 29 graus Celsius, o que
é bastante bom.
E também está dando a você a previsão dos próximos oito dias.
Além disso, este site específico também permite que você pesquise o clima de diferentes países e cidades.
Por exemplo, vamos tentar Londres.
Vamos ver qual é o clima lá.
Portanto, o tempo está a cinco graus Celsius.
E não apenas isso, você tem uma previsão horária, você tem uma previsão de oito dias.
Portanto, nesta fase, entendemos que James, como desenvolvedor individual, não será capaz de
criar todas essas previsões e fazer o clima em todos os países.
Então, ele decide fazer uso do tempo aberto.
Agora, o tempo aberto fornece certo conjunto de APIs através dos quais James pode se conectar para buscar os dados.
Portanto, se você olhar para aqui, vamos olhar para a seção API.
Agora, dependendo do API, há certos conjuntos de características que estão disponíveis.
Portanto, você tem uma versão 3 da API. 0.
Com isto, você recebe uma previsão de uma hora e tantas outras.
Você também tem um preço associado a isto no caso de preferir.
Agora, para a demonstração de hoje, eu já tenho uma chave API que criei.
Portanto, se você olhar para aqui, esta é a chave API.
Assim, através desta chave API posso me conectar com o tempo aberto para buscar os dados.
Portanto, vamos em frente e experimentemos agora a partir do CLI.
Se você fizer uma solicitação de chamada para o API do mapa do tempo aberto e dentro de seu eu também especifiquei
a chave API.
Agora, se eu pressionar enter, você recebe uma resposta específica aqui e com base na resposta que James recebe, ele pode
ir em frente e construir um conjunto apropriado de gráficos.
Agora, além disso, há muitos casos interessantes de uso onde você pode fazer uso do API.
Por exemplo, neste site específico através do API, se você ver através do API, você pode digitalizar um determinado
documento.
Portanto, se você não estiver ciente, se este documento tiver malware ou algum tipo de atividade maliciosa
através do API, você pode ir em frente e verificar se o documento é seguro ou não.
Agora, no mundo real, as APIs ambientais são amplamente utilizadas especificamente para os casos de uso em que
dois softwares querem se comunicar um com o outro.
Assim, por exemplo, a aplicação James Weather Report quer se comunicar com o mapa meteorológico aberto.
Portanto, estes são dois softwares que querem se comunicar um com o outro.
Portanto, é aqui que também as APIs são utilizadas de forma muito intensa.
Portanto, esta é uma visão geral de alto nível sobre o que são as APIs e com isto concluirá o vídeo de hoje.