9 minutos
h1

Este artigo explica como repensar a extensibilidade do Adobe Commerce por meio do Adobe Developer App Builder e substituir grandes partes do PHP personalizado por uma arquitetura mais escalável pode melhorar a escalabilidade, a estabilidade e a manutenção, projetadas para crescimento de longo prazo em um ambiente de produção real.

Introdução

Por anos, a extensibilidade em PHP foi a base da personalização do Adobe Commerce. Mas, à medida que as arquiteturas nativas da nuvem evoluem, surgem alternativas melhores. Em uma implementação recente para um importante provedor europeu de mobilidade e serviços financeiros, substituímos uma parte significativa do desenvolvimento tradicional de módulos do Adobe Commerce pelo App Builder, a plataforma de extensibilidade nativa da nuvem da Adobe. Para isso, utilizamos as ações em tempo de execução (funções sem servidor), os eventos e as APIs para fornecer uma solução mais escalável e sustentável. Este artigo detalha os motivos por trás dessa decisão, a estrutura da arquitetura e os aprendizados.

Visão geral

Uma abordagem de priorização de API com o Adobe Commerce pode ser adotada de forma incremental, avaliando quais recursos seriam mais benéficos de serem executados como aplicativos nativos em nuvem fora da plataforma principal do Adobe Commerce e migrando esses recursos primeiro.

Esse processo levou a um resultado claro:

Esse equilíbrio nos permitiu manter a lógica nativa e relacionada ao checkout próxima do Commerce, ao mesmo tempo em que deslocamos tarefas de integração, validação, processamento em segundo plano e orquestração para o App Builder, onde a escalabilidade, isolamento e flexibilidade de implantação se destacam.

A arquitetura resultante (veja o diagrama abaixo, que descreve apenas extensões do App Builder) reflete essa abordagem híbrida: o Adobe Commerce permanece como o núcleo transacional, enquanto o App Builder atua como a base de integração e automação. Essa estratégia conecta identidade (SSO), PIM, ERP, serviços de terceiros e lógica de negócios personalizada por meio de fluxos orientados a eventos e a API Mesh (serviço de orquestração de APIs da Adobe).

Alt padrão

Apresentação da arquitetura: como funciona o modelo híbrido

No centro da solução está o Adobe Commerce, fazendo o que faz de melhor: cuidando de catálogos, precificação, carrinhos, checkouts e pedidos. Mantivemos deliberadamente o núcleo transacional limpo e estável, evitando personalizações desnecessárias dentro do tempo de execução do Commerce.

Tudo ao redor desse núcleo, identidade, validação de dados, lógica de disponibilidade, processamento em segundo plano e integrações com terceiros, é tratado por meio do App Builder e da Adobe API Mesh.

A experiência do comprador é toda baseada na nova vitrine do Commerce (desenvolvida com o Edge Delivery Services).

1. Camada de entrada: CDN, vitrine do Commerce e serviço de identidade

Todo o tráfego de visitantes regulares do site chega primeiro à CDN + Edge Delivery Service, que garante desempenho, segurança e entrega global ideais antes que qualquer solicitação alcance os sistemas de backend.

A autenticação é tratada por meio do Keycloak SSO, integrado via:

Principais vantagens desta abordagem

Alt padrão

2. Camada de orquestração: Adobe API Mesh

No centro da nossa arquitetura de integração está na Adobe API Mesh, que atua como a central de orquestração e comunicação entre todos os sistemas de negócios envolvidos na plataforma:

Em vez de o frontend do EDS ou o Adobe Commerce estabelecerem integrações diretas e ponto a ponto com cada um desses sistemas, toda a comunicação é roteada por meio da API Mesh.

Principais benefícios de usar a Adobe API Mesh

3. Serviços do App Builder usados pela vitrine e a camada de SSO

Esses serviços são consumidos diretamente pela vitrine do Commerce e pela camada de SSO, não pelo Adobe Commerce, o que permite que a lógica de negócios crítica funcione independentemente do tempo de execução do Commerce.

Receptor de dados do cliente (SSO → App Builder)

Esse serviço recebe e sincroniza dados do cliente a partir da camada de SSO sem afetar o desempenho da vitrine ou do Commerce. O uso do App Builder garante processamento seguro, escalabilidade assíncrona e elimina a dependência de implantações no Adobe Commerce.

Disponibilidade do produto por cliente (Vitrine → App Builder → PIM)

A disponibilidade do produto é resolvida em tempo real com base no contexto do cliente e nos dados de PIM antes que as solicitações cheguem ao Commerce. O App Builder permite que essa lógica seja escalada de maneira independente e protege o Commerce de uma grande carga de dependência externa.

Alt padrão

Validação de dados da empresa (Dun e Bradstreet) (Vitrine → App Builder → Terceiros)

A validação é acionada diretamente da vitrine por meio do App Builder + API Mesh e verificada usando serviços de terceiros, que mantêm a latência e as falhas de serviços externos completamente isoladas do Adobe Commerce.

Alt padrão

