Concrete Logo
Hamburger button

Apigee Edge DevJam: Construa sua própria API!

  • Blog
  • 4 de Março de 2016
Share

*Esse post teve a colaboração de Kleber Toyota e Renan Barbioni.

Em dezembro do ano passado participamos do Workshop “Apigee Edge DevJam: Construa sua própria API!”. O Workshop foi realizado pelo Mundo API, um grupo que promove eventos destinados a todos que desejam entender melhor o mundo das APIs e utilizá-las para incrementar seus negócios. A Apigee, por sua vez, consiste em uma Plataforma inteligente em forma de API, capaz de oferecer uma solução completa para transferência de negócios ao mundo digital.

O Workshop foi apresentado por Ricardo de Andrade, representante da Apigee no Brasil e na América Latina, que, a partir de uma abordagem prática, discutiu como o uso da Plataforma Apigee Edge pode auxiliar o usuário a alcançar, dentre outros, os seguintes objetivos:

  • Definição de uma API utilizando o Swagger;
  • Construção de uma API de alto desempenho a partir de um BackEnd existente utilizando o ApiGee API Services;
  • Ganho de visibilidade end-to-end entre as camadas de sua API e do usuário até o BackEnd utilizando ApiGee Analytics Services;
  • Entendimento do quão rápido é o desenvolvimento e monetização de APIs usando o ApiGee Developer Service.

O evento, que começaria pela manhã, teve que alterar o cronograma devido à constante oscilação de energia ainda no início. Por isso, o horário de todas as atividades foi postergado. Começamos por volta das 14h. Ainda assim, de manhã participamos de um bate-papo com uma breve apresentação sobre a empresa Apigee, os serviços oferecidos, alguns casos de sucesso nos quais a Plataforma Apigee Edge foi utilizada e respostas a algumas perguntas realizadas pelos participantes do evento.

No período da tarde, como houve redução do tempo programado para o evento, o Workshop ocorreu de forma mais condensada e acelerada, com um enfoque mais prático. Assim, não divemos muitos detalhes das funcionalidades da Plataforma, mas pudemos ver a criação de uma aplicação de exemplo. Essa aplicação pôde ser reproduzida em um curto período de tempo por alguns participantes, mostrando a facilidade e agilidade que a plataforma oferece.

Função de uma API

Função de uma API

Como a principal abordagem do Workshop era APIs, é interessante fazermos um overview sobre o tema. Conforme demonstrado na figura acima, uma API é utilizada para promover uma comunicação simples entre diversos dispositivos (Mobile, Point of Scale, Partner, Web, etc.) e um BackEnd (Accounting, CRM, Financials, Sales, Databases, Legacy Systems, etc.), fazendo com que os acessos a funcionalidades complexas e com diversas requisições em um BackEnd não sejam trabalhosos e facilitando o acesso à informação (sites, serviços, etc.). Além disso, como pode ser visto na figura abaixo, a prestação de serviços de empresas a outras empresas e pessoas fica mais estruturada e controlada. Assim, as empresas que oferecem APIs têm a possibilidade de divulgar seu trabalho e expor seus serviços de forma simples e rápida, sem grandes burocracias.

API para desenvolvedores

API para desenvolvedores

A plataforma oferecida pela Apigee facilita a criação dessa API, e é bastante útil a usuários que não possuem grandes conhecimentos em desenvolvimento de software ou não possuem tempo livre para realizar uma implementação complexa. Além disso, a plataforma traz uma gama de opções que podem transformar uma pequena aplicação em uma poderosa ferramenta.

Arquitetura

A arquitetura da plataforma oferecida pela Apigee fornece grande quantidade de ferramentas para o desenvolvimento de aplicações. Por exemplo, é possível contratar a Apigee como serviço em cloud e utilizar a arquitetura em nuvem, assim como também é possível contratar a instalação em um ambiente local, no qual o cliente possui maior flexibilidade mas fica dependente de sua própria estrutura. Além disso, é possível configurar a Apigee como gateway para uma outra API, podendo utilizar as features de segurança, cache e dados analíticos. Outra possibilidade é utilizar o armazenamento interno, trazendo bancos de dados para o formato suportado pela plataforma (NoSQL) e, assim, gerar uma API para gerenciar esses dados de forma muito prática.

Abaixo, está a arquitetura completa oferecida pela Plataforma da Apigee Edge. Essa plataforma oferece uma camada externa com alertas, monitoramento e autenticação; uma camada de desenvolvimento, na qual podem ser implementados códigos em Python ou Javascript na aplicação; e, por fim, a API que pode realizar acessos a diversos recursos (outras APIs, aplicações rodando no BackEnd, bancos de dados, etc.).

Arquitetura da plataforma Apigee

Arquitetura da plataforma Apigee

As maiores facilidades oferecidas pela plataforma da Apigee se resumem à pequena ou nula quantidade de código que precisa ser gerado para colocar uma aplicação no ar e a capacidade de realizar análises sobre tudo o que acontece em sua aplicação de forma automática, a partir das ferramentas de Analytics.

Analytics

Os dados analíticos da plataforma da Apigee são bem completos e apresentados em dashboards. Eles fornecem informação significativa sobre transações, sessões de usuários, devices, acesso a dados e performance. Segue abaixo um exemplo de dashboard em que são exibidos dados sobre a duração das sessões em um determinado período de tempo.

Analytics

Analytics

O evento nos mostrou, portanto, que a contratação do serviço da Apigee é significativamente promissora para sistemas legados e que necessitam de uma API bastante completa em curto período de tempo. Porém, em implementações mais complexas há o risco de não conseguir trazer alguma funcionalidade para dentro da plataforma da Apigee e, então, seria necessário criar um serviço externo, o que poderá agregar mais trabalho e reduzir a performance da aplicação. Além disso, algumas discussões sobre a utilização da ferramenta para realizar algum tipo de cache ou até mesmo POCs foram realizadas e possíveis implementações nessa linha pareceram bastante úteis. Assim, concluímos que conhecemos uma importante forma de desenvolvimento de APIs, que deve estar como uma possibilidade em nossa “caixa de ferramenta”, mas que não substitui completamente o desenvolvimento atual de APIs.

Ficou alguma dúvida ou tem alguma contribuição? Deixe seu comentário abaixo!