Skip to main content

Gerenciamento de APIs

Visão Geral

O módulo de gerenciamento de APIs (API Manager) é o responsável por reunir todo o ciclo de vida de desenvolvimento de APIs no DHuO. As APIs são organizadas por workspaces, sendo esses uma representação de times ou áreas. Para saber mais sobre Workspaces, acesse a seção Workspaces. Atualmente o DHuO suporta o ciclo de vida de APIs HTTP (REST e SOAP).

O ciclo de vida de desenvolvimento consiste:

  • no design da API, utilizando os padrões de especificação OpenAPI (anteriormente conhecido como Swagger)
  • na documentação de regras de negócio da API, utilizando Markdown
  • na configuração de políticas para exposição em um API Gateway
  • na geração de uma release das configurações da API desenvolvida
  • na implantação da release em um ou mais API Gateways
  • na publicação de documentação em um ou mais portais

Versionamento

O DHuO adota um modelo baseado no padrão de versionamento semântico (Semantic Versioning ou SemVer) para a gestão de diferentes versões de uma API durante seu ciclo de vida. Para saber mais sobre versionamento semântico, acesse a documentação oficial semver.org.

O modelo do DHuO utiliza apenas o conceito de versões major do versionamento semântico, para controle de quebra de compatibilidade entre versões (breaking changes). Assim, no DHuO, cada versão possui seu próprio contexto e artefatos, como a especificação, as configurações de políticas de gateway, a documentação e releases. O processo de alterar e salvar as modificações na especificação e documentação não implicam na geração de novas versões de uma API, funcionando como rascunhos dela. O mesmo vale para as políticas de gateway e a geração de releases durante o desenvolvimento.

Informação adicional

A criação de versões é flexível e fica a cargo da empresa ou da pessoa responsável pela Organização. A necessidade de versionamento vai depender de como a empresa controla o processo do ciclo de vida de evoluções dessas APIs.

No contexto de APIs, normalmente mantem-se disponível em um mesmo ambiente diferentes versões majors por questões de retrocompatibilidade, até que todos os consumidores façam a migração para versões mais recentes e as mais antigas sejam desativadas. Seguindo esse princípio, no DHuO é possível implantar mais de uma versão major de uma API em um gateway. Elas podem existir simultaneamente. Ao realizar uma implantação de uma release de uma versão já implantada, a implantação existente é substituída. Para saber mais sobre implantação de APIs, acesse a seção Implantação (Deploy) da API.

Políticas de Gateway

O papel principal de um API Gateway é expor APIs com segurança e resiliência. Mecanismos de autenticação e autorização ou controle de tráfego, como restrição de acesso por IP e taxa de requisições (rate limiting), são alguns exemplos de políticas configuradas para exposição de uma API em gateways. Políticas para transformação e enriquecimento de mensagens no tráfego entre consumidores e API Gateway ou API Gateway e aplicações também fazem parte do conjunto de configurações possíveis. Para saber mais, acesse a seção Políticas de Gateway da API.

Configuração

APIs são gerenciadas no contexto do Workspace. A partir da home, acesse o menu > APIs. Na página de APIs, elas podem ser cadastradas e gerenciadas. Ao criar ou visualizar uma API, os dados serão exibidos no estúdio da API.

Estúdio é uma interface de menus e contextos específicos para o gerenciamento de configurações da API. No estúdio da API é possível gerenciar:

  • Versões da API
  • Especificação
  • Documentação
  • Políticas de Gateway
  • Geração e implantação de releases
  • Publicação de documentação

Para criar uma nova API, acesse o botão Criar > API no topo da página de APIs. Para criar uma nova versão da API, acesse o botão Nova versão no topo da página do estúdio.

Os parâmetros da API e suas versões podem ser gerenciados no menu > Configuração no estúdio da API.

Informação adicional

A quantidade de APIs e versões permitidas pode ser limitada e está condicionada à licença DHuO adquirida. Para saber mais, acesse a seção Conta de produto e licença.

Permissões

Apenas usuários com papel de administrador da organização (Org Admin) ou provedor de APIs (API Provider) podem gerenciar APIs. Para saber mais, acesse a seção Papéis e permissões.

Parâmetros da API

Aqui estão os parâmetros para configuração de uma API:

  • Nome: Obrigatório. Nome da API. Deve conter pelo menos 5 caracteres.
Informação adicional

As APIs são únicas por Organização. Não é possível ter mais de uma API com o mesmo nome.

O nome de uma API pode conter apenas letras sem acentos, espaços, números e os caracteres ., - e _.

  • Formato: Obrigatório. Formato da especificação da API. O formato consiste do padrão de especificação a ser utilizado (OpenAPI ou Swagger 2) e do formato do arquivo (JSON ou YAML). Opções: OpenAPI 3 (JSON), OpenAPI 3 (YAML), Swagger 2 (JSON), Swagger 2 (YAML).
Atenção!

O formato recomendado para utilização é OpenAPI. O formato Swagger está em desuso e é suportado apenas por questões de compatibilidade com especificações de APIs legadas. Sempre que possível, realize a conversão para o formato OpenAPI.

Não é possível alterar o formato da especificação após a criação da API. Caso seja necessário alterá-lo, é preciso excluir a API e criar uma nova com as configurações desejadas.

  • Categorias: Lista opcional de categorias para classificação da API. Para saber mais sobre categorias, acesse a seção Categorias da Administração geral.
Informação adicional

A quantidade suportada de categorias associadas a uma API é limitada a 10.

Atenção!

Não é possível excluir uma API caso ela:

  • possua alguma versão implantada em algum ambiente
  • possua alguma versão com documentação publicada em algum portal

É necessário remover todas as implantações e publicações de todas as versões relacionadas para excluir uma API.

Cuidado!

Ao excluir uma API, todas as versões relacionadas a ela são excluídas permanentemente.

Parâmetros da versão da API

Aqui estão os parâmetros para configuração de uma versão de API:

  • Versão de referência: Obrigatório. Versão que servirá de base para a nova versão. A nova versão conterá uma cópia da especificação e da documentação da versão de referência.
Atenção!

Não é possível excluir uma versão de API caso ela:

  • esteja implantada em algum ambiente
  • esteja com documentação publicada em algum portal

É necessário remover todas as implantações e publicações relacionadas para excluir uma versão de API.

Cuidado!

Ao excluir uma versão de API, toda especificação, a documentação, políticas de gateway e releases relacionados a ela são excluídos permanentemente.