Die Erfahrung zeigt, dass die Anforderungen an die Modellierung von Prozessen in einen Webshop nie komplett identisch sind, insbesondere wenn es sich um mittlere und große E-Commerce Plattformen handelt. In nahezu jedem Projekt sind die zugrunde liegenden Datenstrukturen unterschiedlich und die Daten auf Shopseite verändern sich beinahe im Minutentakt. Insofern stellt die Stabilität der hinter den Schnittstellen (Katalogimport, Bestellexport, Indexierung, etc.) stehenden Prozesse in einem Shopprojekt meist eine der größten Herausforderungen dar. 

Mit Pacemaker stellen wir eine leistungsfähige Plattform zur Verfügung, mit der sich selbst die komplexesten Szenarien abbilden und die größte Datenmenge aus beliebigen Drittsystemen zuverlässig in Magento importiert und dort weiterverarbeitet werden können.

Durch Pacemaker erhalten Solution Partner und/oder Shopbetreiber mit den fertig konfigurierten und ausgelieferten Pipelines als echten Mehrwert zusätzlich das Know-How wie die Prozesse zu modellieren sind, damit sie auch in komplexen Szenarien sichergestellt wird, dass die im Shop angezeigten Daten zu jeder Zeit valide sind. Pacemaker gibt sozusagen den richtigen Takt für die Prozesse in Ihrem Shop vor.

 

powered by YouTube: Beim Abspielen des Videos wird eine direkte Verbindung zu einem Server von YouTube aufgebaut. Näheres erfahren Sie in unserer Datenschutzerklärung.

   
powered by YouTube: Beim Abspielen des Videos wird eine direkte Verbindung zu einem Server von YouTube aufgebaut. Näheres erfahren Sie in unserer Datenschutzerklärung.
powered by YouTube: Beim Abspielen des Videos wird eine direkte Verbindung zu einem Server von YouTube aufgebaut. Näheres erfahren Sie in unserer Datenschutzerklärung.

 

 

Transparenz der Prozesse

Transparenz der Prozesse

Übersichtliches Logging

Übersichtliches Logging

Steuerung von Teilvorgängen

Steuerung von Teilvorgängen

Flexibiltät der Prozesse

Flexibiltät der Prozesse

Performante Ausführung

Performante Ausführung

Stabilität & Wiederholbarkeit

Stabilität & Wiederholbarkeit

 

 

Um ein Höchstmaß an Flexibilität und Wiederverwendbarkeit gewährleisten zu können, wurde bei der Entwicklung von Pacemaker konsequent ein komponentenbasierter Ansatz verfolgt.

 

So besteht Pacemaker 1.0 aus den folgenden Komponenten:
 

  • Pacemaker GUI (Backend + CLI)
  • Pacemaker Statistics
  • Pipeline Definition für Katalogimport
  • Pipeline Definition für Preisimport
  • Pipeline Definition für den Import des Lagerbestands
  • Process Pipelines
  • Index Suspender
  • Order Export
  • M2IF (Community Edition)
  • M2IF (Professional Edition)
  • M2IF Performance Booster
  • M2IF Parallel Import (Beta)
  • M2IF Converter Library
  • M2IF Standardkonnektor

Die Abbildung rechts zeigt die Integration von Pacemaker innerhalb der Magento Software Architektur. Pacemaker ist kompatibel mit Magento ab Version 2.2 in der Community und der Commerce Edition.

 

Die Pacemaker Kernkomponente mit dem Namen ProcessPipelines ist hierbei für die Koordination und die Ausführung der modellierten Prozesse zuständig. Bei Prozesse handelt es sich grundsätzlich um jeden Prozess der im Shop läuft, angefangen über das Generieren der Sitemap, den Prozess der Datenindexierung bis hin zum Import der Katalogdaten.

 

Kann der M2IF Standardkonnektor, rechts Client genannt, bei der Anbindung von Drittsystemen nicht verwendet werden, werden die, durch das Drittsystem (PIM, ERP, etc.) bereitgestellten Daten über einen spezifischen Transformator (M2IF Converter Library) in das Standardformat konvertiert und anschließend wieder über den Standardkonnektor importiert.

 

Für Importprozesse spielt die Datentransformation und die Converter Library eine zentrale Rolle, da Diese die verschiedenen Datenformate für die jeweiligen Zielsysteme übersetzt. Dies ist notwendig, da beispielsweise eine Bestellung im ERP ein anderes Format haben kann als in Magento - je nach Anforderung werden hier spezielle, konfigurierbare Mappings realisiert.

 

 

 

