Entenda o que é uma API de forma clara e objetiva

Entenda o que é API de forma clara e objetiva

Olá pessoal, neste post vou falar sobre o que é uma API, Application Programming Interface ou Interface de Programação de Aplicativos.

O objetivo principal é mostrar através de exemplos o que é uma API, sem entrar a fundo em termos técnicos e protocolos disponíveis de desenvolvimento para facilitar o entendimento.

So, let’s get started

Como duas aplicações se comunicam

Para entender o que é uma API primeiro precisamos analisar como duas aplicações trocam informações entre si.

Duas aplicações podem estar sendo executadas no mesmo computador e até mesmo terem sido desenvolvidas na mesma linguagem de programação, mas não é possível fazer com que estas duas aplicações troquem informações entre si sem a definição de alguma forma de comunicação entre elas.

Duas aplicações só trocam informações entre si a partir de definição de alguma forma de comunicação.

O exemplo clássico: Transações bancárias

Para citar um exemplo prático de comunicação entre aplicações vou utilizar as transações bancárias.

Sempre que um processo de TED (Transferência Eletrônica Disponível) é realizado, o sistema do banco de origem precisa avisar o sistema do banco de destino que um valor deve ser creditado em uma determinada conta.

Obs.: A partir daqui vou citar os banco de origem e destino como apenas banco A e banco B, respectivamente.

Para realizar esta troca de informações é necessário que o sistema dos dois bancos tenham alguma forma de “conversar” entre si. Esse processo é bastante antigo e conhecido no mundo corporativo como EDI, Enterprise Data Integration ou Integração de Dados Empresariais.

Como nos primórdios da programação existiam poucos (ou nenhum) protocolos definidos para troca de informações entre aplicações, uma das formas mais práticas de realizar este processo era através da geração de arquivos contendo informações em um layout conhecido pelos duas aplicações.

Troca de informações por arquivo

Em nosso exemplo de transação financeira este processo funcionaria basicamente na seguinte ordem:

  1. A aplicação do banco A cria um arquivo (que na grande maioria das vezes é no formato TXT) contendo informações sobre o valor e em qual conta deve ser creditado;
    1. As informações dentro deste arquivo precisam estar em linhas e posições conhecidas pela aplicação do banco B;
  2. A aplicação do banco A salva o arquivo em um determinado diretório também conhecido pela aplicação do banco B;
  3. A aplicação do banco A inicia então o processo de verificação de retorno do processamento aguardando a geração de outro arquivo contendo estes dados em algum outro diretório;
  4. A aplicação do banco B, que já estava verificando de tempos em tempos a geração de um novo arquivo, carrega o arquivo salvo no segundo passo pela aplicação do banco A e realiza o crédito na conta de destino;
  5. A aplicação do banco B então gera um arquivo contendo os dados de retorno no diretório em que a aplicação do banco A está verificando novos arquivos e inicia novamente o processo de espera de novos arquivo serem gerados.
  6. A aplicação do banco A carrega o arquivo de retorno gerado e a transação é concluída.

Este processo é bastante simples, mas possui diversas características que colocam em risco a integridade deste troca de informações e também aumentam o custo de desenvolvimento e manutenção.

Os riscos da troca de arquivos e o alto custo de manutenção

Existem muitos riscos no processo de troca de informações por arquivos. Veja abaixo alguns deles:

  • O arquivo pode ser corrompido no momento da escrita ou leitura;
  • A aplicação precisa verificar a existência novos arquivos de tempos em tempos gerando alto consumo de recurso;
  • Aguardar a geração do arquivo de retorno é um processo lento pois você não se sabe quanto tempo será necessário aguardar e então é necessário aguardar um tempo impreciso que muitas vezes é maior que o necessário;
  • A aplicação de destino pode começar a ler o arquivo antes que o arquivo tenha sido completamente escrito e processar dados incompletos ou até mesmo;
  • Arquivos ficarem trancados pelo sistema operacional gerando mensagem de arquivo em uso por outro processo;

Além destes riscos existem também algumas características que aumentam o custo de manutenção deste processo:

  • O layout do arquivo deve ser conhecido pelas duas aplicações e qualquer detalhe que for alterado exige que as duas aplicações sejam atualizadas para que a comunicação continue acontecendo;
  • Disponibilizar um diretório acessível pelas duas aplicações significa em alguns casos ter que contratar uma hospedagem ou disponibilizar um acesso público na rede privada da empresa para que a aplicação de outra empresa possa ler e escrever arquivos.

