Kaskadierung
Grundsätzliches Konzept Kaskadierung
"Kaskadierung" bezeichnet den Zusammenschluss mehrerer TRADEMAN-Instanzen zu einem (hierarchischen) Netzwerk. Darin können verschiedene Informationen systemübergreifend geteilt werden und granulare Berechtigungsregeln für diese angewendet werden. So könnte z.B. eine Übertragung bestimmter Artikel von "TRADEMAN 1" zu "TRADEMAN 2" konfiguriert werden. Weiterhin könnte dann in "TRADEMAN 2" festgelegt werden, dass die Artikel, die von "TRADEMAN 1" stammen, nicht bearbeitet werden dürfen.
Da das Konzept der Kaskadierung auf grundlegende Voraussetzungen in TRADEMAN aufbaut, kann eine Kaskadierung nur beim initialen System-Setup (Wartungsmodus) eingerichtet werden. Dies gilt sowohl für die initiale Erstellung der gesamten Kaskadierung, als auch für das Hinzufügen von weiteren TRADEMAN-Instanzen zu einer bestehenden Kaskadierung. Genauer gesagt heißt das, man kann nicht eine bestehende TRADEMAN-Instanz nachträglich zu einer Kaskadierung hinzufügen.
Die folgende Zeichnung zeigt die grundsätzliche Struktur der Kaskadierung. Hier sind mehrere Möglichkeiten der Kaskadierung beschrieben.
Aufbau einer Kaskadierung
Es gibt verschiedene Möglichkeiten der Kaskadierung. Hier sind 2 Beispiele
- Die kaskadierten Systeme können hierarchisch aufgebaut sein. Dies sieht man in dem Übersichtsdiagramm an "TRADEMAN1", der dem "TRADEMAN 2" übergeordnet ist. Der "TRADEMAN 2" ist wiederum "TRADEMAN 10" übergeordnet. So ist eine Verteilung der Daten "von oben nach unten" möglich. Im oberen TRADEMAN werden dann meist grundsätzliche Dinge gepflegt, wie z.B. Benutzer, (verbreitete) Artikel, Warengruppen oder grundsätzliche Konfigurationen, die über alle Systeme gleich sein sollen.
- Ebenfalls ist ein gleichwertiger Aufbau möglich. Dies ist in dem Diagramm zwischen den TRADMAN 1-3 zu sehen. Der TRADEMAN 1 verteilt Daten an die beiden anderen Systeme, aber bekommt auch Daten von ihnen zurück.
Diese Situation macht Sinn, wenn z.B. jeder TRADEMAN bestimmte Artikel besitzt, die mit den anderen System geteilt werden sollen.
Weitere Szenarien sind hier sicherlich denkbar.
Bei jedem Szenario ist es allerdings so, das der PSI (poe-System-Interconnect) immer nur Daten verschickt (die blauen Pfeile im Diagramm). Der PSI bekommt durch Trigger auf der Quell-Datenbank mit, welche Daten er übertragen soll und schreibt diese direkt in die Ziel-Datenbank. Im Ziel-System ist keine Inbox oder Warteschlange zur Annahme der Daten eingesetzt worden, was eine deutlichen Geschwindigkeitsvorteil bringt. Im Ziel-System können allerdings Restriktionen festgelegt werden, die das überschreiben von bestimmten Feldern verhindern (Siehe Restriktionen im Ziel-System).
Kaskadierungs-Datenbank "CAS-DB"
Die Kaskadierungs-Datenbank (kurz "CAS-DB") ist das "zentrale Telefonbuch" der kaskadierten TRADEMAN-Systeme und dient zur Speicherung bzw. zur Verwaltung der wichtigsten Informationen Rund um die Kaskadierung, wie beteiligte Systeme und deren Transportwege. Diese CAS-DB ist in der gesamten Kaskadierung nur einmal vorhanden und wird von allen TRADEMAN-Instanzen verwendet. Jeder TRADEMAN besitzt neben der CAS-DB weiterhin seine eigene TRADEMAN-Datenbank in der er seine "Stamm- und Nutzdaten" speichert. Zusätzlich steuert die CAS-DB auch die Schlüssel-Vergabe über alle TRADEMAN-Systeme hinweg. Jeder TRADEMAN kommuniziert dazu mit dieser Datenbank im Hintergrund (die grünen Pfeile im Diagramm) und holt sich dort die entsprechenden Informationen, bewertet sie und legt sie auch wieder dort ab.
Einbindung von Kassen
Grundsätzlich ist das Einbinden von Kassen auf jeder Ebene möglich. Die Daten werden dabei über das bewerte PosSync-Verfahren übermittelt (die grauen Pfeile im Diagramm).
Jede Kasse kann immer nur mit einem TRADEMAN verbunden sein.
Drittsysteme
Die Anbindung von Drittsysteme ist ebenfalls zu jeder Zeit möglich (angedeutet bei "TRADEMAN 3" und "TRADEMAN 11"). Die Drittsysteme kommunizieren dabei über die poe-Standardschnittstelle oder über die bereitgestellten TRADEMAN-API-Endpunkte (die roten Pfeile im Diagramm). Diese Anbindung bietet die Möglichkeit, dass Drittsysteme, wie z.B. Finanzbuchhaltungsprogramme, Dritt-Warenwirtschaften, Content-Management-Systeme oder Webshops, Daten aus der jeweiligen TRADEMAN-Instanz auslesen bzw. an dieses übergeben können.
Abhängig des Anwendungsfall, kann auch ein "API-Router" eingesetzt werden, der als gebündelter Endpunkt für die Anfragen von Drittsystemen dient. Dieser API-Router entscheidet dann anhand der anfragenden Header-Daten, an welches der kaskadierten Systemen die Anfrage weiter durchgereicht werden soll. In der Zeichnung ist dies beispielhaft für 2 TRADEMAN-Systeme dargestellt, das Routing ist aber für alle TRADEMAN-Instanzen der Kaskadierung möglich.
Alle weiteren Konfigurationsschritte und -Möglichkeiten werden in den folgenden Seiten beschrieben.