Mit M2IF, einem kostenfreien Magento 2 Import Framework, setzt Pacemaker beim Thema Datenimport standardmäßig auf eine mittlerweile erprobte Open Source Lösung. Hierbei erfolgt die Integration in Pacemaker explizit nicht als Magento Extension, sondern es wird die zur Verfügung stehende CLI Anwendung verwendet. Durch diese Art der Integration unterstreicht Pacemaker strikt seinen komponentenbasierten Ansatz und sorgt für eine Entkoppelung von Prozessen und der dahinterliegenden Businesslogik.

Durch seine Flexibilität und Leichtgewichtigkeit lässt sich M2IF sehr einfach im Rahmen von Projekten durch PlugIns erweitern. Nachdem mit der bestehenden Funktionalität für den Import von Attribute-Sets, Attributen, Kategorien, Produkten, Kunden und Kunden-Adressen bereits ein Großteil der häufig benötigten Funktionalität abgedeckt wurde, spielt insbesondere die Performance sowie die hervorragende Unterstützung bei der für die Anbindung von Drittsystemen häufig notwendige Entwicklung von Konnektoren für PIM und ERP Systeme wie z. B. Akeneo, SAP oder Dynamics, eine zentrale Rolle.

 

Bereits mit der Community Edition ist eine Steigerung der Performance gegenüber dem Magento Standard Import/Export Modul von bis zu 30 % möglich. Durch das in Pacemaker enthaltene M2IF Performance Booster PlugIn kann die Performance nochmal um bis zu 30 % erhöht werden. Neben der Performance zeichnet sich M2IF im Zusammenspiel mit Pacemaker durch einen optimierten Speicherverbrauch und durch die Möglichkeit zur Nutzung von Redis als Cache aus.

Die durch M2IF zur Verfügung gestellte Komponenten werden über die integrierte Workflow-Engine über Konfigurationsdateien so kombiniert, dass im Rahmen des Projekts letztlich eine individuelle Lösung für die jeweiligen Anforderungen entsteht. Aufgrund der hohen Flexibilität und der Konfigurationsmöglichkeiten reicht es In vielen Projekten aus, wenn Daten lediglich konfigurativ gemappt werden. Die Erweiterung von M2IF durch zusätzliche Programmierung ist meistens nicht notwendig.

Als einzige am Markt verfügbare Lösung bietet M2IF die Möglichkeit an komplette Importe im Rahmen einer Datenbank Transaktion laufen zu lassen. Durch diesen Ansatz wird zum Einen die Performance gesteigert, da Daten am Ende der Transaktion gesammelt in die Datenbank geschrieben werden, zum Anderen sichergestellt, dass entweder alle oder gar keine Daten importiert werden. Während des Imports kann der weiter wie gewohnt verwendet werden, eine Beeinträchtigung für den Endkunden ist nicht spürbar.

Das Konzept hinter den Prozess Pipelines existiert in Form eines Entwurfsmusters bereits seit langem und wird in der Softwareentwicklung auch gern und häufig eingesetzt. Als Musterbeispiel für eine gelungene Implementierung wird gerne Gitlab mit seinen Build Pipelines genannt, da viele Entwickler bereits häufig damit Kontakt hatten.

 

Pipelines sind Prozesse die aus vielen kleinen Schritten bestehen. Dabei werden die Zusammenhänge zwischen den Prozessen und den Schritten über ein definiertes Schema festgelegt. Somit können Prozesse und deren Schritte unabhängig voneinander ausgeführt aber gleichzeitig von einem übergeordneten Prozess hinsichtlich ihrer Abhängigkeiten zueinander und zur Systemumgebung kontrolliert werden. Ferner stellt Pacemaker eine einheitliche Logging Schnittstelle für Pipelines bereit, sodass sich das Monitoring und die Zustandsüberwachung zentral, hinweg über alle Schritte, die bei Bedarf auch im Abstand von Tagen oder Wochen ausgeführt werden können, realisieren lässt.

 

Pacemaker macht ebenfalls von diesem Entwurfsmuster gebrauch, in dem es als zentrale Komponente auf unsere Process Pipeline Extension setzt. Pacemaker geht aber, wie Gitlab auch, einen Schritt weiter und macht die abgeschlossene und laufende Prozesse, bis hinunter auf Ebene der Schritte auch für Shopbetreiber, Redakteure, Administratoren und Entwickler im Backend sowie auf der Konsole sichtbar.

 

Da alle Schritte einer Pipeline über deren Definition logisch zusammengefasst sind, kann im Backend oder über die Konsole eine Übersicht mit allen laufenden Prozessen ausgegeben werden. Der Screenshot rechts zeigt eine solche Übersicht im Backend. So lässt sich schnell feststellen welchen Status eine Bestellung hat oder ob der Katalogimport erfolgreich abgeschlossen wurde. Sind Fehler aufgetreten, so lässt sich durch einen einfachen Klick auf den fehlgeschlagenen Schritt schnell und einfach klären, was die konkrete Ursache dafür war.

 

