Das Tenant-Modell verstehen

Tenants, Apps und Märkte

Die vier Begriffe, an denen der Rest der Plattform hängt — und warum alles, was Sie schon nutzen, eine App ist.

Vier Begriffe beantworten fast jede Frage, die mit „Wo stelle ich das um?“ beginnt: Tenant, App, Abo und Markt. Sie sind zwanzig Minuten wert, denn die meiste Verwirrung in der Administration entsteht, weil einer davon mit einem anderen verwechselt wird.

Ihr Tenant ist Ihr Unternehmen

Ein Tenant ist ein Unternehmen. Ihres. Er hat eine feste, lesbare Kennung, einen Slug wie max-mueller-gmbh, die Ihre Daten überallhin begleitet: in der Datenbank, im Anmeldesystem, in URLs, in Logs, im Support-Fall, den jemand für Sie eröffnet. Die Kennung wird beim Anlegen des Tenants vergeben und ändert sich danach nicht mehr. Wählen Sie also einen Namen, mit dem Sie leben können.

Die Plattform ist mandantenfähig: dieselbe Software bedient jeden Kunden. Ihre Daten liegen nicht in einer eigenen Kopie der Anwendung, und sie sind auch nicht mit denen anderer vermischt. Die Datenbank erzwingt die Trennung, eine Ebene unterhalb der Software: jede Tabelle trägt die Tenant-Kennung, und jede Abfrage wird gegen die Kennung in Ihrer Sitzung gefiltert, bevor die Anwendung eine Zeile zu sehen bekommt. Das ist keine Regel, an die eine App denken muss. Eine App kann sie nicht vergessen, und eine schlecht geschriebene App kann sie nicht umgehen.

Wo die Tenant-Grenze nicht verläuft. Ein Tenant ist kein Shop und kein Land. Ein Tenant kann mehrere Storefronts, mehrere Märkte, mehrere Marken betreiben. Wenn Sie überlegen, ob Ihre österreichische Tochter einen eigenen Tenant braucht: fast immer nein. Sie braucht einen Markt. Getrennte Tenants heißt getrennte Kataloge, getrennte Kunden und getrennte Rechnungen, ohne gemeinsames Reporting.

Alles ist eine App, auch das, was schon da ist

Das ist der Gedanke, der überrascht. Produkte, Preise, Bestellungen, Kunden, Märkte, also die Dinge, die am ersten Tag da waren, sind nicht „die Plattform“, an die seitlich Apps angeschraubt werden. Sie sind Apps, gebaut wie alles, was Sie später hinzufügen, und beim Anlegen Ihres Tenants installiert.

Eine App ist in sich geschlossen und erklärt in einer Handvoll Dateien, was sie ist:

DateiWas sie deklariert
manifest.jsonIdentität, Version, Abhängigkeiten und die Berechtigungen, die die App braucht
schema.jsonDie Tabellen, die ihr gehören: ihr Datenmodell
cockpit.jsonWas sie dem Cockpit hinzufügt: Navigationseinträge, Bildschirme, Dashboard-Widgets, Schaltflächen
settings.jsonIhre Konfiguration, pro Tenant und pro Markt
billing.jsonWie sie verkauft wird: enthalten, kostenlos oder kostenpflichtig

Zwei Folgen, die Ihnen im Alltag begegnen:

Die Navigation des Cockpits wird zusammengesetzt, sie ist nicht fest. Das Menü, das Sie sehen, ist die Summe der in Ihrem Tenant installierten Apps. Installieren Sie eine App, erscheinen neue Einträge; deinstallieren Sie sie, verschwinden sie. Hat das Cockpit einer Kollegin einen Menüpunkt, den Ihres nicht hat, liegt das an einer installierten App oder einer Berechtigung, nicht an einem Fehler.

Apps haben von sich aus keinen Zugriff. Eine App deklariert in ihrem Manifest jede Entität, die sie liest und schreibt, und jede Fähigkeit, die sie braucht: ausgehenden Netzwerkzugriff auf einen benannten Host, Event-Abonnements, Speicher. Diese Deklaration sehen Sie an der App als ihr Zugriffsregister, und es lohnt sich, es zu lesen. Eine App, die Schreibzugriff auf Preise verlangt, sagt Ihnen etwas, über das Sie entscheiden sollten, statt daran vorbeizuscrollen.

Sie geben Zugriff ausdrücklich frei, wenn ein App-Update mehr verlangt als bisher. Bis Sie freigeben, läuft Ihr Tenant auf der Version weiter, der Sie bereits zugestimmt haben. Siehe Apps und der Marketplace.

