Estilo arquitetônico para APIs - como fazer uma escolha

Tanta escolha, ao criar uma nova API. Qual estilo de arquitetura devemos escolher para nossa nova API legal? Existem práticas recomendadas em relação ao estilo arquitetural das APIs?

Mas primeiro, o que é um estilo arquitetônico? Em geral, um estilo arquitetônico é uma estrutura de solução predefinida em larga escala. Existem estilos arquitetônicos para praticamente qualquer coisa, por exemplo, para a construção de casas, a construção de software e a criação de APIs em particular. Usar um estilo arquitetural nos ajuda a projetar a solução mais rapidamente do que projetar tudo do zero.

Os estilos arquitetônicos fornecem elementos de solução predefinidos e, portanto, são semelhantes aos padrões ou modelos de design. Enquanto padrões e modelos de design são frequentemente usados ​​para resolver problemas de implementação local, como iterar através de uma lista, os estilos arquitetônicos fornecem uma solução para um desafio maior. A decisão por um estilo arquitetônico é abrangente e permeia a solução completa.

A escolha dos estilos de arquitetura deve ser uma das primeiras decisões ao criar uma nova API, pois é difícil mudar mais tarde.

  • Estilo da API REST (Representational State Transfer) com HATEOAS em todos os seus "níveis", conforme definido no Richardson Maturity Index.
  • Estilo da API GraphQL
  • Estilo da API RPC (chamada de procedimento remoto)
  • Estilo da API SOAP
  • Estilo da API do gRPC
  • Estilo da API Falcor

As APIs podem ser realizadas basicamente usando qualquer um desses estilos de arquitetura. Como sabemos se um estilo específico é apropriado para uma determinada API? A API resultante expõe muitas propriedades desejáveis.

Práticas recomendadas em relação ao estilo arquitetural para APIs

É uma prática recomendada realizar APIs usando o estilo de arquitetura REST. Também é o estilo mais comum. É por isso que se pode presumir na prática que as APIs são realizadas com o estilo REST. Deseja aprender o estilo REST para design de API? Confira o RESTful API Design Book.

Publicado originalmente na API-University.