Cool, da wir hier umgezogen sind, nehme ich an, dass alle die hier sind, für den Vortrag,
sind nicht zum Schlafen. Nice. Ich rede heute über das hier. Wenn das Ding geht. White Labeling.
Also ich fange auch mit Wikipedia. Das ist super klein. Das mache ich noch ein bisschen
größer. Also White Labeling ist ein Produkt oder ein Service, das von einer Company hergestellt
wird und dann andere verkaufen und unter einem anderen Namen. Also kennt man die ganze Zeit.
Also kommt oft vor. In der Software heißt das wahrscheinlich eigentlich eher Mandantenfähigkeit
oder Multi-Tension-Tendency. Aber ich finde, also eine Single Instanz von der Software läuft,
da sind verschiedene Kunden drauf, die dieselbe Software verwenden. In getrennten quasi
Bereichen. Also jeder Kund hat seinen eigenen Bereich. Ich finde White Label aber das viel
lustigere Ding dafür. Also ich habe ganz gerne Schallplatten. Und das Wort White Labeling
kommt tatsächlich anscheinend sogar von den Schallplatten, weil sozusagen Schallplatten
mal nur so als Rohdings gepresst werden, haben sie zuerst noch kein Label, sondern ein White
Label. Werden dann entweder sozusagen so verkauft oder manche Teachers machen das absichtlich
für diese Testpressungen, damit man nicht weiß, wie das Zeug das ist. Also deswegen
finde ich White Labeling den lustigeren Namen als Multi-Tendency. Außerdem kann ich es
besser aussprechen. Das ist übrigens in der Jan Delay Denyo Platte aus dem Jahr 2001.
Mit Adam sehr cool, man kann es nicht lesen, aber auf den Schallplatten sind immer wieder
hier so Seriennummern aufgedruckt und so. Wer von euch Schallplatten schon mal in der
Hand gehabt hat, haben die dies auch. Und manchmal sind da noch nicht nur Seriennummern,
sondern versteckte Botschaften. Also wer die Platte mal in der Hand bekommt, soll sich
die Botschaft anschauen. Sie wird allerdings auch auf Discogs gespoilert. Nur so ein bisschen
nicht Software Content. Okay, also die erste offensichtliche Alternative zu dieser White
Labeling Sache ist natürlich mehrere Instanzen laufen zu lassen von irgendwas. Man macht
einfach ein zweites Deployment von seiner Software und noch ein Deployment und noch
ein Deployment und so weiter. Das ist irgendwie natürlich super einfach. Das kaliert nicht
sehr gut, weil ich brauche für jedes Deployment einen eigenen Server, das ganze Zeug ist draußen,
das ist irgendwie mühsam. Außerdem ist es total Fahrt, weil es ist ja nur Deployment
und wir sind ja Software-Ingenieurs und keine DevOps-Leute oder vielleicht sind noch DevOps-Leute
hier. Sorry. Also ich schreibe lieber Software als ich Deployments mache. Und ich verwende
hier in diesem ganzen Vortrag ein Real-World-Example, in dem jetzt in Ewigkeiten Arbeit, das heißt
Winxl ist irgendwie so eine Direct-Marketing-Coupon, Gewinnspielplattform, die wir die verwenden.
Es gibt hier eine Instanz für Gruner und Jahr. Wir machen für das Elternmagazin so eine
Gewinnspielsache. Also der Code rennt dort live. Und wir sind jetzt gerade dabei sozusagen
eine zweite Instanz oder einen zweiten Kunden in der Schweiz zu bekommen. Okay. Also das
erste, was wir brauchen auf jeden Fall mal für so eine White Labeling-Lösung ist eine
Multi-Tenancy-Database oder eine White Label-Database. Was wir da machen, normalerweise, es gibt mal
zuerst eine Tabelle, wo wir die Informationen für die Applikation speichern. Also diese
unterschiedlichen Instanzen heißen bei uns leider App aus historischen Gründen. Ich
bin jetzt zu faul, das alles zu ändern. Da drinnen, also jede von diesen Instanzen oder
diesen White Label-Dingern hat mal einen Namen, also eine interne ID, eine UID, einen Namen
und irgendeinen Domain, unter dem sie laufen soll. Da schaut das so aus. Also es ist die
eine Instanz, die hat irgendeine coole UID und irgendeinen Namen und eine andere Instanz
mit einer anderen ID und einer anderen UID. Was außerdem ganz cool ist, wir finden ein
Postgres und wir haben dann hier noch so ein ARX-Ding, das ist ein JSONB. Also JSONB ist
ein Postgres-Type, in dem ich halt beliebiges JSON hineinspeichern kann, das sehr effektiv
gespeichert wird und dem man auch ganz cool abfragen kann. Also wer Postgres verwendet,
braucht kein MongoDB mehr, das brennt mit JSONB stattdessen. Und in diesem Ding speichern
wir sozusagen Daten hinein, die uns zu mühsam sind, als eigenes Feld einzurichten in der
Plattform. Das kann man dann einfach in ein Klumpen hineinschmeißen, irgendwelche Urals
und so weiter und so fort und die unterscheiden sich wiederum zwischen diesen beiden Instanzen
Presenters
Thomas Klausner
Zugänglich über
Offener Zugang
Dauer
00:38:39 Min
Aufnahmedatum
2020-03-04
Hochgeladen am
2020-03-04 21:14:31
Sprache
de-DE
Derzeit arbeite ich an einer White-Label-App, die also dieselbe Funktionialität für verschiedene Kunden bieten, ohne dass auf den ersten Blick klar ist, dass alle Kunden dieselbe App verwenden.
In dem Talk ziege ich ein paar Details unserer Implementierung:
* Middleware und RequestHelper für Webapps
* Datenbank
* Templating / I18N