# Architektur

Das unten stehende Diagramm vergleicht die aktuelle Struktur der Storefront und der Sales Channel API.

Image

Die erste geteilte Schicht zwischen Sales Channel API und der Storefront sind die "Domain Services". Alles oberhalb dieser Schicht passiert redundant voneinander und führt zu sich wiederholendem Code.

# Storefront

Seiten der Storefront werden über das Composite page loading aufgebaut. Hierbei ist eine einzelne Seite aus verschiedenen Teilen, Pagelets zusammengebaut und ist i.d.R. eine Spezialisierung einer generischen Seite (die bspw. Navigation, User-Info, etc.) bereitstellt.

# Sales Channel API

Innerhalb der Sales Channel API Controller (mittlere Spalte) werden größtenteils Services der darunterliegenden Schicht aufgerufen und mit zuvor validierten Parametern bestückt.

# Herausforderungen

Es existiert derzeit keine Prüfung die sicherstellt, dass Logik, welche in der Storefront Verwendung findet auch innerhalb der Sales Channel API nutzbar ist. Das gilt beispielsweise für:

  • Routing
  • Breadcrumbs
  • Resolving von CMS-Seiten für Kategorien / PDPs u. ggf. weitere
  • Einsicht der verfügbaren Zahl- und Versandmethoden für einen Warenkorb
  • Hierarchische Navigation fetchen
  • Filter, Sortierungen innerhalb von Listings

Ähnliches gilt für Erweiterungen, wie bspw. die B2B Suite. Diese stellt derzeit keinen Teil ihrer Funktionalität über die Sales Channel API bereit.