Apps gibt es in drei Arten, und der Unterschied steht auf Ihrer Rechnung:

ArtWoher sie kommtPreismodell
EnthaltenKern-Apps, die mit Ihrem Abo kommenEnthalten
ÖffentlichDer App-Marketplace, von revenexx oder einem zugelassenen PartnerKostenlos oder Kostenpflichtig
PrivatNur für Ihr Unternehmen gebaut, von Ihnen oder Ihrem PartnerNicht öffentlich gelistet

Ihr Abo entscheidet, was enthalten ist

Ihr Abo ist ein Tarif. Apps mit dem Preismodell Enthalten kommen mit ihm; der Marketplace legt Funktionen obendrauf, entweder kostenlos oder auf einer eigenen Abo-Zeile.

Das ist die Antwort auf „Die Dokumentation beschreibt einen Bildschirm, den ich nicht habe“. Drei mögliche Ursachen, in der Reihenfolge, in der sich das Prüfen lohnt: Die App ist nicht installiert, Ihr Abo enthält sie nicht, oder Ihr Zugriff erlaubt sie nicht. Siehe Abo und Abrechnung und Nutzer, Rollen und Berechtigungen.

Märkte sind Geschäftskontexte innerhalb Ihres Tenants

Ein Markt ist ein eigener kommerzieller Kontext innerhalb Ihres einen Tenants: ein Land, eine Region, eine Marke, ein B2C-Ableger eines B2B-Geschäfts. Jeder Markt hat seine eigene Basiswährung, seine eigenen Locales, die Währungen, in denen er handelt, und seine eigenen Steuerklassen. Sie pflegen sie unter Commerce Studio › Configuration › Märkte, mit den Reitern Übersicht, Währungen und Steuerklassen.

Märkte kommen aus einer Kern-App, die auf jedem Tenant vorhanden ist, und diese App tut eine strukturelle Sache: Sie gibt jeder anderen App eine Dimension, nach der sie Daten aufteilen kann. Produkte, Preise, Kunden, Bestellungen und Kundenkennzahlen lassen sich alle pro Markt abgrenzen. Deshalb ist ein Markt die richtige Antwort für die österreichische Tochter. Sie bekommen getrennte Währung, Steuer und Sortiment und behalten einen Katalog, einen Kundenstamm und ein Reporting.

Den Markt, in dem Sie arbeiten, wechseln Sie in der oberen Leiste des Cockpits. Die Vorgabe ist Global, und das ist gar kein Markt. Es ist die tenantweite Grundlinie, von der jeder Markt erbt, bis er etwas überschreibt. App-Einstellungen funktionieren genauso: Ein Feld ist entweder global, oder es ist marktbezogen und kann die Grundlinie überschreiben.

Markt, Kanal, Storefront. Drei verschiedene Dinge, die oft verwechselt werden. Ein Markt ist ein kommerzieller Kontext mit eigener Währung und Steuer. Ein Kanal ist der Weg, den Daten oder eine Bestellung nehmen: ein Shop, eine Punchout-Anbindung, telefonische Bestellungen, die der Innendienst eintippt. Eine Storefront ist eine Website. Ein Markt kann mehrere Storefronts haben; eine Storefront bedient einen Markt.

Die Unterscheidung, an der sich alle stoßen

Es gibt zwei getrennte Personenkreise mit zwei getrennten Rollensystemen, und sie zu verwechseln ist der häufigste Fehler in diesem Bereich.

Ihr TeamDie Einkäufer Ihrer Kunden
WerIhre Kolleginnen und Kollegen: Admins, Produktmanager, InnendienstEinkäufer bei den Unternehmen, die bei Ihnen kaufen
Wo sie sich anmeldenIm Cockpit, über Revenexx SSOIn Ihrer Storefront
Wer sie verwaltetSie, unter Einstellungen › TeamSie, unter CRM › Kontakte, pro Kundenorganisation
Was Rollen steuernWelche Cockpit-Bildschirme und Aktionen sie bekommenOb ein Einkäufer Preise sehen, bestellen oder freigeben darf (CRM › Rollen)
Dokumentiert inNutzer, Rollen und BerechtigungenKontakte und Rollen

Sie teilen keine Konten, kein Login und keine Rollendefinitionen. Einem Kollegen Zugang zum Cockpit zu geben, gibt ihm nichts in Ihrem Shop. Einem Einkäufer eine Freigeber-Rolle in einer Kundenorganisation zu geben, gibt ihm nichts im Cockpit.

Weiter