Mecanismo de redirecionamento de ID externa (Vitrine → App Builder)

O tráfego de entrada de sistemas externos é processado e mapeado por meio do App Builder antes de entrar na vitrine, o que permite a normalização segura do tráfego, o uso de regras de redirecionamento flexíveis e elimina os riscos para o núcleo do Commerce.

4. Pré-renderização da vitrine do Commerce: SEO sem comprometer a UX

A vitrine do AEM Commerce é um aplicativo moderno e orientado por frontend que depende muito do JavaScript para carregar dados do produto no navegador. Embora isso ofereça uma excelente experiência de usuário, enfrentamos um desafio clássico de SPA:

Os rastreadores do mecanismo de pesquisa e os sistemas sem navegador geralmente recebem HTML quase vazios, pois não executam o JavaScript de maneira confiável.

Para resolver esse desafio, implementamos a Pré-renderização do AEM Commerce, uma solução oficial da Adobe criada no App Builder.

Como funciona a pré-renderização em nossa arquitetura

Aplicativo de pré-renderização do App Builder:

A vitrine do Commerce é então configurada para usar esse armazenamento como uma origem de sobreposição. Quando:

Ela recebe imediatamente uma resposta do HTML totalmente renderizada com dados reais do produto, sem executar qualquer JavaScript.

Ao mesmo tempo:

Por que o App Builder é o principal viabilizador

O App Builder é o plano de controle central para todo o processo de pré-renderização. Ele nos permite definir:

Tudo isso pode ser ajustado por meio de pequenas alterações de configuração do App Builder, sem tempo de inatividade para a vitrine principal ou para o Adobe Commerce.

A Adobe também fornece um kit inicial para o aplicativo de pré-renderização do App Builder, o que nos permite preparar a solução para produção em um curto período e obter um aumento imediato na SEO.

Principais benefícios dessa abordagem

5. Sincronização de pedidos e ERP: assíncrona por design

O check-out e a criação de pedidos continuam sendo tratados inteiramente no Adobe Commerce, preservando a integridade dos dados e a consistência transacional. Depois que um pedido é criado, o processo de exportação é atribuído a um exportador de pedidos programados dedicado criado no App Builder.

Esse exportador sincroniza pedidos com o ERP de forma assíncrona, fora do ciclo de vida da vitrine e da solicitação do Commerce.

Principais benefícios dessa abordagem

Alt padrão

Por que não migrar completamente para o App Builder?

Uma das primeiras e mais importantes decisões arquitetônicas foi não tratar o App Builder como um substituto total para os módulos PHP e também não basear tudo no PHP apenas “porque sempre fizemos as coisas assim”.

Em vez disso, cada requisito passou por um filtro simples:

A mudança dessa lógica para o App Builder melhorará a resiliência e a escala?
Isso reduzirá os custos de manutenção associados às atualizações?

O que ficou no PHP (os 30%)

Nós mantivemos as personalizações do PHP apenas onde elas realmente deveriam ficar:

Esses são locais onde o acesso direto ao banco de dados, o acoplamento estreito com os elementos internos do Commerce e o controle do ciclo de vida das solicitações ainda são absolutamente justificáveis.

O que foi movido para o App Builder (70%)

Tudo o resto foi removido:

Essas são todas áreas em que os módulos PHP historicamente apresentam dificuldades:

Principais benefícios

Ao transferir cerca de 70% da lógica de negócios e integração para o App Builder, nós alteramos o fundamento sob o qual a plataforma é construída, implantada e operada. O impacto foi visível não apenas na qualidade da arquitetura, mas também na velocidade de entrega, estabilidade do sistema e controle de custos a longo prazo.

Implantações independentes

Com o App Builder lidando com a maioria das integrações e fluxos de trabalho de negócios, a maioria das alterações não requer mais uma reimplantação completa do Adobe Commerce. Atualizações de integração, validações e processos em segundo plano podem ser implementados de forma independente, reduzindo drasticamente:

Isso por si só se tornou um dos maiores ganhos de produtividade nas operações diárias.

Melhor escalabilidade nos pontos mais importantes

Anteriormente, os picos de tráfego em:

afetavam diretamente o desempenho do Commerce.

Agora, essas cargas de trabalho são dimensionadas de forma independente no App Builder. Como resultado:

Isolamento de falha real

Uma das melhorias mais vitais é a contenção de falhas. Quando sistemas de terceiros apresentam latência, degradação ou paralisações:

Isso eliminou com eficácia uma série de incidentes que anteriormente levavam à paralisação parcial ou total da vitrine.

Propriedade de código mais clara e responsabilidades bem definidas

A plataforma agora tem limites arquitetônicos claros:

Essa separação:

Projetado para o futuro

Essa arquitetura híbrida está totalmente alinhada com a estratégia de longo prazo da Adobe baseada em SaaS, com foco na API e com composição de comércio. Ao exteriorizar a lógica mais personalizada:

Não nos limitamos a resolver apenas as necessidades atuais, mas criamos uma plataforma que está estruturalmente preparada para o que o Adobe Commerce está se tornando.