Die Lerninhalte richten sich an alle, die sich SAP-Wissen einfach, kompakt und praxisnah aneignen wollen. Unsere Lernplattform bietet Inhalte für Einsteiger, Fortgeschrittene und Experten. So können Sie Ihr Wissen Schritt für Schritt erweitern und sich kontinuierlich zum SAP-Experten entwickeln.
Cloud-Entwicklung in SAP HANA
Flatrate
19 € pro Monat
Einzellizenz 1000+ E-Books und Videos Sofortiger Zugang 12 Monate(228 €pro Jahr) Automatische Verlängerung
Mehr Informationen
Entdecken Sie im vorliegenden Praxishandbuch, welche Möglichkeiten die SAP-HANA-Plattform für eine moderne, cloudbasierte Softwareentwicklung bietet. Neben Technologieaspekten und Konzepten wie »Cloud-native«-Softwareentwicklung oder Microservices-basierte Architekturen werden Sie die relevanten Programmiersprachen, Prozesse und Tools im SAP-Kontext kennenlernen.
In unterschiedlichen Anwendungsszenarien veranschaulicht der Autor die Bedeutung der auf der Cloud Foundry basierten Platform-as-a-Service-(PaaS-)Lösung und zeigt Strategien auf, wie die XSA-Architektur in Unternehmen zu etablieren ist. Grundlage für die Entwicklung bilden neben dem XSA-Programmiermodell die Multi-Target Applications (MTA). Anhand eines übergreifenden MTA-Projekts mit mehreren Modulen werden Ihnen die beschriebenen Programmiersprachen und Technologien gegliedert in die Bereiche »Oberflächen«, »Prozesse« und »Datenbank«, nähergebracht.
Der Autor hat in diesem Buch Erfahrungen aus diversen Entwicklungsprojekten auf Basis der SAP-HANA-Plattform verarbeitet. Er richtet sich damit insbesondere an Software-Architekten mit einem technischen Grundverständnis und Interesse an moderner Entwicklung im SAP-Umfeld. Die aufgeführten Beispiele der jeweiligen Programmiersprachen werden über ein öffentliches GitHub-Repository zur Verfügung gestellt, um die Technologien direkt ausprobieren zu können.
- Einstieg in die cloudbasierte Softwareentwicklung
- SAP-HANA-XSA-Plattform für eigene Softwareprojekte verwenden
- Entwickeln mit HANA CDS, Java, Node.js, Python und SAPUI5
- inklusive vollständiger MTA-Beispielanwendung
Leseprobe
2.2 Extended Application Services Classic
Wie bereits in der Einleitung beschrieben, wurde der Bedarf an einem leichtgewichtigen Web-Anwendungsserver in Verbindung mit der HANA-Datenbank sehr früh erkannt. Dieser erweiterte Funktionsumfang der Plattform war aus zwei Gründen wichtig: Zum einen konnte die SAP auf diesem Weg zusätzliche Plattform-Funktionen, wie beispielsweise die Generierung von OData-Schnittstellen, direkt auf dem Datenbanksystem zur Verfügung stellen. Zum anderen verhalf er Kunden dazu, die Datenbank auch für Eigenentwicklungen zu nutzen, ohne weitere Infrastrukturkomponenten aufbauen zu müssen.
XSC und XS Engine
Zum Zeitpunkt der Veröffentlichung der XSC wurde noch nicht zwischen Classic und Advanced unterschieden. Die Extended Application Services wurden anfangs als »XS Engine« bezeichnet. Erst mit der Einführung der »Advanced«-Variante (XSA) wurde die XS Engine in XSC umbenannt.
Mit der SAP HANA XS Engine musste kein separater Applikationsserver ergänzend zur Datenbank betrieben werden. Alle Komponenten standen in einem einzigen System und mit nur einer Installation direkt zur Verfügung.
2.2.1 XSC-Architektur
In Abbildung 2.5 erhalten Sie eine Übersicht über die Architekturen mit und ohne XS Engine.

