Mandantenfähigkeit
Die Persistenzschicht von TopLogic bietet Unterstützung für die Realisierung von mandantenfähigen Anwendungen. Hierfür haben alle Objekttabellen als Prefix eine Branch-Spalte, welche Teil des Primärschlüssels ist. Über unterschiedliches Branches lassen sich komplett unabhängige Datenstände (Mandanten) in derselben Anwendung realisieren. Außerdem ermöglicht diese Branch-Spalte einen Datenstand abzuspalten (Erzeugen eines Branches) und auf den abgespaltenen Datenstand Änderungen durchzuführen, die vollkommen unabhängig vom Ausgangsdatenstand sind.
Dieser Mechanismus kann eingesetzt werden,
- um Releases von Datenbeständen pflegen zu können, oder
- um simulativ Änderungen an Datenbeständen vornehmen zu können, die keine Auswirkungen auf den "Hauptdatenbestand" hat, oder
- um einen persönlichen Workspace pro Benutzer realisieren zu können, in dem dieser Änderungen vornehmen kann, die nicht direkt von anderen Nutzern gesehen werden können, oder
- um ein mandantenfähiges System zu realisieren, indem unterschiedliche Nutzer komplett voneinander getrennte Datenstände bearbeiten können.
Jeder Branch in der Persistenzschicht ist versioniert änderbar. In jedem Branch gibt es eine eigene unabhängige aktuelle Version, in der Änderung an dem Branch vorgenommen werden können. Ein Branch erstreckt sich entweder über alle Objekte des Systems, oder ist ein partieller Branch, der nur isolierte Änderungen an einer Teilmenge der Tabellen des Systems zulässt.