9 minuten
h1

In dit artikel wordt uitgelegd hoe door opnieuw na te denken over de uitbreidbaarheid van Adobe Commerce door Adobe Developer App Builder en de vervanging van grote delen van aangepaste PHP met een schaalbaardere architectuur de schaalbaarheid, stabiliteit en onderhoudsvriendelijkheid kunnen worden verbeterd, ontworpen voor groei op lange termijn in een echte productieomgeving.

Inleiding

PHP-uitbreidbaarheid is al jaren de ruggengraat van Adobe Commerce-aanpassingen. Maar terwijl cloudnative architecturen volwassen worden, doen betere alternatieven dat ook. In een recente implementatie voor een toonaangevende Europese aanbieder van mobiliteit en financiële diensten hebben we een aanzienlijk deel van de traditionele ontwikkeling van Adobe Commerce-modules vervangen door het App Builder: het cloudnative uitbreidingsplatform van Adobe App Builder. We hebben dit bereikt door runtimeacties (serverloze functies), gebeurtenissen en API's te gebruiken voor een schaalbaardere en onderhoudsvriendelijkere oplossing. In dit artikel worden de redenen voor die beslissing, de architectuurstructuur en de lessen uitgelegd.

Overzicht

Een API-gerichte aanpak met Adobe Commerce kan geleidelijk steeds meer worden toegepast door te evalueren welke functies het meest geschikt zijn als cloudnative apps buiten het Adobe Commerce-kernplatform en door deze functies eerst te migreren.

Dit proces heeft tot een duidelijk resultaat geleid:

Dankzij deze balans konden we een native en kassagerelateerde logica dicht bij Commerce houden terwijl we integraties, validatie, achtergrondverwerking en orkestratie konden afwentelen op App Builder, waar schaalbaarheid, isolatie en implementatieflexibiliteit het beste werken.

De resulterende architectuur (zie het onderstaande diagram, waarin alleen App Builder-extensies worden weergegeven) weerspiegelt deze hybride aanpak: Adobe Commerce blijft de transactionele kern, terwijl App Builder fungeert als integratie- en automatiseringsruggengraat fungeert. Met deze strategie worden identiteit (SSO), PIM, ERP, externe diensten en aangepaste bedrijfslogica verbonden door middel van door gebeurtenissen aangestuurde flows en API Mesh (de API Orchestration-service van Adobe).

Standaard Alt

Architectuur doorlopen: Zo werkt het hybride model

Adobe Commerce bevindt zich in de kern van de oplossing en doet waar het goed in is: catalogus, prijzen, winkelwagen, afrekenen en bestellingen plaatsen. We hebben de transactionele kern bewust schoon en stabiel gehouden, zonder onnodige aanpassingen binnen de Commerce-runtime.

Alles rondom die kern - identiteit, gegevensvalidatie, beschikbaarheidslogica, achtergrondverwerking en externe integraties - wordt afgehandeld door App Builder en Adobe API Mesh.

De ervaring van winkelbezoekers is gebouwd op de nieuwe Commerce Storefront (aangestuurd door Edge Delivery Services).

1. Invoerlaag: CDN, Commerce Storefront en Identity

Al het verkeer van geregelde websitebezoekers komt eerst bij de CDN + Edge Delivery Service voor optimale prestaties, veiligheid en wereldwijde levering voordat aanvragen bij de back-endsystemen aankomen.

Verificatie wordt afgehandeld door Keycloak SSO, geïntegreerd via:

De belangrijkste voordelen van deze aanpak

Standaard Alt

2. Orkestratielaag: Adobe API Mesh

In de kern van onze integratiearchitectuur bevindt zich Adobe API Mesh, dat fungeert als centrale orkestratie- en communicatiehub tussen alle bedrijfssystemen die bij het platform betrokken zijn:

In plaats van EDS Frontend of Adobe Commerce directe, rechtstreekse integratie met elk van deze systemen te laten bewerkstelligen wordt alle communicatie gerouteerd via API Mesh.

Belangrijkste voordelen van het gebruik van Adobe API Mesh

3. De App Builder-services die door de Storefront- en SSO-laag worden gebruikt

Deze services worden rechtstreeks verbruikt door de Commerce Storefront- en SSO-laag, niet door Adobe Commerce, waardoor kritieke bedrijfslogica onafhankelijk van de Commerce-runtime kan werken.

Customer Data Receiver (SSO → App Builder)

Deze service ontvangt en synchroniseert klantgegevens van de SSO-laag zonder invloed op de prestaties van Storefront of Commerce. Het gebruik van App Builder zorgt voor veilige verwerking, asynchrone schaalbaarheid en nul implementatieafhankelijkheid van Adobe Commerce.

Productbeschikbaarheid per klant (Storefront → App Builder → PIM)

Productbeschikbaarheid wordt in real time opgelost op basis van de klantcontext en PIM-gegevens aanvragen Commerce bereiken. Met App Builder kan deze logica onafhankelijk schalen en beschermt Commerce tegen een zware belasting van externe afhankelijkheid.

Standaard Alt

Bevestiging van bedrijfsvalidatie (Dun & Bradstreet) (Storefront → App Builder → externe partij)

Validatie wordt direct geactiveerd vanaf de store-interface via App Builder + API Mesh en geverifieerd via externe services, waardoor de latentie en mislukkingen van externe services volledig van Adobe Commerce geïsoleerd blijven.

Standaard Alt

External ID Redirect Engine (Storefront → App Builder)

Binnenkomend verkeer van externe systemen wordt verwerkt en in kaart gebracht via App Builder alvorens naar de store-interface te gaan, die een veilige verkeersnormalisatie, flexibele omleidingsregels en nul risico voor de kern van Commerce mogelijk maakt.

