Nur das Frontend-Design und die Usability im Online Shop zu betrachten ist zu kurz gedacht. Vielmehr spielt der gesamte Prozess inkl. Verfügbarkeitsaussagen und Lieferkette eine bedeutende Rolle.
Immer wieder erleben wir in SAP CX (Commerce) Projekten, dass der Wunsch nach einem alternativen Content Management System im Raum steht. SAPs Smart Edit bietet zwar durch seine tiefe Integration mit dem Accelerator, als auch mit Spartacus, einen hohen Komfort für seine Nutzer, ist aber nicht für alle denkbaren Szenarien das Werkzeug der Wahl.
Sobald Content von verschiedenen Applikationen konsumiert wird, bietet es sich an, Headless Content Management Systeme genauer anzusehen. Matthias Forberg hat in seinem Artikel "Headless - wer wird denn gleich den Kopf verlieren?" die Vor- und Nachteile dieses Ansatzes beleuchtet.
Wir haben uns die Möglichkeiten der Integration von SAP CX mit Amplience etwas genauer angesehen und hierzu eine quelloffene Integration unter Apache 2.0 Lizenz veröffentlicht.
GitHub: neteleven/sap-cx-amplience
Dabei waren für uns einige Punkte besonders wichtig:
Ein zentraler Punkt bei der Integration eines Headless CMS ist, dass eine Zuordnung von Inhalten aus dem konsumierenden System in die Seitenstruktur nicht immer ganz einfach ist. Dies kommt daher, dass der Content in der Regel neutral im CMS angelegt ist und nicht bereits nach Seiten strukturiert ist.
In unserer Integration ist die Anreicherung von Produkt- und Kategorieseiten um zusätzliche Inhalte ein zentraler Punkt. Somit liegt es nahe, dass ein Kennzeichner, wie z.B. eine Produkt- oder Kategorie-ID für den Lookup in Amplience verwendet wird. Dieser Kennzeichner alleine reicht allerdings noch nicht aus, wenn es möglich sein soll, mehrere Inhalte an unterschiedlichen Stellen einer Seite einzubinden.
Um diese Anforderungen zu erfüllen und gleichzeitig eine hohe Flexibilität zu ermöglichen, verwenden wir für den Lookup gleich drei Werte:
Wir haben uns im ersten Schritt dafür entschieden, eine klassische, backendseitige Integration in den Accelerator zu erstellen. Dabei wird, gesteuert durch die Verwendung von Webhooks, der Inhalt der Amplience Slots in SAP CX importiert.
Importiert werden immer nur komplette Slots, einzelne Content Items werden nicht unterschieden. Es ist möglich, alleinstehende Slots zu verwenden, oder aber die von Amplience angebotenen Editions, die eine zeitliche Planung von Events bzw. Kampagnen ermöglichen.
Der Inhalt kann durch Amplience mit Hilfe des Content Rendering Services bereits komplett vorgerendert werden. Dieses vorgerenderte Markup wird, zusätzlich zum JSON, in SAP CX gespeichert.
Das von uns verwendete Datenmodell hat so gut wie keine Abhängigkeiten zu bestehenden Datenmodellen und kann daher in fast jedem System problemlos verwendet werden, Updates stellen kein Problem dar.
Ein schlankes Accelerator Addon ist zur Demonstration einer JSP Integration zwar Teil des Sourcecodes, ist aber lediglich als Beispiel gedacht. Der generische Aufbau erlaubt es, Amplience auf viele Arten zu nutzen – so kann z.B. anhand der in SAP CX bekannten ID eines Slots jederzeit mit einem JS Frontend live auf den Content zugegriffen werden.
Die folgenden Use Cases sind gut für die Integration mit Amplience geeignet:
Weitere Szenarien sind natürlich jederzeit denkbar.
Mit der soeben vorgestellten Integration ermöglicht neteleven eine einfache aber trotzdem flexible Möglichkeit, Inhalte aus Amplience in SAP CX zu verwenden. Weitere Informationen finden sich in der Dokumentation auf GitHub .