Como trocar informações entre aplicações de forma segura e com custo baixo

Olhando para nosso exemplo, imagine que a aplicação do banco B disponibilizasse alguma forma de comunicação por onde a aplicação do banco A pudesse enviar as informações diretamente para a aplicação, sem a necessidade da geração de um arquivo em uma pasta.

Será que isso é possível? SIM! Através de uma API.

Troca de informações por API

Uma API nada mais é do que uma interface que disponibiliza funcionalidades acessíveis por outras aplicações.

De uma forma mais prática pode se dizer que, com o uso de APIs, uma aplicação pode se comunicar com outra acessando as funcionalidades da outra aplicação diretamente do seu próprio código fonte.

Veja por exemplo o sistema Maps do Google. Existe todo um sistema integrado com satélites para realizar o mapeamento global, um sistema de inteligência para interpretar as informações de busca dos usuários e sinalizar os endereços no mapa, uma funcionalidade para calcular qual a melhor rota de um local até outro e diversas outras funcionalidades para que o sistema funcione.

Além disso tudo possui também uma API por onde qualquer aplicação pode enviar diretamente do seu código fonte as coordenadas de latitude e longitude e obter a imagem daquela localização no mapa.

Em nosso exemplo de transação financeira, o banco B poderia ter uma API por onde o banco A enviaria diretamente as informações da transação e receberia na mesma linha de código os dados de retorno do processamento.

Os benefícios de se utilizar uma API

Os benefícios do uso de APIs são diversos e em comparação com a troca de informações por arquivo podemos citar principalmente:

  • O processo não depende da geração de um arquivo, logo, todos os problemas relacionados à leitura e escrita de arquivos deixam de existir;
  • As aplicações iniciam o processamento no exato momento em que recebem informações e não precisam verificar de tempos em tempos a existência de novos arquivos, diminuindo assim o consumo de recursos;
  • A aplicação de origem recebe os dados de retorno tão logo o processo é finalizado na aplicação de destino, diminuindo o tempo de processamento total;
  • Alterações na estrutura de troca de informações podem ser realizadas com baixo risco de impactar a comunicação e;
  • Não é necessário disponibilizar um diretório acessível pelas duas aplicações pois a API terá suas funcionalidades acessíveis diretamente a partir do código fonte da aplicação de origem.

Apesar do termo API estar em evidência a pouco tempo no Brasil, as maiores empresas de desenvolvimento do mundo já estão há alguns anos migrando suas ferramentas para a nuvem e investindo pesado no desenvolvimento de APIs que facilitam a comunicação de outras aplicações de uma forma prática, segura e com custo baixo.

Aqui você pode acessar o eBook que preparamos com os 7 benefícios da API.

Conclusão

Como podemos ver, a troca de informações entre duas aplicações é realizada através da definição de um processo de comunicação entre elas.

Nos primórdios da tecnologia existiam poucas formas de se realizar este processo e então o padrão adotado foi através da geração de arquivos. Este padrão, apesar de muito conhecido e amplamente utilizado no desenvolvimento de aplicações, possui características que colocam em risco a integridade do processo e elevam o custo de manutenção.

No entanto, com a tecnologia disponível hoje em dia, podemos facilmente melhorar este processo através do uso de APIs.

Se você gostou deste post dê um like clicando no botão disponível logo acima do post, envie o link para seus amigos e compartilhe nas redes sociais para que outras pessoas também entendam o que é API e possam se beneficiar do seu uso.

Abaixo eu vou deixar o Webinar que fiz sobre o assunto direcionando para API para Documentos Fiscais Eletrônicos!

Screenshot_2

Um grande abraço e até a próxima…

Referências

Google Maps API

Quer continuar por dentro das atualizações no âmbito de Documentos Fiscais Eletrônicos? Mantenha-se atualizado, acesse nossas páginas abaixo:

icone-FB   icone-twittericone-linkedin                                                                    
 

Contatos
Comercial:
E-mail: felipe@nstecnologia.com.br
Telefone: (51) 3692-1123

Gostou do Post? Caso você não conheça nossa API entre em contato conosco! 

 

2 comentários em “Entenda o que é uma API de forma clara e objetiva

  1. Pingback: Como Emitir CTe em 5 Minutos

  2. Pingback: Como emitir BPe com a nossa API em três passos simples

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *