SAP Fiori Anwendung als Multi-Tenant-Solution
zurück zur Übersicht

SAP Fiori Anwendung als Multi-Tenant-Solution

Thema: Entwicklung, Fiori

BTC AG

Talea Schweers

Um eine Anwendung, wie beispielsweise eine SAP Fiori Anwendung, innerhalb eines Konzerns an andere Tochtergesellschaften weitergeben zu können, gibt es die Möglichkeit diese manuell zu kopieren und als neue Anwendung mit einer eigenen Datenbank in der Tochtergesellschaft einzurichten. Diese Möglichkeit besitzt den Nachteil, dass jede Instanz einzeln gepflegt und aktualisiert werden muss. Folglich gibt es keinen Überblick über alle Anwendungen des Konzerns und es besteht ein erhöhter Wartungsaufwand.

Du willst Teil von unserem Team werden?

Hier geht es zu unserem Stellenangebot für die Stelle SAP Softwareentwickler *in Fiori!
Für diesen Fall bietet die Multi-Tenant-Solution eine Lösung. Multi steht für mehrere und Tenant kommt aus dem Französischen und beschreibt dort so viel wie ein Pacht- oder Mietverhältnis. Im Deutschen wird dieser Begriff oftmals mit Mandantenfähigkeit übersetzt und bedeutet, dass eine Softwareinstanz mehrere unterschiedliche Anwender bedient. Obwohl mehrere Anwender auf eine Instanz zugreifen, hat jeder Anwender eigene Zugriffsrechte, Konfigurationsdetails und Daten. Diese können nicht von anderen Anwendern eingesehen werden. Dadurch ergeben sich eine effizientere Nutzung der Hardwareressourcen, weniger Wartungsaufwand und eine vereinfachte Skalierbarkeit.

Multi-Tenant-Solution in der SAP BTP

Im Zusammenhang mit der SAP BTP erfolgt die Entwicklung einer Anwendung bei der Multi-Tenant-Solution innerhalb eines Subaccounts. Der Besitzer des Kontos kann die Anwendung für andere Kunden veröffentlichen. Damit bezahlt nur der Besitzer die BTP-Ressourcen. Die Verbraucher können die Anwendung durch den Erwerb einer Lizenz und das Abonnieren im eigenen Consumer Subaccount nutzen. Dies ermöglicht es, Kosten zu reduzieren, da die Ressourcen nur vom Besitzer des Kontos bezahlt werden müssen.

Entwicklung einer Multi-Tenant-Solution

Um eine Multi-Tenant-Solution bereitzustellen, wird zuerst die SAP Fiori Anwendung entwickelt und ohne Multi-Tenant beispielsweise in der Cloud Foundry bereitgestellt. Dazu kann die MTA-Technology der SAP verwendet werden. Diese ist zur Bereitstellung von Anwendungen zuständig. Durch eine sogenannte MTA-Datei werden alle dort hinein geschriebenen Ressourcen und Module in der Cloud Foundry bereitgestellt.

Bei der Entwicklung einer Multi-Tenant-Solution müssen verschiedene Anpassungen an der Anwendung vorgenommen werden. So muss beispielsweise ein HDI-Container statt einer Datenbank genutzt werden, um die Mandantenfähigkeit zu unterstützen. Dies wird durch die Anpassung der MTA-Datei ermöglicht. Zudem muss ein sogenanntes Tenant-Host-Pattern eingefügt werden, um eine individuelle URL für jede Anwendung erstellen zu können. Dieses wird dem Modul Approuter in der MTA-Datei hinzugefügt.

Darüber hinaus müssen der MTA-Datei weitere Ressourcen hinzugefügt werden. Dazu gehört der SAP SaaS-Bereitstellungsservice. Dieser verwaltet die Abonnements für die mehrbenutzerfähige Anwendung und deren Dienste. Zu den Aufgaben gehört das Abrufen von Registrierungsdetails, das Abonnieren einer Anwendung, das Aufheben des Abonnements, das Abrufen aller Anwendungsabonnements und das Aktualisieren von Abonnementsabhängigkeiten.

Zudem wird ein Service Manager als Ressource eingefügt. Der Service Manager ermöglicht die Nutzung der SAP BTP Services aus jeder verbundenen Laufzeitumgebung. Zusätzlich können Serviceinstanzen überwacht sowie Services und Serviceinstanzen für verschiedenen Umgebungen freigegeben werden.

Zum besseren Verständnis des Aufbaus der MTA-Datei zeigt die folgende Abbildung diesen grafisch:
Weitere Anpassungen werden beispielsweise an der xs-security.json Datei vorgenommen. So muss der Tenant-mode auf shared gesetzt und eine Rolle für den Callback definiert werden. Hinzu kommen verschiedene JavaScript Dateien zur Automatisierung des Abonnierens und zur Verbindungsherstellung.

Um das Zusammenspiel besser zu verstehen ist in der folgenden Abbildung der Gesamtaufbau zu erkennen.

In der Abbildung ist zu erkennen, dass der App-Router die Verbindung zwischen der CAP-Anwendung und der SAP Fiori Anwendung verwaltet. Dies wird durch die Konfiguration verschiedener Routen in der xs-app.json Datei ermöglicht. Die CAP-Anwendung greift auf einen Container innerhalb der Datenbank zu und die UI5 App verwendet die zuvor erstellte HTML5 Repository Instanz. Der Autorisierungsservice ist ebenfalls abgebildet. Dieser wird aus technischer Sicht als XSUAA Service Instanz bezeichnet und wird von dem App-Router, dem SaaS-Bereitstellungsservice und vom Service Manager verwendet. Zusätzlich sind zwei Consumer Accounts zu erkennen, die über den Service Manager die Anwendung abonnieren können.

 

Zusammenfassung

Zusammenfassend stellt die Multi-Tenant-Solution eine Architekturmöglichkeit dar, die Anwendungen für mehrere Anwender bereitstellt, auch SAP Fiori Anwendungen. Durch eine Multi-Tenant-Solution wird die Verwaltung vereinfacht und die Kosten zur Verbreitung der Anwendungen reduziert.

Kontakt

BTC AG Kontakt Marco Grieger
Marco Grieger Manager Team, SAP Fiori & BTP Extension Suite