{A} 1st - API First Strategy

{A} 1st - API First Strategy

Ao longo da última década, surgiram uma infinidades de paradigmas sobre desenvolvimento de software. Um deles é {A}1st ou API First.

Fazendo uma analogia, quando pensamos em um comércio, nosso objetivo de maior impacto e talvez o mais importante, seja abrir as portas para os clientes, por onde vem o nosso capital, por onde entrarão os produtos a serem vendidos, por onde passarão os funcionários. Então as portas devem estar sempre abertas. Correto?

Então porque não pensar da mesma maneira ao se planejar as aplicações? Nossa aplicação irá expor funcionalidades para outros aplicativos/clientes, certo? Iremos receber informações de outros sistemas ou parceiros, certo?

Mas apenas sair construindo API's, pode se tornar uma tarefa caótica em médio prazo. Para evitar isso, precisamos de planejamento e análise, além de se considerar alguns paradigmas importantes, como:

  1. Separação de interesses
    {A}1st é a separação formal entre o front-end de back-end. Semelhante ao paradigma Model View Controller, desacoplando dados da lógica de apresentação, forçando uma arquitetura de código melhor, o que a longo prazo, diminui a dependência de uma tecnologia, o acoplamento e facilitando enviar dados para várias views, independentemente do tamanho ou funcionalidade.
  2. Especialização
    Imagine se para construir uma aplicação web, você tivesse que saber como construir os microchips do zero. Graças à especialização e divisão do trabalho, tudo que você precisa focar é o código. Esta é a vantagem do API First Design. Os desenvolvedores só precisam saber os Requests e as sequências de Responses dos clientes da API. Esta abordagem libera a equipe de desenvolvimento front-end para se concentrar em algumas atividades específicas para interagir com os dados, e a equipe de back-end pode se concentrar em fornecer os dados de uma maneira RESTful. 
  3. Modularidade  
    Por que limitar-se a apenas à uma fonte de dados? Com as práticas modernas de desenvolvimento, você pode facilmente combinar múltiplas APIs para fazer uma poderosa aplicação. E se suas necessidades mudarem, basta adicionar ou remover uma API. Além disso, a abordagem modular facilita a ampliação da sua aplicação.

Além dos benefícios técnicos que a estratégia de {A}1st nos traz, também conseguimos fazer uma melhor separação dos recursos humanos do projeto, já que podemos separar o time em diferentes API's e/ou front-end. Isso otimiza a comunicação entre os times, a manutenção das aplicações, otimizando a entrega.

Em uma próxima oportunidade, falarei sobre como Profissionalizar a entrega de software de maneira ágil e consistente.

 

--
Lucas Massena
Enterprise Architect
lucas@massena.com.br

Entre para ver ou adicionar um comentário

Outros artigos de Lucas Massena

  • Event storming as a Digital Transformation enabler

    Event storming as a Digital Transformation enabler

    In the age of digital transformation, businesses need to find new ways to innovate and stay competitive. Event storming…

  • The end of the Middle Ages

    The end of the Middle Ages

    Can you imagine the Middle Ages are ending right now? Yes, we are exactly in the transition. Til now every teacher…

    2 comentários
  • Github is wrong and maybe it's your fault

    Github is wrong and maybe it's your fault

    Yes, you read correct. It could be your fault.

    4 comentários
  • Microservices e LGPD, tá preparado?

    Microservices e LGPD, tá preparado?

    Um dos trending topics do momento, é a Lei Geral Proteção de Dados, a tal LGPD. Você já sabe o quanto vai precisar…

    1 comentário
  • Habemus microservice

    Habemus microservice

    Avisem aos clientes que nós temos microservices! Parece até piada, não é mesmo? Mas é exatamente assim que vejo muitas…

    2 comentários
  • Microsserviços? Esqueças as API's

    Microsserviços? Esqueças as API's

    Pois é, você não leu errado. Esqueça as API's.

    10 comentários
  • Microsserviços, você precisa mesmo?

    Microsserviços, você precisa mesmo?

    Microsserviço é um dos temas mais polêmicos e que mais tenho falado recentemente, que sempre gera muitas e muitas…

    45 comentários
  • Cache pode não ser a solução do seu SQL

    Cache pode não ser a solução do seu SQL

    Há muitos anos, venho trabalhando como consultor de aplicações web de alto desempenho e constantemente me deparo com…

  • Microservices - A escalabilidade natural para o enterprise

    Microservices - A escalabilidade natural para o enterprise

    O conceito de microserviços existe há pouco tempo, é verdade. Mas foi só quando o Netflix anunciou a migração para esse…

Outras pessoas também visualizaram

Conferir tópicos