1. Implementierung einer Bridge

Die Bridge ermittelt die notwendigen Informationen aus dem Backend des angebundenen Shop-Systems und übergibt sie über eine REST-Schnittstelle an den FirstSpirit-Server. Hierbei verknüpft sie die FirstSpirit Connect for Commerce Bridge-API mit der des Shop-Systems und stellt auf diesem Weg eine Verbindung zwischen beiden Systemen her. Genauso wie der CaaS bildet die Bridge somit die Middleware innerhalb des durch Connect for Commerce geschaffenen Gesamtsystems. Anders als dieser kommuniziert die Bridge jedoch ausschließlich mit dem Backend des Shop-Systems und nicht mit dessen Storefront.

Diagramm, welches die Rolle der Bridge im Gesamtsystem Connect for Commerce darstellt
Abbildung 1. Position der Bridge im Gesamtsystem

Die Crownpeak Technology GmbH stellt Bridge-Implementierungen in zwei verschiedenen Ausprägungen zur Verfügung und ermöglicht damit die folgenden vier Nutzungsarten:

  • verfügbare Bridge
    Die Auslieferung enthält für spezifische Shop-Systeme bereits eine Auswahl unterschiedlicher Bridge-Implementierungen. Diese stehen auf GitHub als Referenzimplementierungen zur Verfügung und sind ohne weitere Anpassungen nach ihrer Konfiguration direkt verwendbar.

  • angepasste Bridge
    Die auf GitHub verfügbaren Bridge-Implementierungen sind individuell anpassbar. Auf diesem Weg können der verwendeten Bridge weitere Features hinzugefügt werden, die nicht im Standardumfang enthalten sind.

  • Eigenimplementierung mit Bridge Commons
    Für die Eigenimplementierung der Bridge steht optional das npm-Modul fcecom-bridge-commons zur Verfügung. Es enthält die OpenAPI-Spezifikation der FirstSpirit Connect for Commerce Bridge-API, die das Connect for Commerce-Modul erwartet sowie allgemeine Bestandteile, die die Bridge-Implementierung vereinfachen. Auf diesem Weg kann beispielsweise eine Node.js-basierte Bridge ohne größeren Aufwand implementiert werden.

  • Eigenimplementierung
    Alternativ zu den bereits genannten Optionen besteht die Möglichkeit, die Bridge für das angebundene Shop-System vollständig selbst zu implementieren. In diesem Fall sind die nachfolgend beschriebenen Aspekte zu beachten.

Die Crownpeak Technology GmbH gewährt ausschließlich Support und Updates für den von ihr bereitgestellten Quellcode. Für Eigenimplementierungen übernimmt sie ausdrücklich weder die Verantwortung noch den Support.

Die Implementierung einer Bridge muss wie zuvor erwähnt auf das angebundene Shop-System abgestimmt sein. Aus diesem Grund ist eine detaillierte Anleitung nicht möglich. Grundsätzlich sind jedoch die folgenden Schritte erforderlich:

  • Erstellung eines HTTP-Services

  • FirstSpirit-seitige Authentifizierung

  • Sicherstellung der Erreichbarkeit des Shop-Systems

  • Verknüpfung der Endpunkte

Erstellung eines HTTP-Services

Die Bridge entspricht einem zu entwickelnden Service, der die FirstSpirit Connect for Commerce Bridge-API implementiert. Dieser kann entweder als eigenständiger Microservice oder als nativer Service innerhalb der Shoparchitektur realisiert werden. In beiden Fällen muss der Service via HTTP(S) erreichbar sein, um dem FirstSpirit-Server die Ermittlung der Shopdaten zu ermöglichen.

FirstSpirit-seitige Authentifizierung

Um den Datenaustausch zwischen dem FirstSpirit-Server und der Bridge vor unerlaubten Zugriffen zu schützen, muss in der Bridge Basic-Auth implementiert sein. Des Weiteren sind die Zugangsdaten für die Anmeldung an der Bridge sowie deren API URL im Konfigurationsdialog der Projekt-Komponente einzutragen. Der Dialog enthält zusätzlich zu den Eingabefeldern einen Button, der einen Test der Verbindung zwischen dem FirstSpirit-Server und der Bridge ermöglicht.

Sicherstellung der Erreichbarkeit des Shop-Systems

Unter Umständen setzt das anzubindende Shop-System ebenfalls eine Authentifizierung voraus. In diesem Fall ist sicherzustellen, dass die Bridge auf dessen Backend zugreifen und Daten abfragen kann.

Darüber hinaus muss die Bridge auf einen möglichen Ausfall der Shop-System-Instanz reagieren können und dem FirstSpirit-Server eine entsprechende Information zurückliefern. Eine solche Situation darf keinen Einfluss auf die FirstSpirit-seitige Erstellung und Pflege redaktioneller Inhalte nehmen, auch wenn die Shopinhalte möglicherweise temporär nicht verfügbar sind.

Verknüpfung der Endpunkte