Aktuell werden in fast allen Projekten Prozesse, womit im E-Commerce und somit im Magento Kontext fast immer Hintergrundprozesse gemeint sind, über CRON ausgeführt. Bei CRON handelt es sich um eine Daemon über den Programme zu einem beliebigen Zeitpunkt, wenn gewünscht auch wiederkehrend gestartet werden. Im Falle von Pacemaker sprechen wir hier natürlich Magento. Sehr vereinfacht dargestellt wird Magento standardmäßig einmal pro Minute durch CRON getriggert und somit die dort konfigurierten Prozesse gestartet.

CRON ist seit jeher ein fester Bestandteil des Linux Systems und stellt allein aufgrund seiner einfache Bedienung und Zuverlässigkeit eine ideale Basis für das Starten von Programmen und Prozessen dar. Mit zunehmender Komplexität, speziell dann wenn wir von größeren E-Commerce Plattformen sprechen, lassen sich Prozesse jedoch nicht mehr einfach starten, sondern mit zunehmender Laufzeit wird es notwendig Diese modellieren und koordinieren zu können. Warum ist das so? Lang laufende Prozesse wie z. B. Importe, Exporte und Indexierung benötigen häufig exklusiven Datenbankzugriff und blockieren sich gegenseitig. Das Ergebnis eines abgebrochenen Prozesses sind häufig fehlende oder inkonsistente Daten: Der größte anzunehmende Unfall für einen Shopbetreiber, wenn man beispielsweise an falsche oder fehlende Preise denkt.

Aufgrund unserer Erfahrung können wir sagen, dass diese Architektur wenige Vor- dafür aber um so mehr und Nachteile mitbringt.

 

  • Möglichkeit zur zentralen Steuerung durch CRON wann welcher Prozess startet
  • Schlichtes und einfaches Monitoring der Prozesse über die Bordmittel des Betriebssystems
  • Monolithische und lange laufende Prozesse mit sehr hoher Komplexität
  • Keine Wiederholung von Teilschritten, sondern nur des gesamten Prozesses
  • Zerlegung in kleinere Teilschritte durch fehlende Koordination nicht möglich
  • Keine oder nur eingeschränkte Wiederverwendbarkeit von Funktionalität
  • Zugriff auf laufende Prozesse nur schwer oder gar nicht möglich
  • Zeitlich und/oder logisch getrennte Schritte können nicht zusammengefasst werden, z. B. fortlaufender Bestellstatus
  • Keine bzw. nur sehr eingeschränkte Möglichkeit für Monitoring im Magento Backend
  • Durch CRON is nur eine 1-minütige Taktung möglich, Prozesse können somit nicht unmittelbar und feingranular miteinander verkettet werden

 

Pacemaker verfolgt hier einen gänzlich anderen, wesentlich flexibleren, Ansatz. Für die zeitgesteuerte Ausführung von Prozessen, den sogenannten Heartbeat, wird ebenfalls CRON verwendet, sozusagen als Taktgeber. Im Gegensatz zur traditionellen Ein-Prozess Architektur prüft der Heartbeat aber lediglich ob ein Prozess gestartet werden soll oder nicht und führt Diesen nicht selbständig aus.

