Contratos de API - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Contratos de API

Cada microfrontend é um sistema capaz de encapsular opiniões, lógica e complexidade. As preocupações transversais geralmente incluem o seguinte:

  • Sistemas de design ‒ Ferramentas para desenvolver UIs distribuídas como bibliotecas

  • Composição ‒ A forma como um microfrontend precisa interagir com um shell de aplicativo para renderizar e herdar seu contexto

  • Manipulação lógica ‒ Interação com APIs para lidar com o estado persistente

  • Interatividade com outros microfront-ends ‒ Cenários como publicar e consumir eventos ou navegar de um microfrontend para outro

Para acelerar o consumo e a solução de problemas, é comum investir na padronização da forma como essas interfaces são declaradas e documentadas, incluindo dependências de microfront-end. Wikis organizados por humanos são um bom começo. Uma abordagem mais escalável é armazenar essas informações como metadados estruturados no código. Em seguida, você pode centralizá-lo para consumo usando a automação para rastrear alterações históricas e fornecer pesquisa de texto completo.

Quando os microfrontends envolvem um grande número de equipes, você precisa de uma estratégia para coordenar as equipes. Compartilhar contratos de API de forma unificada se torna essencial porque reduz a sobrecarga de comunicação e melhora a experiência do desenvolvedor.

O OpenAPI é uma linguagem de especificação para HTTP APIs que suporta a definição de interfaces e contratos de API de forma unificada. Você pode implementar o REST APIs usando a OpenAPI no Amazon API Gateway. Você também pode usar uma grande variedade de estruturas de código aberto que podem ser hospedadas em contêineres ou máquinas virtuais. Uma vantagem significativa é que a OpenAPI pode gerar automaticamente documentação em um formato consistente, para que várias equipes possam compartilhar conhecimento com um investimento inicial mínimo.

Quando várias equipes trabalham em microfront-ends, elas geralmente formam grupos. Nesses grupos, as pessoas podem se encontrar e aprender umas com as outras enquanto pensam e contribuem para o panorama geral. Essas iniciativas geralmente definem e documentam os limites de propriedade, discutem questões transversais e identificam precocemente qualquer duplicação de esforços para resolver problemas comuns.