Abbildung 2.5: Datenbankarchitektur mit und ohne integriertem Applikationsserver
Bei der Architektur ohne XS Engine (linke Seite) müssen Anwendungen mithilfe von speziellen Treibern (HANA Client Library) auf die Datenbank zugreifen.
Die XS Engine als Eigenentwicklung der SAP wurde mit dem Release HANA 1.0 SPS 05 eingeführt. Technisch betrachtet ist sie ein JavaScript-Applikationsserver, der auf der SpiderMonkey Engine von Mozilla basiert. Der XS-Engine-Prozess ist ein eigenständiger Prozess innerhalb der HANA-Datenbank, der allerdings direkt mit dem Index-Server verbunden ist.
2.2.2 XSC-basierte Softwareentwicklung
Für kundenindividuelle Entwicklungen auf der Basis von XSC kam das SAP-eigene XSJS (XS JavaScript) zum Einsatz, welches auf einer serverseitigen JavaScript-Technologie basiert. Für die Kommunikation der XSJS-Anwendung mit der Datenbank wurden diverse JavaScript-APIs angeboten. Neben der Anwendungslogik in XSJS erfolgte die Entwicklung von Benutzeroberflächen mittels SAPUI5 sowie von Datenbankfunktionen mittels SQLScript. Auf diesem Weg konnten vollständige Anwendungen basierend auf dem Softwarearchitektur-Ansatz Model View Controller entwickelt werden.
Wichtig zu erwähnen ist, dass alle Entwicklungselemente direkt im SAP HANA Repository abgelegt wurden. Da das HANA Repository ein integrierter Bestandteil des Index-Servers ist, ähnelte das Entwicklungsvorgehen dem im ABAP-Umfeld verwendeten Verfahren sehr. Der gesamte Quellcode lag in dem Laufzeitsystem und wurde nicht extern verwaltet. Die Entwicklung erfolgte mittels Web Development Workbench, einer webbasierten Entwicklungsumgebung – nicht zu verwechseln mit der neueren Web IDE, die für Entwicklungen in der XSA-Umgebung eingesetzt wird.
Seit dem Release HANA 2.0 SPS 02 werden Eigenentwicklungen auf Basis des Classic-Modells von der SAP nicht mehr empfohlen, da seit HANA 1.0 SPS 11 die XSA als Nachfolgetechnologie zur Verfügung steht. Des Weiteren hat die SAP die XSC als »deprecated« eingestuft. Das bedeutet, dass diese Komponente nicht weiterentwickelt wird und Kunden mittelfristig keinen Support mehr erhalten werden. Details hat die SAP in dem Hinweis 2465027 »Deprecation of SAP HANA extended application services, classic model and SAP HANA Repository« veröffentlicht. Eigenentwicklungen, die Kunden auf der Basis von XSC entwickelt haben, können migriert und auch weiterhin in der XSA als Node.js-Anwendung betrieben werden. Für die Migration hat SAP einen ausführlichen Migrationsleitfaden zur Verfügung gestellt.
SAP-XS-Migrationsleitfaden
Sie finden den Leitfaden im SAP Help Portal https://help.sap.com/ durch Eingabe des Titels »SAP HANA XS Advanced Migration Guide« im Suchfeld der Startseite.
Trotz der Empfehlung der SAP, die XSC nicht mehr für Eigenentwicklungen einzusetzen, halte ich den zuvor gegebenen Überblick auch aktuell noch für wichtig, denn gerade bei der Recherche zu HANA-Funktionen werden Sie immer wieder auf Referenzen und Anleitungen stoßen, die auf den Funktionsumfang der XSC ausgelegt sind. Nicht immer sind diese klar als solche gekennzeichnet. Für die Planung Ihrer eigenen Entwicklungen ist die technologische Grundlage ein wichtiger Aspekt, um zu entscheiden, ob eine bestimmte Komponente verwendet werden sollte oder nicht.
XSC-Komponente SAP HANA Rules Framework
Dieses noch heute verfügbare Framework zur Erstellung und Ausführung von Geschäftsregeln wurde auf der Basis von XSC entwickelt. Die SAP verzichtete auf eine Neuentwicklung basierend auf XSA, da bereits ein cloudbasiertes Tool der SAP existiert (SAP Business Rules Service), das für diesen Zweck genutzt werden kann. Für die XSA wird lediglich eine Komponente zur Verfügung gestellt, die den Cloud-Service referenziert. Einen Einsatz des HANA Rules Framework auf der Basis von XSC sollten Sie gut abwägen, denn es gibt weder eine Weiterentwicklung noch einen langfristigen Support.
2.2.3 Praxisbeispiel: Eigenentwicklung mit den Extended Application Services
Die Strategie des integrierten Applikationsservers innerhalb der Datenbankplattform wurde vom Markt sehr gut angenommen. Viele SAP-Kunden mussten sich zwangsläufig, der SAP-Datenbankstrategie folgend, mit dem Thema »HANA-Datenbank« näher befassen und begannen, diese als Datenbank für die Business-Suite-Systeme in ihre Landschaft einzubinden. Da sie mit ihren integrierten Engines gleichzeitig für Entwicklungen außerhalb des ABAP-Stacks von Interesse war, beschäftigten sich zunehmend auch die Entwicklungsteams mit der HANA-Technologie.
An dieser Stelle möchte ich Ihnen ein Beispiel aus der Praxis geben, das den Mehrwert der Extended Application Services verdeutlicht:
Ein Entwicklerteam wurde mit der Spezifikation einer Anwendung beauftragt, die geografische Aspekte mit verschiedenen Geschäftskennzahlen in Verbindung setzen sollte. Das Team begann damit, eine passende Lösung für die Problemstellung zu suchen. Da die Kennzahlen in einem SAP-System lagen, bei dem die Daten bereits auf die HANA-DB migriert waren, wurde zunächst eine Schnittstelle zur Anbindung dieser Daten spezifiziert. Bei den Diskussionen zu dieser Schnittstelle kam heraus, dass die HANA-Datenbank nicht nur bereits alle benötigten Kennzahlen beinhaltete, sondern alternativ auch für die Verknüpfung mit den geografischen Daten verwendet werden konnte. Daraufhin wurde der Funktionsumfang der Spatial Engine der HANA-Plattform genauer analysiert, und die Experten waren mit den Analyseergebnissen sehr zufrieden. Also hatte man bereits zwei Bausteine der Lösung, die innerhalb der HANA-Datenbank abgebildet werden konnten.
Anschließend wurde die Frage betrachtet, ob man nicht die XS Engine nutzen könne, um die zusätzlich benötigte Anwendungslogik zu implementieren. Da bei der Analyse keine Showstopper gefunden wurden, entschieden sich die Projektmitglieder, die Entwicklung der Anwendungslogik auf dieser Engine durchzuführen. Die beauftragte Anwendung wurde also komplett als native HANA-Applikation entwickelt – und erfüllte ihren Zweck. Allerdings war die ausschließliche Nutzung von XSJS für die Anwendungslogik nicht ganz optimal. Dies hatte folgende Gründe:
- Zu Beginn des Projekts gab es niemanden, der sich mit der XSJS-Sprache gut auskannte. Die Entwickler waren entweder Experten in Spatial-Themen oder kannten sich eher mit Java oder ABAP aus.
Da das Team klein war, wurde nach der Methode »Learning by doing« begonnen. Nach dem einen oder anderen Stolperstein wurde auch der mit der XS Engine entwickelte Teil der Anwendung erfolgreich umgesetzt. Aber die Entwicklung dauerte länger, da das fehlende Know-how erst aufgebaut werden musste. - Die XS Engine war zu eng mit den HANA-Prozessen verwoben. Abstürze der Anwendung konnten zur Folge haben, dass das gesamte HANA-System in Mitleidenschaft gezogen wurde. Zusätzlich konnte die XS-Classic-Umgebung nicht unabhängig von den HANA-Prozessen skaliert werden. Eine Skalierung hätte den gesamten Stack betroffen, also auch die übrigen HANA-Prozesse. Wünschenswert wäre eine unabhängige Skalierung der XS Engine gewesen.
Neben diesen Hauptkritikpunkten zur XS Engine wurden noch zwei weitere Aspekte angeführt:
- Es arbeiteten noch andere Entwicklungsprojekte auf derselben Engine. Die Projekte konnten daher zur Laufzeit nicht entkoppelt werden.
- Wenn mehr als ein Entwickler eine Datei editieren wollte, kam es immer wieder zu Problemen. Daher wurde der Entwicklungsprozess innerhalb der Teams kritisiert.
Das abschließende Projektfeedback fiel trotz der Kritikpunkte sehr gut aus. Der direkte Zugriff auf die Kennzahlen und die leicht zu nutzende Spatial Engine wurden als sehr positiv angesehen. Nur die Umsetzung des integrierten Applikationsservers wurde aus den zuvor genannten Gründen bemängelt.
So oder so ähnlich haben vermutlich viele Kunden ihre Erfahrungen gesammelt und der SAP mitgeteilt.
Das Unternehmen reagierte und veröffentlichte mit der HANA-Version 1.0 SPS 11 die erste Fassung der XS Advanced (XSA). Mit dieser Anpassung wurde nicht nur ein Update für die XS-Umgebung ausgerollt, sondern ein Richtungswechsel vollzogen. Im Vergleich zu ihrem klassischen Vorgänger zeigte sich die XS Engine in der »Advanced«-Variante als komplett neue und vollumfängliche Applikationsplattform. Zudem endete der Weg einer eigenen JavaScript-Sprache. Anstelle von XSJS wurde nun ein umfangreiches Set an Sprachen unterstützt.
Autoren
Bewertungen
B. Wayne
05.02.2022
-. -
30.08.2021
Gut auf den Punkt gebracht Das Buch "Cloud-Entwicklung in SAP HANA" gibt eine gute Übersicht über die Möglichkeiten, die eine SAP HANA den Entwicklern bietet. Es wird das Full-Stack-Development betrachtet und mit einfach verständlichen Beispielen eine mögliche Software-Architektur aufgezeigt. Die kleinen Teile der Beispielappllikation erstrecken sich in Form von Microservices über verschiedenste Technologien. Zusätzlich zur Entwicklung wird auch das Lifecycle Management der Anwendungen betrachtet. Eik Sunke schafft es mit einfach verständlichen Worten die komplexe Architektur einer HANA zu beschreiben und holt seine Leser auf verschiedenen Wissensstufen gut ab. Daher ist aus meiner Sicht das Buch für jeden geeignet, der sich einen Überblick über die Möglichkeiten verschaffen möchte, um dann aus dem Pool der Möglichkeiten die auf seine Anwendungen bzw. Anforderungen passenden Technologien einzusetzen und das Gelernte zu adaptieren.
Egal ob Bücher, Videos oder Online-Trainings: Unsere Produkte vermitteln SAP-Wissen kompakt und praxisnah, sodass Sie es auch bei wenig Zeit direkt in Ihren Arbeitsalltag integrieren können. Sie profitieren von einer breiten Abdeckung relevanter SAP-Themen, hochwertigen Inhalten in vier Sprachen und Lernformaten, die sich an Ihren individuellen Bedürfnissen orientieren. So bleiben Sie fachlich auf dem neuesten Stand und bauen Ihr Wissen kontinuierlich aus.
Unsere Bücher zeichnen sich durch einen klaren Praxisfokus und eine kompakte, verständliche Darstellung aus. Wir erklären komplexe SAP-Themen auf den Punkt – ohne unnötige Marketing-Phrasen. So kommen Leser schnell zum Wesentlichen und können das Wissen direkt anwenden.
Unsere Print-Bücher kann man innerhalb von 14 Tagen im Originalzustand und auf eigene Kosten zurückschicken.
Aktuell ist ein direkter Buchversand nur innerhalb Deutschlands möglich. Für Buch-Bestellungen außerhalb von Deutschland empfehlen wir den Kauf via Amazon. Den Link finden sie in einem Produkt bei uns um Webshop auf "E-Book kaufen" klicken. Auf Amazon werden ihnen dann die E-Book und Printvariante des Buches zum Kauf angezeigt.
Zugriff auf alle Inhalte erhalten Sie schon ab 19€ pro Monat mit unserem Digital-Abo.
Unser Team ist jederzeit für Ihre Fragen da und meldet sich schnellst möglich (max 1-2 Tage). Kontaktieren Sie uns auch, wenn Sie Fragen an eine Autorin/einen Autor haben. E-Mail: contact@espresso-tutorials.com