Die eigentliche Ausführung des Prozesses wird über einen sogenannten Runner, der entweder auf demselben oder aber auf einem anderen Servern laufen kann, vorgenommen. Je nach Anforderung kann die Anzahl der Runner beliebig skaliert werden. Allein durch diese Entkoppelung erhöht sich die Flexibilität der Prozesse enorm, da jeder Prozess sozusagen kontrolliert werden kann. Neben der Kontrolle besteht zusätzlich die Möglichkeit einen Prozess in beliebig viele, kleine Schritte zu zerlegen, wobei jeder Schritt wiederum als eigener Prozess ausgeführt werden kann. Prozesse, aber auch einzelne Schritte, lassen sich wiederum parallel ausführen. Somit kann, definiert durch die Abhängigkeiten der Schritte, eine deutlich besseren Durchlaufzeit der gesamten Prozesskette erzielt werden.

 

 

  • 1. Download der Daten vom Quellsystem - Je nach Anforderung können dies auch mehrere parallele Downloads sein, da die Daten aus verschiedenen Zielsystemen aggregiert werden.
  • 2. Transformation der Daten - In diesem Schritt werden die Daten des Quellsystem in eine passende Form für Magento gebracht. Das Ergebnis der Transformation im abgebildeten Beispiel sind CSV-Dateien jeweils für die Entitäten, Kategorien, Attribute und Produkte
  • 3. Sperren der Magento Cron-Indexer (TechDivsion_IndexSuspender)
  • 4. Import der Attribute (Konfiguration der Attribute, Options-Werte für Select-Attribute, Attribut-Sets)
  • 5. Import der Kategorien
  • 6. Import der Produkte (SKUs sowie Attribute-Werte)
  • 7. Download der Medien (Produktbilder)
  • 8. Indexierung (Magento- und Search-Index)
  • 9. Freigabe der Magento Cron-Indexer
  • 10. Optimierung der Bilder

 

  • 1. Download der Daten vom Quellsystem
  • 2. Transformation der Daten
  • 3. Sperren der Magento Cron-Indexer
  • 4. Import der Daten
  • 5. Freigabe des Magento Cron-Indexer

 

 

  • 1. Exportieren der Order zum ERP
  • 2. Bestätigen der Order nach Zahlungseingang - Setzt den Schritt 3 auf dem Status skipped sobald dieser Schritt gelaufen ist
  • 3. Stornieren der Bestellung im ERP - Spezieller Schritt, welcher nur ausgeführt wird, wenn Schritt 2 nicht bereits gelaufen ist. Nach erfolgreicher Ausführung des Schrittes werden alle weiteren Schritte der Pipeline auf skipped gestellt und die Pipeline wird als erfolgreiche abgeschlossen.
  • 4. Abrufen der Rechnungen vom ERP (für die Order der Pipeline)
  • 5. Abrufen der Versendungen vom ERP (für die Order der Pipeline)
  • 6. Abrufen der Gutschriften vom ERP (für die Order der Pipeline)
  • 7. Abrufen der Retouren vom ERP (für die Order der Pipeline)

 

Als Pacemaker Solution Partner haben sie direkten Zugang zu unserem Team mit zertifizierten Softwareentwicklern und Architekten, einer ständig wachsenden Dokumentation sowie Best Practices. Zusammen mit uns meistern Sie so auch die umfangreichsten Projekte. 

 

Und das Beste: Die Partnerschaft ist für Sie kostenlos!

 

Als Pacemaker Solution Partner profitieren sie von folgenden Vorteilen:

 

  • Aufnahme in unsere Liste mit Solution Partner 
  • Nutzung des Namens und des Logos für gemeinsame Marketingaktivitäten
  • Unterstützung in der Sales-Phase Ihres Projektes
  • Vollständigen Zugang zu unserem Gitlab mit dem gesamten Quellcode
  • Das Recht zu Test-, Entwicklungs- und Verkaufszwecken Pacemaker auf beliebig vielen Servern zu installieren
  • Zugriff auf die Pacemaker Entwickler-Dokumentation (noch im Aufbau)
  • Unverbindlichen und unkomplizierten technische Unterstützung über einen geschlossenen Support-Chat

Pro verkaufter Pacemaker Lizenz an einen von Ihnen akquirierten Kunden erhalten sie zusätzlich

 

  • 30 % Lifetime Provision auf den Verkaufspreis
  • 5 projektbezogene Support-Tickets mit einer Bearbeitungszeit von bis zu einer Stunde pro Ticket

Sollte die im Lizenzpreis enthaltenen 5 Support-Tickets nicht ausreichen, so können Sie selbstverständlich eine beliebige Anzahl an Tickets oder nach entsprechender Vorlaufzeit, technisches Consulting durch einen unserer Software-Architekten Remote oder vor Ort buchen.

 

 

Mit der Anforderung des Downloads erteilen Sie der TechDivision GmbH die jederzeit widerrufliche Einwilligung, dass wir Sie per Email über unsere Produkte und Veranstaltungen zu den Themen E-Commerce, Web, Agile, u.Ä. informieren dürfen. Sie erhalten gleich eine Bestätigungsemail, um Ihre angegebene Email-Adresse zu verifizieren und im Anschluss das angeforderte Dokument (Double-Opt-In). Wir geben Ihre Daten niemals an Dritte weiter. Ausführliche Informationen zu den Inhalten, der Protokollierung Ihrer Anmeldung, den Versand der Emails über MailChimp, sowie Abbestellmöglichkeiten erhalten Sie in unserer Datenschutzerklärung.

 


 

Problem mit dem Daten-Import!

Gerne zeigen wir Ihnen in einem persönlichen Gespräch, wie Leistungsfähigkeit unser neues Produkt "Pacemaker for Magento" ist. 

Philipp Nagel Key Account Manager