Backend for Frontend

Resumo

O Backend for Frontend (BFF) é um padrão arquitetural que cria uma camada de back-end dedicada por front-end (web, mobile, IoT). Essa camada atua como intermediária e adaptadora, agregando e transformando dados de múltiplos serviços para entregar apenas o necessário no formato ideal, reforçando eficiência, desacoplamento e qualidade de experiência, com custos adicionais de governança e manutenção.

Definição

O BFF é uma camada de back-end específica para cada front-end, responsável por orquestrar, agregar e transformar dados de microserviços e sistemas legados, expondo APIs sob medida que reduzem acoplamento e otimizam payloads e latência conforme as necessidades de cada canal.

Características principais

Benefícios

Desafios

Critérios de uso

Relações

Visualização

%%{init: {
  'theme': 'base',
  'themeVariables': {
    'background': '#0F1520',
    'mainBkg': '#253048',
    'nodeBorder': '#4A90D9',
    'primaryColor': '#253048',
    'primaryTextColor': '#E8EAF0',
    'primaryBorderColor': '#4A90D9',
    'lineColor': '#4A90D9',
    'textColor': '#E8EAF0',
    'edgeLabelBackground': '#253048',
    'clusterBkg': '#1E2A44',
    'clusterBorder': '#4A90D9',
    'titleColor': '#4A90D9',
    'fontSize': '14px'
  },
  'flowchart': {
    'nodeSpacing': 30,
    'rankSpacing': 30
  }
}}%%
flowchart LR

subgraph Frontends
    F1[Web]
    F2[Mobile]
    F3[IoT]
end

subgraph BFFs
    B1[BFF Web]
    B2[BFF Mobile]
    B3[BFF IoT]
end

subgraph Core Services
    S1[Users]
    S2[Products]
    S3[Orders]
    S4[Notifications]
    S5[Inventory]
    S6[Auth]
end

F1 --> B1
F2 --> B2
F3 --> B3

B1 --> S1
B1 --> S2
B1 --> S3
B1 --> S5
B1 --> S6

B2 --> S1
B2 --> S2
B2 --> S4
B2 --> S6

B3 --> S2
B3 --> S5
B3 --> S6