O que é BOA?

O BOA (Benner Open API) é o padrão de API abertas da Benner, acrescentando definições ao Open API que define uma interface padrão independente de linguagem para desenvolvimento de APIs baseadas no protocolo HTTP (REST).

O BOA surgiu na Guilda de Mobile em Maio de 2022, buscando a padronização entre API e recursos de API dos times dos produtos da Benner.

Como exemplos da falta de padrão, podemos citar:

  • Ter uma mensagem com código de retorno 200 (sucesso), descrevendo o erro no corpo da mensagem, o correto seria devolver o código do erro ocorrido.
  • Usar um POST para fazer um Delete, sem usar o próprio verbo DELETE.
  • Estruturas diferentes de paginação, cada programador criando sua própria estrutura.
  • Estruturas de rotas diferentes, com nomenclaturas e estruturas diferentes.
  • Autenticação básica outros OAuth2.
  • Registros de erro/log, registrando informações em locais distintos (arquivos, Event Viewer, etc.).

Qual o motivo te der um padrão?

Poder utilizar de forma homogênea todos os recursos da API, sem ter a preocupação com as funcionalidades padrão entre recursos, por exemplo: paginação, utilização de filtros, estruturação de rotas, etc. Desta forma a preocupação se torna a regra de negócio e ainda é importante dizer que para o consumidor das APIs o trabalho é facilitado.

Além disso, temos uma implementação compartilhada, ou seja, todos os times possuem acesso aos códigos que podem ser usados livremente nos produtos bem como a disponibilidade no NuGet da Tecnologia, assim, agregamos funcionalidades poderosas (filtros avançados sem necessidade de rotas novas, usam-se as mesmas rotas apenas alterando os parâmetros selecionados). Com isso, evitamos a poluição do catálogo de APIs da aplicação.

Resumidamente, podemos dizer que ter um padrão nos agrega simplificação, facilidade de manutenção, rápido aprendizado e performance.

Ah! Importante salientar que tanto no BEF .NET Core quanto no WES, os padrões são compatíveis e operacionais.

Como saber mais sobre BOA?

A documentação para a Wiki encontra-se aqui. Nela é possível verificar os padrões definidos pelo BOA.

Além disso, o Danilo Pereira da Silva juntamente com o Dirceu Schlickmann, gravaram um BE.TECH explicando o BOA:

O código fonte usado no BE.TECH pode ser baixado aqui.

Espero que tenha gostado, te vejo no próximo post, um abraço,

Danton C. Franco Junior

#TimeTec

Compartilhe
Autor
Leia mais
Comentários

Deixe um comentário

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