Wie man SAP UI5 Anwendungen erfolgreich von On-Premise zu SAP BTP migriert
Wer sich digital transformiert, greift in vielen Fällen auf die SAP Business Technology Platform (SAP BTP) zurück. Doch wie gelingt die Migration von SAP-UI5-Anwendungen von einer On-Premise-Umgebung auf diese Cloud-Plattform? In Teil 4 unserer kleinen Serie zu SAP BTP zeigen wir Ihnen genau das.
Die digitale Transformation erfordert zunehmend, dass Unternehmen ihre bestehenden Systeme, Daten und Anwendungen in die Cloud verlagern. Hier führt bei SAP kein Weg an der SAP Business Technologie Platform (SAP BTP) vorbei. SAP BTP bietet zahlreiche Vorteile wie Skalierbarkeit, Kosteneffizienz und eine moderne Entwicklungsumgebung.
Doch Unternehmen zögern, weil sie den Aufwand und das Risiko einer Migration fürchten. Dass das oft unbegründet ist und wie ein Umzug von SAP-UI5-Anwendungen von On-Premise auf diese Cloud-Plattform reibungslos und effizient gestaltet werden kann, wollen mein Kollege Reiner Eberhard und ich Ihnen im Folgenden näherbringen. Dazu lohnt sich zuerst ein Blick auf die Theorie.
Das sagt die Theorie
Viele Wege führen nach Rom. Neben der standardisierten SAP-Activate-Methode für SAP-Einführungsprozesse stellt sich für SAP-Kunden meistens die Frage ob und wie bestimmte Entwicklungen migriert werden können. Auf dem Papier gibt es klare, wichtige Schritte, die Sie gehen sollten, damit die Migration ein Erfolg wird. Mit SAP BTP ist es nicht anders.
Schritt 1: Grundlegendes Verständnis und Planung
Bevor Sie mit der eigentlichen Migration beginnen, sollten Sie die Unterschiede zwischen der On-Premise-Infrastruktur und der SAP-BTP-Umgebung kennen (mehr dazu in unseren vorherigen Beiträgen 1, 2 und 3).
Während On-Premise-Lösungen oft im eigenen Rechenzentrum betrieben werden, bietet SAP BTP eine Cloud-Plattform, die verschiedene Services und Tools zur Entwicklung, Integration und Verwaltung von Anwendungen bereitstellt.
Berücksichtigen Sie in Ihren Überlegungen also wichtige Planungsaspekte:
- Definieren Sie Ihre Ziele! Was wollen Sie mit der Migration erreichen? Bessere Skalierbarkeit, einfachere Wartung oder die Nutzung neuer Technologien?
- Wissen Sie, was Sie haben! Welche SAP UI5-Anwendungen sollen migriert werden? Welche Abhängigkeiten und Integrationen gibt es?
- Planen Sie Ihrer Ressourcen! Stellen Sie sicher, dass Sie die nötigen Ressourcen (Team, Zeit, Budget) zur Verfügung haben.
Schritt 2: Vorbereitung der bestehenden SAP-UI5-Anwendung
Eine erfolgreiche Migration beginnt mit einer gründlichen Vorbereitung der bestehenden Anwendung. Beachten Sie dabei Folgendes:
- Analysieren und bereinigen sie den Code! Überprüfen Sie Ihren Code auf Abhängigkeiten, die möglicherweise nicht in der SAP-BTP-Umgebung verfügbar sind. Alte oder unnötige Codebestandteile sollten entfernt werden, um die Anwendung schlanker und performanter zu machen.
- Verwenden Sie OData-Services! Da SAP BTP auf offenen Standards basiert, sollten Ihre Anwendungen, die auf SAP-OData-Services zugreifen, relativ einfach in die neue Umgebung integriert werden können.
- Prüfen Sie die UI5-Version! Stellen Sie sicher, dass Ihre Anwendung auf der neuesten Version von SAP UI5 läuft. Das erleichtert den Übergang, da neuere Versionen oft besser mit der BTP kompatibel sind.
Verwenden Sie APIs (…and keep the core clean)! Stellen Sie sicher, dass alle verwendeten APIs auch in der BTP verfügbar sind oder passen Sie den Code entsprechend an.
Schritt 3: Einrichtung der SAP-BTP-Umgebung
Bevor Sie Ihre Anwendung in die Cloud migrieren, müssen Sie die SAP-BTP-Umgebung einrichten und dabei einen Blick auf folgende Dinge werfen:
- Erstellen Sie ein BTP-Subkonto! Die Subkonto-Erstellung mit der Auswahl eines Data Center ist der zentrale Ausgangspunkt für Ihre Migration. Hier werden alle notwendigen Ressourcen, wie Anwendungen, Dienste und Datenbanken verwaltet.
- Richten Sie Cloud Foundry oder Kyma inklusive aller Berechtigungen ein! Wählen Sie die passende Umgebung in der SAP BTP aus, um Ihre Anwendungen zu hosten. Cloud Foundry ist eine Standardumgebung für eine containerbasierte Entwicklung und den Betrieb von Anwendungen, während Kyma eine Kubernetes-basierte Umgebung ist, die mehr Flexibilität bietet.
- Aktivieren Sie die notwendigen Services! Aktivieren Sie die benötigten Services wie z.B. die SAP-HANA-Datenbank, den SAP Business Application Studio bzw. Build Code oder SAP Connectivity, um die Entwicklung und Integration zu unterstützen.
Deployen Sie SAP UI5 Libraries! Stellen Sie sicher, dass die benötigten UI5 Libraries in Ihrer BTP-Umgebung verfügbar sind.
Schritt 4: Migration der SAP-UI5-Anwendung
Nachdem alles vorbereitet ist, ist es in diesem Schritt an der Zeit, die eigentliche UI5-Migration durchzuführen. Der Prozess kann wie folgt ablaufen:
- Verwenden Sie den SAP Business Application Studio bzw. Build Code! Dieser Service bieten eine integrierte Entwicklungsumgebung, die den Übergang von On-Premise zu BTP vereinfacht. Sie ermöglichen es, den Code direkt in die BTP zu übertragen und anzupassen.
- Passen Sie die Konfigurationen an! Wenn Sie die Konfigurationsdateien (z.B. Manifest.json) anpassen, vergessen Sie nicht, die BTP-Umgebung zu berücksichtigen. Das betrifft z.B. URL-Endpunkte, Authentifizierungsmethoden und Service-Referenzen.
Deployen Sie! Laden Sie die angepasste Anwendung in die Cloud hoch. Dies kann direkt über die Entwicklungsumgebung oder über Kommandozeilen-Tools wie die Cloud Foundry CLI erfolgen.
Schritt 5: Sicherheits- und Berechtigungsmanagement
Sicherheit ist ein zentraler Aspekt bei der Migration. Beachten Sie dabei folgende Punkte:
- Identity Management: Integrieren Sie Ihre Anwendung mit dem SAP Identity Authentication Service (IAS) oder einem anderen Identity Provider, um eine sichere Authentifizierung und Autorisierung zu gewährleisten.
Rollen und Berechtigungen: Überprüfen und definieren Sie die Rollen und Berechtigungen in der BTP neu, um sicherzustellen, dass alle NutzerInnen die richtigen Zugriffsrechte haben.
Schritt 6: Testen und Optimieren
Nach der Migration sollte die Anwendung gründlich getestet werden:
- Funktionalitätstests: Überprüfen Sie, ob alle Funktionen der Anwendung wie gewünscht arbeiten.
- Performance-Tests: Messen Sie die Leistung der Anwendung in der Cloud-Umgebung und optimieren Sie gegebenenfalls den Code oder die Datenbankzugriffe.
Fehlerbehebung: Nutzen Sie die integrierten Monitoring- und Logging-Tools der SAP BTP, um potenzielle Probleme schnell zu identifizieren und zu beheben.
Schritt 7: Betrieb, Wartung und Weiterentwicklung
Nach der erfolgreichen Migration ist es wichtig, die Anwendung zu überwachen, regelmäßig zu checken und weiterzuentwickeln. Folgende Punkte können dabei von Bedeutung sein:
- Kontinuierliches Monitoring: Verwenden Sie die in der BTP verfügbaren Monitoring-Tools bzw. SAP Cloud Application Lifecycle Management (CALM), um die Anwendung zu überwachen und kontinuierlich auf Fehler oder Leistungsprobleme zu checken.
- Automatisierte Updates: Nutzen Sie die Möglichkeit, Anwendungen in der Cloud automatisiert zu aktualisieren und kontinuierlich zu verbessern.
- Skalierung: Passen Sie die Ressourcen flexibel an die Anforderungen an, um die Leistungsfähigkeit der Anwendung sicherzustellen.
Kontinuierliche Optimierung: Nutzen Sie die Flexibilität der Cloud, um kontinuierlich Verbesserungen und Updates an Ihrer UI5-Anwendung vorzunehmen.
Umsetzung in der Praxis:
Alle aufgeführten Punkte initial zu berücksichtigen kann sehr aufwändig und komplex werden.
Im Folgenden zeigen wir Ihnen anhand eines Beispiels, wie sich eine Migration dennoch einfach durchführen lässt, wenn man sich an den oben skizzierten Schritten orientiert. Konkret handelt es sich hier um die Migration einer SAP-UI5-Anwendung zur Leistungserfassung (CATS) mit einer OData Schnittstelle eines S/4HANA On-Premise Systems.
Das Lösungsdiagramm dazu:
Das Ziel war es, die ursprünglich mit WebIDE entwickelte On-Premise-SAP-UI5-Anwendung auf BTP Cloud Foundry zu migrieren, um diese in Zukunft auch externen Usern einfach zur Verfügung stellen zu können.
Dabei erhoffte man sich einige Vorteile, allen voran…
- Skalierbarkeit: Die Cloud ermöglicht eine einfache Skalierung der Anwendungen, um den sich ändernden Anforderungen Ihres Unternehmens gerecht zu werden.
- Reduzierter Wartungsaufwand: Da die Infrastruktur von SAP verwaltet wird, können Sie sich auf die Weiterentwicklung Ihrer Anwendungen konzentrieren.
- Erweiterte Funktionalitäten: SAP BTP bietet eine Vielzahl von Diensten und Tools, die Ihre Anwendungen erweitern und verbessern können wie z.B. künstliche Intelligenz, maschinelles Lernen und erweiterte Analysefunktionen.
Auf dem Weg zur Migration wurde die Ausgangsbasis genau untersucht:
- OData Service und SAP-UI5-Anwendung für Frontend Server im ABAP On-Premise Backend bestand.
- SAP UI5 Code war in Github Repository abgelegt (alternativ wäre ein der Download der SAP-UI5-Anwendung vom ABAP Backend sowie ein entsprechender Import möglich gewesen. Info hier).
- BTP Global Account und BTP-Subkonto mit Cloud Foundry Environment + SPACE und Business Application Studio (BAS) bzw. Build Code sind eingerichtet:
- Berechtigungen für BAS (Business_Application_Studio_Developer & Business_Application_Studio_Extension_Deployer) und Cloud Foundry Space Deployment (Space Developer) sind eingerichtet:
- On-Premise Cloud Connector Anbindung für Principal Propagation vom BTP-Subkonto zu SAP ABAP On-Premise Backend (S/4HANA) sind eingerichtet:
Und nun die UI5 App Migration zu SAP BTP – ein Erfolg in einzelnen Schritten Den Anfang machte die Erstellung einer BTP-Destination der Anwendung über Cloud Connector zum On-Premise OData Service (zusätzliche Parameter finden Sie hier).
Im nächsten Schritt wurden die Anpassungen des UI5 Paket im Business Application Studio (BAS) vorgenommen: Clone Repository vom Github Server und Repository öffnen:
- Clone Repository vom Github Server und Repository öffnen:
- Migration starten
- Überprüfen bzw. ändern von Einstellungen z.B. SAPUI5 Version:
Nach erfolgreicher Migration wurden automatisch notwendige Files initial erstellt bzw. upgedatet…
…so dass wir uns beschäftigen konnten mit dem…
Build der Anwendung im BAS über Terminal Interface.
Folgende Anpassungen waren hier nötig:
- npm run deploy-config: Hiermit werden automatisch die erforderlichen Files wie z.B. mta.yaml erstellt.
- cf login [-a API_URL]: Hiermit findet die Anmeldung am Subkonto und dem Cloud Foundry Environment statt. Die Information der Cloud Foundry API_URL findet man z.B. im BTP-Cockpit und Subkonto. Im Anschluss gibt man seine Zugangsdaten ein und wählt ggf. den gewünschten Space:
- npm run build: Erstellt die Applikation aus dem „webapp“ Ordner.
- npm run build:mta: Erstellt den Ordner mta_archives mit dem ***.mtar File, welches für das Deployment benötigt wird.
Das Deployment der Anwendung in das BTP Cloud Foundry Subkonto erfolgte mit npm run deploy.
Hiermit wird die App auf die BTP in den Space des Cloud Foundry Environments deployed.
… und Test zum erfolgreichen Abschluss:
Der Aufruf und Funktion der erfolgreich deployten Anwendung kann über den generierten Link aus dem BTP Cockpit getestet werden:
Login mit Identity Provider und Datenaustausch über die Destination zum SAP Backend OData Service mit Principal Propagation:
Unser Fazit
Die Migration einer SAP-UI5-Anwendung von On-Premise zur SAP BTP mag auf den ersten Blick komplex erscheinen, doch mit einer strukturierten Herangehensweise und den richtigen Services kann der Prozess deutlich vereinfacht werden.
Die Vorteile einer solchen Migration – von höherer Skalierbarkeit, Zukunftssicherheit bis hin zu reduzierten Betriebskosten – sind überzeugend. Unternehmen, die diesen Schritt wagen, stellen sicher, dass sie in einer zunehmend digitalen Welt wettbewerbsfähig bleiben und die Chancen der Cloud-Technologie voll ausschöpfen können.
Wenn Sie wollen, gehen wir gerne mit Ihnen diesen Schritt. Kontaktieren Sie uns dazu einfach unverbindlich.
Hier geht’s zu Teil 2 der Serie zu SAP BTP und dem Thema SAP BTP Integration Suite.
Kommentare