Reality Check: ABAP ist nicht ABAP
Im Rahmen eines internen Innovationsprojektes wollten wir einerseits die Marketingversprechen dazu einem Reality Check unterziehen und andererseits klären, was es kostet, eine On-premise-Applikation auf der SCP verfügbar zu machen.
Barcode-Tool goes Cloud
Mit dem Snap-Barcode-Tool, einem Prüfservice für die weit verbreiteten Strichcodes, lassen sich die enthaltenen Barcode-Daten jedes damit gekennzeichneten Pakets in Sekundenbruchteilen verarbeiten und mit dem SAP-ERP-System abgleichen.
Unser Plan: Mithilfe der SCP möchten wir diesen Service im Internet als Pay-per-use-Dienst mit SAP-Backend-Integration anbieten. Um die Stammdatenqualität unserer Kunden zu verbessern, soll die Anwendung auch über den SAP Business API Hub oder den SAP-Shop auffindbar und integrierbar sein – und über Fiori auch am Handy einfach nutzbar sein. So weit, so gut.
Von On-prem zur Cloud
Unsere Vorstellung war zu Beginn recht simpel: Die ABAP-Anwendung, die jetzt on-premise funktioniert, läuft danach eben auf ABAP auf der SAP Cloud Platform (SCP). Also SCP-Account einrichten, darauf eine ABAP-Instanz aktivieren und das Barcode-Tool importieren. So war der Plan.
Dann vielleicht noch ein wenig nachcoden, da und dort einen Zusatzservice aktivieren und dann daraus eine einfache Fiori-Demo-App generieren, im Business-Hub publishen – das war’s! Dachten wir.
Eine Partnerlizenz zu besorgen und durch Bezahlen eine Instanz zu aktivieren waren noch einfache Übungen. Die Erwartung, unser Tool bestenfalls mittels Transportauftrag und schlechtestenfalls via Copy und Paste in die SCP importieren zu können, wurde enttäuscht.
Realiter mussten wir ABAP-Objekte in ein Git-Repository hoch- und andere von dort herunterladen. Immerhin setzt SAP dabei mit Git auf ein Open-Source-Tool, das wir kannten!
Aber leider führte auch das ordnungsgemäße Vorgehen zu Fehlermeldungen. Einerseits, weil manche Objekte (etwa Includes) nicht importiert wurden, und zum anderen, weil klassische ERP-Objekte wie MARA und MATNR, auf die unser Barcode-Tool zurückgreift, in SCP-ABAP schlicht nicht existieren bzw. weil kein Zugriff darauf gestattet wird.
Die etwas bittere Erkenntnis: Der geplante „nahezu Eins-zu-eins-Import“ lässt sich nicht realisieren, unser Experiment entwickelt sich in Richtung Neuimplementierung des Produkts!
Workarounds und Improvisationen
Also bauten wir einen Wrapper, um die Funktionalität aus dem Backend aufzurufen. Aber die Bezeichnung des ABAP-RESTful-Programming-Modells (RAP) entpuppte sich dabei als ein reiner Euphemismus.
Erholsam war die Arbeit damit keineswegs, gibt es doch weder die „altbekannte“ SE80 noch ein SAP-GUI für Windows. Was zur Verfügung steht, sind Eclipse und diverse Fiori-Launchpad-Apps.
Unter diesen Voraussetzungen entwickelte sich unser Projekt, mal eben eine On-premise-Anwendung in die Cloud zu portieren, zu einem Kraftakt voller Workarounds und Improvisationen – und zu einem Stelldichein mit vielen neuen Komponenten und Bedienungsoberflächen.
ABAP in der Cloud tickt anders
Im Rückblick haben wir einiges gelernt. Zuallererst: ABAP in der Cloud ist nicht dasselbe wie ABAP on-premise. Die Cloud bietet zahlreiche neue Konzepte und Möglichkeiten.
Innovationen im Umfeld von ABAP scheint SAP zuerst für die Cloud zu entwickeln, wie etwa der Fiori-everywhere-Ansatz beim User Interface zeigt – wodurch das SAP-GUI entfällt. Im Data Dictionary finden sich zwar einige neue Objekte aus der On-premise-Welt.
Bekanntes ist aber teilweise nicht mehr verfügbar. Unser beabsichtigtes Migrationsprojekt hat sich so im Projektverlauf eher zu einer veritablen Neuimplementierung entwickelt.
Gut für Neues
Auch wenn sich unser Ansatz als nicht zielführend herausgestellt hat, haben wir dadurch einen guten Einblick in die Cloud-Plattform von SAP bekommen. Sie eignet sich sehr gut für Neuentwicklungen auch in Kombination mit On-premise-Lösungen, aber eben weniger für eine Portierung bestehender Anwendungen.
Die Vorteile der Cloud wie Skalierbarkeit, Sicherheit und globale Ansätze lassen sich realisieren, neue Technologien und Prozesse stehen hier zeitnahe zur Verfügung. Kurz gesagt: SCP bietet vielfältige innovative Möglichkeiten, die State of the Art sind. Optimal nutzen lassen sie sich bei der Entwicklung neuer Anwendungen.