4. Commerce Storefront Prerendering: SEO zonder beïnvloeding van de UX

De AEM Commerce-store-interface is een moderne, door front-end aangestuurde toepassing die sterk afhankelijk is van JavaScript om productgegevens in de browser te laden. Terwijl dit een uitstekende gebruikerservaring oplevert, gaat het wel gepaard met een klassieke SPA-uitdaging:

Zoekmachinecrawlers en browserloze systemen ontvangen vaak bijna lege HTML, aangezien ze JavaScript niet altijd betrouwbaar uitvoeren.

Om dit op te lossen hebben we AEM Commerce Prerendering geïmplementeerd, een officiële Adobe-oplossing op basis van App Builder.

Zo werkt prerendering in onze architectuur

De prerendertoepassing van App Builder:

Commerce Storefront wordt vervolgens geconfigureerd om deze opslag te gebruiken als overlaybron. Wanneer ofwel

ontvangt deze ontvangt onmiddellijk een volledig gerenderde HTML-reactie met echte productgegevens, zonder dat er JavaScript wordt uitgevoerd.

Tegelijkertijd:

Waarom is App Builder hier de kern-enabler?

App Builder is het centrale beheergebied voor het volledige prerenderingproces. Hiermee kunnen we het volgende definiëren:

Dit kan allemaal worden aangepast door kleine configuratiewijzigingen in App Builder, zonder uitvaltijd voor de voornaamste store-interface of Adobe Commerce.

Adobe heeft ook een startkit voor de App Builder-prerendertoepassing, we de oplossing in heel korte tijd productieklaar konden maken en een directe SEO-stijging bereikten.

Belangrijkste voordelen van deze aanpak

**### 5. Synchronisatie van bestellingen en ERP: bewust asynchroonAfrekenen en het plaatsen van bestellingen worden nog steeds volledig verwerkt binnen Adobe Commerce, zodat de gegevensintegriteit en de consistentie van transacties behouden blijven. Zodra een bestelling wordt gemaakt, wordt het exportproces overgenomen door een speciale Scheduled Order Exporter die is gemaakt op basis van App Builder.Deze exporter synchroniseert bestellingen asynchroon met ERP, buiten de levenscyclus van aanvragen van de store-interface en Commerce.#### Belangrijkste voordelen van deze aanpak- Storefront-bedrijfstijd is volledig losgekoppeld van ERP-beschikbaarheid
Zelfs als ERP traag of tijdelijk niet beschikbaar is, kunnen klanten zonder onderbreking bestellingen blijven plaatsen.

Standaard Alt

Waarom geen volledige overstap naar App Builder?

Een van de vroegste en belangrijkste architecturele beslissingen was om App Builder niet te behandelen als een totale vervanging voor PHP-modules, en ook niet om alles standaard in te stellen op PHP "omdat dat altijd zo is gedaan".

In plaats daarvan werd elke eis door een eenvoudig filter gehaald:

Wordt door de verplaatsing van deze logica naar App Builder de veerkracht en schaling verbeterd?
Worden hierdoor de onderhoudskosten voor upgrades verlaagd?

Dit is in PHP gebleven (30%)

We behielden alleen PHP-aanpassingen wanneer ze er echt thuishoren:

Dit zijn plaatsen waar directe databasetoegang, strakke koppeling met Commerce-internals en beheer van de levenscyclus van aanvragen nog steeds absoluut gerechtvaardigd zijn.

Dit is naar App Builder verplaatst (70%)

Alle andere onderdelen zijn verplaatst:

Dit zijn allemaal gebieden waar PHP-modules historisch onder lijden:

Belangrijkste gewonnen voordelen:

Door ruwweg 70% van de bedrijfs en integratielogica naar App Builder te verschuiven, brachten we een fundamentele verandering aan in de manier waarop het platform was gebouwd, geïmplementeerd en bediend. De impact was niet alleen zichtbaar in architectuurkwaliteit, maar ook in leveringssnelheid, systeemstabiliteit, en kostenbeheersing op lange termijn.

Onafhankelijke implementaties

Wanneer App Builder het grootste deel van de integratie- en bedrijfsworkflows verwerkt, is voor de meeste wijzigingen geen volledige Adobe Commerce-herimplementatie meer vereist. Updates, validaties en achtergrondprocessen van de integratie kunnen onafhankelijk worden geïmplenteerd, wat een drastische verlaging betekent van het volgende:

Dit alleen al werd een van de grootste productiviteitswinsten in de dagelijkse activiteiten.

Betere schaalbaarheid waar dat het belangrijkst is

Vroeger leidden verkeerspieken in:

rechtstreeks tot slechtere prestaties van Commerce.

Nu worden deze werklasten onafhankelijk geschaald in App Builder. Als gevolg daarvan gebeurt dit:

Echte isolatie van fouten

Een van de meest kritieke verbeteringen is het isoleren van fouten. Wanneer externe systemen latentie, degradatie of uitval ervaren, gebeurt het volgende:

Dit heeft effectief een hele klasse incidentscenario's geëlimineerd die vroeger leidde tot gedeeltelijke of volledige uitval van de store-interface.

Duidelijkere code-eigendom en duidelijke verantwoordelijkheden

Het platform heeft nu duidelijke architecturale grenzen:

Deze scheiding:

Bewust toekomstbestendig

Deze hybride architectuur is volledig op een lijn met de langetermijnstrategie van SaaS, API-gerichtheid en samenstelbare commerce. Door de meeste aangepaste logica te externaliseren gebeurt er dit:

We hebben niet alleen de eisen van vandaag opgelost, we hebben een platform gebouwd dat structureel klaar is voor de richting waarin Adobe Commerce zich ontwikkelt.