Die FirstSpirit Connect for Commerce Bridge-API verfügt über die Endpunkte Content, Products, Categories und Mapping, die optional verwendbar sind. Die Content, Products und Categories Endpunkte entsprechen einem Report im ContentCreator, der sich bei Bedarf deaktivieren lässt. Informationen zum Mapping der Ids können im Unterkapitel Mapping der Identifier nachgelesen werden.

  • Content
    Der Endpunkt Content stellt einen Report für Inhaltsseiten aus dem Shop-System zur Verfügung. Dieser ermöglicht sowohl die Darstellung der mit FirstSpirit erzeugten Inhaltsseiten im Shop-System als auch die im Shop bereits existierenden Seiten, wie beispielsweise die Homepage oder der Warenkorb.

  • Products und Categories
    Die Endpunkte Products und Categories erlauben die Bereitstellung von Produkt- und Kategorieinformationen. In beiden Fällen ist der Umfang der zurückgelieferten Informationen eingeschränkt, da ihre Verarbeitung erst während der Bereitstellung im Frontend erfolgt und keine Aufbereitung erforderlich ist. So wird beispielsweise der Preis eines Produkts immer dynamisch für die Anzeige im Frontend aus dem Shop-System abgefragt und steht daher im redaktionellen Backend FirstSpirits nicht zur Verfügung.

    Die Verknüpfung der Produkt- und Kategorieinformationen erlaubt es Redakteurinnen und Redakteuren, Produkte nach Kategorien zu filtern oder spezifische Suchen durchzuführen. Eine solche Produktsuche in Abhängigkeit der Kategorien setzt eine Eigenimplementierung voraus, die alle Suchanfragen an das Shop-System weiterleitet und das Ergebnis in FirstSpirit darstellt.

  • Mapping
    Der Mapping Endpunkt stellt die Veknüpfung zwischen Seiten in FirstSpirit und Seiten im Shop-System her. Er gibt einen Bezeichner für eine gegebene Storefront-URL zurück, der in FirstSpirit verwendet wird, um die Seite zu identifizieren. Er bietet ebenfalls die Möglichkeit, eine Storefront-URL auf der Grundlage der gegebenen Bezeichner-Eigenschaften in FirstSpirit zu konstruieren.

Für die Endpunkte Content, Products und Categories wird durch das Connect for Commerce-Modul ein zugehöriges Data Access Plugin (DAP) in FirstSpirit bereitgestellt. Dieses ermöglicht jeweils die Verlinkung der bereitgestellten Daten und deren Einbindung in redaktionellen Inhalten. Im Fall des Products-Endpunkts ist somit beispielsweise die Verlinkung von Produkten und die Erstellung von Produktteasern möglich.

Dazu genügt das Hinzufügen einer FS_INDEX-Eingabekomponente zur Absatzvorlage, dessen Inhalt mit einem Produkt verknüpft werden soll:

FS_INDEX-Eingabekomponente in Absatzvorlage
<FS_INDEX name="st_product" height="1" useLanguages="no">
    <LANGINFOS>
        <LANGINFO lang="*" label=""/>
    </LANGINFOS>
    <SOURCE name="FirstSpirit Connect for Commerce/FirstSpirit Connect for Commerce - Products Data Access Plugin"/>
</FS_INDEX>

Auf dieselbe Art und Weise können Inhalte sowohl mit Kategorien, als auch mit weiteren Inhaltsseiten verknüpft werden. Lediglich das anzubindende DAP muss entsprechend ausgetauscht werden. Zur Verfügung stehen folgende drei DAPs:

  • FirstSpirit Connect for Commerce - Products Data Access Plugin

  • FirstSpirit Connect for Commerce - Categories Data Access Plugin

  • FirstSpirit Connect for Commerce - ContentPages Data Access Plugin

Die Verknüpfung der Bridge-Endpunkte mit denen des Shop-Systems ist abgeschlossen, sobald die Reports im ContentCreator die gewünschten Shop-Daten bereitstellen. Dies entspricht gleichzeitig einem erfolgreichen Ende-zu-Ende-Test.

Die in FirstSpirit verwendeten Produkt- und Kategorieinformationen müssen stets den realen Daten im Shop-System zuzuordnen sein. Dies ist insbesondere bei Anpassungen an bestehenden IDs zu berücksichtigen. Da sie die Grundlage für das Mapping der Daten bilden, sind Veränderungen an den IDs nicht zu empfehlen und daher grundsätzlich zu vermeiden.

Sind dennoch Änderungen erforderlich, synchronisieren sich sowohl die in den Reports dargestellten als auch die in DAPs enthaltenen Informationen eigenständig. Die in den Eingabekomponenten von Produkt- und Kategorieseiten gespeicherten IDs erfordern jedoch eine Aktualisierung. In allen Fällen ist zwingend sicherzustellen, dass eine in FirstSpirit gespeicherte Information zu der aus dem Shop-System identisch ist. Andernfalls ist ein manueller Aufwand unvermeidbar.

2. Rechtliche Hinweise

FirstSpirit Connect for Commerce ist ein Produkt der Crownpeak Technology GmbH, Dortmund, Germany.
Für die Verwendung des Moduls gilt nur die mit der Crownpeak Technology GmbH vereinbarte Lizenz.

3. Hilfe

Der Technical Support der Crownpeak Technology GmbH bietet qualifizierte technische Unterstützung zu allen Themen, die FirstSpirit™ als Produkt betreffen. Weitere Hilfe zu vielen relevanten Themen erhalten und finden Sie in auch in unserer Community.